uiconfig-blueprint 0.0.3 → 0.1.0-dev.2

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 (407) hide show
  1. package/README.md +28 -3
  2. package/dist/ConfigObject.d.ts +5 -3
  3. package/dist/allPaths-zMnhJyQa.js +23 -0
  4. package/dist/{allPaths-3YKfhB8Q.js.map → allPaths-zMnhJyQa.js.map} +1 -1
  5. package/dist/{allPathsLoader-lWFPuUtu.js → allPathsLoader-eCsEfMwc.js} +5 -5
  6. package/dist/{allPathsLoader-lWFPuUtu.js.map → allPathsLoader-eCsEfMwc.js.map} +1 -1
  7. package/dist/bpComponents/BPButtonComponent.d.ts +1 -1
  8. package/dist/bpComponents/BPColorInputComponent.d.ts +1 -2
  9. package/dist/bpComponents/BPComponent.d.ts +7 -3
  10. package/dist/bpComponents/BPDropdownInputComponent.d.ts +1 -2
  11. package/dist/bpComponents/BPFileComponent.d.ts +1 -2
  12. package/dist/bpComponents/BPFolderComponent.d.ts +1 -1
  13. package/dist/bpComponents/BPInputComponent.d.ts +2 -2
  14. package/dist/bpComponents/BPNumberInputComponent.d.ts +1 -2
  15. package/dist/bpComponents/BPPanelComponent.d.ts +1 -2
  16. package/dist/bpComponents/BPSliderInputComponent.d.ts +1 -2
  17. package/dist/bpComponents/BPTextInputComponent.d.ts +1 -2
  18. package/dist/bpComponents/BPToggleInputComponent.d.ts +2 -3
  19. package/dist/bpComponents/BPTreeComponent.d.ts +15 -11
  20. package/dist/bpComponents/BPTreeFolderComponent.d.ts +2 -2
  21. package/dist/bpComponents/BPVectorInputComponent.d.ts +1 -2
  22. package/dist/components/AppToaster.d.ts +6 -0
  23. package/dist/components/ConfigurationPanelComponent.d.ts +4 -0
  24. package/dist/components/DialogContext.d.ts +52 -0
  25. package/dist/components/DraggableIcon.d.ts +1 -1
  26. package/dist/components/ExtendedNumericInput.d.ts +1 -1
  27. package/dist/components/FormGroupComponent.d.ts +2 -2
  28. package/dist/components/InspectorStackComponent.d.ts +1 -2
  29. package/dist/components/VisualStyleContext.d.ts +10 -1
  30. package/dist/components/bpIconWrapper.d.ts +2 -2
  31. package/dist/components/loadingState.d.ts +4 -0
  32. package/dist/components/variableIcons.d.ts +40 -41
  33. package/dist/{index-RJDPvlPL.js → index--Vpcr7_d.js} +3 -3
  34. package/dist/{index-RJDPvlPL.js.map → index--Vpcr7_d.js.map} +1 -1
  35. package/dist/{index-sUDdkVfJ.js → index-QyqZQ9mG.js} +3 -3
  36. package/dist/{index-sUDdkVfJ.js.map → index-QyqZQ9mG.js.map} +1 -1
  37. package/dist/{index-zXngzS2o.js → index-f-ZwHBj3.js} +2786 -2796
  38. package/dist/index-f-ZwHBj3.js.map +1 -0
  39. package/dist/index.js +20 -20
  40. package/dist/index.js.map +1 -1
  41. package/dist/index.mjs +3 -3
  42. package/dist/lib.d.ts +33 -0
  43. package/dist/{splitPathsBySizeLoader-97pYQiA7.js → splitPathsBySizeLoader-xt9FLbSp.js} +6 -6
  44. package/dist/{splitPathsBySizeLoader-97pYQiA7.js.map → splitPathsBySizeLoader-xt9FLbSp.js.map} +1 -1
  45. package/docs/assets/highlight.css +17 -17
  46. package/docs/assets/main.js +4 -3
  47. package/docs/assets/navigation.js +1 -0
  48. package/docs/assets/search.js +1 -1
  49. package/docs/assets/style.css +484 -369
  50. package/docs/classes/UI.html +22 -403
  51. package/docs/classes/UiConfigRendererBlueprint.html +22 -404
  52. package/docs/index.html +38 -107
  53. package/docs/modules.html +3 -50
  54. package/lib/cjs/ConfigObject.d.ts +18 -0
  55. package/lib/cjs/ConfigObject.js +82 -0
  56. package/lib/cjs/ConfigObject.js.map +1 -0
  57. package/lib/cjs/UiConfigRendererBlueprint.d.ts +13 -0
  58. package/lib/cjs/UiConfigRendererBlueprint.js +56 -0
  59. package/lib/cjs/UiConfigRendererBlueprint.js.map +1 -0
  60. package/lib/cjs/bpComponents/BPButtonComponent.d.ts +8 -0
  61. package/lib/cjs/bpComponents/BPButtonComponent.js +19 -0
  62. package/lib/cjs/bpComponents/BPButtonComponent.js.map +1 -0
  63. package/lib/cjs/bpComponents/BPColorInputComponent.d.ts +24 -0
  64. package/lib/cjs/bpComponents/BPColorInputComponent.js +127 -0
  65. package/lib/cjs/bpComponents/BPColorInputComponent.js.map +1 -0
  66. package/lib/cjs/bpComponents/BPComponent.d.ts +29 -0
  67. package/lib/cjs/bpComponents/BPComponent.js +59 -0
  68. package/lib/cjs/bpComponents/BPComponent.js.map +1 -0
  69. package/lib/cjs/bpComponents/BPContainerComponent.d.ts +21 -0
  70. package/lib/cjs/bpComponents/BPContainerComponent.js +54 -0
  71. package/lib/cjs/bpComponents/BPContainerComponent.js.map +1 -0
  72. package/lib/cjs/bpComponents/BPDropdownInputComponent.d.ts +15 -0
  73. package/lib/cjs/bpComponents/BPDropdownInputComponent.js +43 -0
  74. package/lib/cjs/bpComponents/BPDropdownInputComponent.js.map +1 -0
  75. package/lib/cjs/bpComponents/BPFileComponent.d.ts +25 -0
  76. package/lib/cjs/bpComponents/BPFileComponent.js +69 -0
  77. package/lib/cjs/bpComponents/BPFileComponent.js.map +1 -0
  78. package/lib/cjs/bpComponents/BPFolderComponent.d.ts +16 -0
  79. package/lib/cjs/bpComponents/BPFolderComponent.js +39 -0
  80. package/lib/cjs/bpComponents/BPFolderComponent.js.map +1 -0
  81. package/lib/cjs/bpComponents/BPInputComponent.d.ts +11 -0
  82. package/lib/cjs/bpComponents/BPInputComponent.js +34 -0
  83. package/lib/cjs/bpComponents/BPInputComponent.js.map +1 -0
  84. package/lib/cjs/bpComponents/BPLabelledComponent.d.ts +8 -0
  85. package/lib/cjs/bpComponents/BPLabelledComponent.js +14 -0
  86. package/lib/cjs/bpComponents/BPLabelledComponent.js.map +1 -0
  87. package/lib/cjs/bpComponents/BPNumberInputComponent.d.ts +10 -0
  88. package/lib/cjs/bpComponents/BPNumberInputComponent.js +40 -0
  89. package/lib/cjs/bpComponents/BPNumberInputComponent.js.map +1 -0
  90. package/lib/cjs/bpComponents/BPPanelComponent.d.ts +16 -0
  91. package/lib/cjs/bpComponents/BPPanelComponent.js +35 -0
  92. package/lib/cjs/bpComponents/BPPanelComponent.js.map +1 -0
  93. package/lib/cjs/bpComponents/BPSliderInputComponent.d.ts +14 -0
  94. package/lib/cjs/bpComponents/BPSliderInputComponent.js +41 -0
  95. package/lib/cjs/bpComponents/BPSliderInputComponent.js.map +1 -0
  96. package/lib/cjs/bpComponents/BPTextInputComponent.d.ts +7 -0
  97. package/lib/cjs/bpComponents/BPTextInputComponent.js +19 -0
  98. package/lib/cjs/bpComponents/BPTextInputComponent.js.map +1 -0
  99. package/lib/cjs/bpComponents/BPToggleInputComponent.d.ts +8 -0
  100. package/lib/cjs/bpComponents/BPToggleInputComponent.js +22 -0
  101. package/lib/cjs/bpComponents/BPToggleInputComponent.js.map +1 -0
  102. package/lib/cjs/bpComponents/BPTreeComponent.d.ts +36 -0
  103. package/lib/cjs/bpComponents/BPTreeComponent.js +131 -0
  104. package/lib/cjs/bpComponents/BPTreeComponent.js.map +1 -0
  105. package/lib/cjs/bpComponents/BPTreeFolderComponent.d.ts +10 -0
  106. package/lib/cjs/bpComponents/BPTreeFolderComponent.js +40 -0
  107. package/lib/cjs/bpComponents/BPTreeFolderComponent.js.map +1 -0
  108. package/lib/cjs/bpComponents/BPValueComponent.d.ts +16 -0
  109. package/lib/cjs/bpComponents/BPValueComponent.js +46 -0
  110. package/lib/cjs/bpComponents/BPValueComponent.js.map +1 -0
  111. package/lib/cjs/bpComponents/BPVectorInputComponent.d.ts +19 -0
  112. package/lib/cjs/bpComponents/BPVectorInputComponent.js +110 -0
  113. package/lib/cjs/bpComponents/BPVectorInputComponent.js.map +1 -0
  114. package/lib/cjs/components/ConfigurationPanelComponent.d.ts +4 -0
  115. package/lib/cjs/components/ConfigurationPanelComponent.js +30 -0
  116. package/lib/cjs/components/ConfigurationPanelComponent.js.map +1 -0
  117. package/lib/cjs/components/DialogContext.d.ts +48 -0
  118. package/lib/cjs/components/DialogContext.js +79 -0
  119. package/lib/cjs/components/DialogContext.js.map +1 -0
  120. package/lib/cjs/components/DraggableIcon.d.ts +19 -0
  121. package/lib/cjs/components/DraggableIcon.js +70 -0
  122. package/lib/cjs/components/DraggableIcon.js.map +1 -0
  123. package/lib/cjs/components/ExtendedNumericInput.d.ts +25 -0
  124. package/lib/cjs/components/ExtendedNumericInput.js +174 -0
  125. package/lib/cjs/components/ExtendedNumericInput.js.map +1 -0
  126. package/lib/cjs/components/FileComponent.d.ts +7 -0
  127. package/lib/cjs/components/FileComponent.js +49 -0
  128. package/lib/cjs/components/FileComponent.js.map +1 -0
  129. package/lib/cjs/components/FormGroupComponent.d.ts +6 -0
  130. package/lib/cjs/components/FormGroupComponent.js +16 -0
  131. package/lib/cjs/components/FormGroupComponent.js.map +1 -0
  132. package/lib/cjs/components/InspectorStackComponent.d.ts +4 -0
  133. package/lib/cjs/components/InspectorStackComponent.js +27 -0
  134. package/lib/cjs/components/InspectorStackComponent.js.map +1 -0
  135. package/lib/cjs/components/VisualStyleContext.d.ts +119 -0
  136. package/lib/cjs/components/VisualStyleContext.js +60 -0
  137. package/lib/cjs/components/VisualStyleContext.js.map +1 -0
  138. package/lib/cjs/components/bpIconWrapper.d.ts +2 -0
  139. package/lib/cjs/components/bpIconWrapper.js +9 -0
  140. package/lib/cjs/components/bpIconWrapper.js.map +1 -0
  141. package/lib/cjs/components/loadingState.d.ts +4 -0
  142. package/lib/cjs/components/loadingState.js +16 -0
  143. package/lib/cjs/components/loadingState.js.map +1 -0
  144. package/lib/cjs/components/variableIcons.d.ts +40 -0
  145. package/lib/cjs/components/variableIcons.js +46 -0
  146. package/lib/cjs/components/variableIcons.js.map +1 -0
  147. package/lib/cjs/contexts.d.ts +1 -0
  148. package/lib/cjs/contexts.js +3 -0
  149. package/lib/cjs/contexts.js.map +1 -0
  150. package/lib/cjs/index.d.ts +4 -0
  151. package/lib/cjs/index.js +9 -0
  152. package/lib/cjs/index.js.map +1 -0
  153. package/lib/cjs/lib.d.ts +32 -0
  154. package/lib/cjs/lib.js +49 -0
  155. package/lib/cjs/lib.js.map +1 -0
  156. package/lib/cjs/threejs.d.ts +2 -0
  157. package/lib/cjs/threejs.js +3 -0
  158. package/lib/cjs/threejs.js.map +1 -0
  159. package/lib/css/renderer.css +13110 -0
  160. package/lib/css/renderer.css.map +1 -0
  161. package/lib/esm/ConfigObject.d.ts +18 -0
  162. package/lib/esm/ConfigObject.js +78 -0
  163. package/lib/esm/ConfigObject.js.map +1 -0
  164. package/lib/esm/UiConfigRendererBlueprint.d.ts +13 -0
  165. package/lib/esm/UiConfigRendererBlueprint.js +52 -0
  166. package/lib/esm/UiConfigRendererBlueprint.js.map +1 -0
  167. package/lib/esm/bpComponents/BPButtonComponent.d.ts +8 -0
  168. package/lib/esm/bpComponents/BPButtonComponent.js +15 -0
  169. package/lib/esm/bpComponents/BPButtonComponent.js.map +1 -0
  170. package/lib/esm/bpComponents/BPColorInputComponent.d.ts +24 -0
  171. package/lib/esm/bpComponents/BPColorInputComponent.js +123 -0
  172. package/lib/esm/bpComponents/BPColorInputComponent.js.map +1 -0
  173. package/lib/esm/bpComponents/BPComponent.d.ts +29 -0
  174. package/lib/esm/bpComponents/BPComponent.js +55 -0
  175. package/lib/esm/bpComponents/BPComponent.js.map +1 -0
  176. package/lib/esm/bpComponents/BPContainerComponent.d.ts +21 -0
  177. package/lib/esm/bpComponents/BPContainerComponent.js +50 -0
  178. package/lib/esm/bpComponents/BPContainerComponent.js.map +1 -0
  179. package/lib/esm/bpComponents/BPDropdownInputComponent.d.ts +15 -0
  180. package/lib/esm/bpComponents/BPDropdownInputComponent.js +39 -0
  181. package/lib/esm/bpComponents/BPDropdownInputComponent.js.map +1 -0
  182. package/lib/esm/bpComponents/BPFileComponent.d.ts +25 -0
  183. package/lib/esm/bpComponents/BPFileComponent.js +65 -0
  184. package/lib/esm/bpComponents/BPFileComponent.js.map +1 -0
  185. package/lib/esm/bpComponents/BPFolderComponent.d.ts +16 -0
  186. package/lib/esm/bpComponents/BPFolderComponent.js +34 -0
  187. package/lib/esm/bpComponents/BPFolderComponent.js.map +1 -0
  188. package/lib/esm/bpComponents/BPInputComponent.d.ts +11 -0
  189. package/lib/esm/bpComponents/BPInputComponent.js +30 -0
  190. package/lib/esm/bpComponents/BPInputComponent.js.map +1 -0
  191. package/lib/esm/bpComponents/BPLabelledComponent.d.ts +8 -0
  192. package/lib/esm/bpComponents/BPLabelledComponent.js +10 -0
  193. package/lib/esm/bpComponents/BPLabelledComponent.js.map +1 -0
  194. package/lib/esm/bpComponents/BPNumberInputComponent.d.ts +10 -0
  195. package/lib/esm/bpComponents/BPNumberInputComponent.js +36 -0
  196. package/lib/esm/bpComponents/BPNumberInputComponent.js.map +1 -0
  197. package/lib/esm/bpComponents/BPPanelComponent.d.ts +16 -0
  198. package/lib/esm/bpComponents/BPPanelComponent.js +31 -0
  199. package/lib/esm/bpComponents/BPPanelComponent.js.map +1 -0
  200. package/lib/esm/bpComponents/BPSliderInputComponent.d.ts +14 -0
  201. package/lib/esm/bpComponents/BPSliderInputComponent.js +37 -0
  202. package/lib/esm/bpComponents/BPSliderInputComponent.js.map +1 -0
  203. package/lib/esm/bpComponents/BPTextInputComponent.d.ts +7 -0
  204. package/lib/esm/bpComponents/BPTextInputComponent.js +15 -0
  205. package/lib/esm/bpComponents/BPTextInputComponent.js.map +1 -0
  206. package/lib/esm/bpComponents/BPToggleInputComponent.d.ts +8 -0
  207. package/lib/esm/bpComponents/BPToggleInputComponent.js +18 -0
  208. package/lib/esm/bpComponents/BPToggleInputComponent.js.map +1 -0
  209. package/lib/esm/bpComponents/BPTreeComponent.d.ts +36 -0
  210. package/lib/esm/bpComponents/BPTreeComponent.js +127 -0
  211. package/lib/esm/bpComponents/BPTreeComponent.js.map +1 -0
  212. package/lib/esm/bpComponents/BPTreeFolderComponent.d.ts +10 -0
  213. package/lib/esm/bpComponents/BPTreeFolderComponent.js +37 -0
  214. package/lib/esm/bpComponents/BPTreeFolderComponent.js.map +1 -0
  215. package/lib/esm/bpComponents/BPValueComponent.d.ts +16 -0
  216. package/lib/esm/bpComponents/BPValueComponent.js +42 -0
  217. package/lib/esm/bpComponents/BPValueComponent.js.map +1 -0
  218. package/lib/esm/bpComponents/BPVectorInputComponent.d.ts +19 -0
  219. package/lib/esm/bpComponents/BPVectorInputComponent.js +106 -0
  220. package/lib/esm/bpComponents/BPVectorInputComponent.js.map +1 -0
  221. package/lib/esm/components/AppToaster.d.ts +6 -0
  222. package/lib/esm/components/AppToaster.js +8 -0
  223. package/lib/esm/components/AppToaster.js.map +1 -0
  224. package/lib/esm/components/ConfigurationPanelComponent.d.ts +4 -0
  225. package/lib/esm/components/ConfigurationPanelComponent.js +26 -0
  226. package/lib/esm/components/ConfigurationPanelComponent.js.map +1 -0
  227. package/lib/esm/components/DialogContext.d.ts +52 -0
  228. package/lib/esm/components/DialogContext.js +89 -0
  229. package/lib/esm/components/DialogContext.js.map +1 -0
  230. package/lib/esm/components/DraggableIcon.d.ts +19 -0
  231. package/lib/esm/components/DraggableIcon.js +66 -0
  232. package/lib/esm/components/DraggableIcon.js.map +1 -0
  233. package/lib/esm/components/ExtendedNumericInput.d.ts +25 -0
  234. package/lib/esm/components/ExtendedNumericInput.js +170 -0
  235. package/lib/esm/components/ExtendedNumericInput.js.map +1 -0
  236. package/lib/esm/components/FileComponent.d.ts +7 -0
  237. package/lib/esm/components/FileComponent.js +45 -0
  238. package/lib/esm/components/FileComponent.js.map +1 -0
  239. package/lib/esm/components/FormGroupComponent.d.ts +6 -0
  240. package/lib/esm/components/FormGroupComponent.js +12 -0
  241. package/lib/esm/components/FormGroupComponent.js.map +1 -0
  242. package/lib/esm/components/InspectorStackComponent.d.ts +4 -0
  243. package/lib/esm/components/InspectorStackComponent.js +23 -0
  244. package/lib/esm/components/InspectorStackComponent.js.map +1 -0
  245. package/lib/esm/components/VisualStyleContext.d.ts +119 -0
  246. package/lib/esm/components/VisualStyleContext.js +53 -0
  247. package/lib/esm/components/VisualStyleContext.js.map +1 -0
  248. package/lib/esm/components/bpIconWrapper.d.ts +2 -0
  249. package/lib/esm/components/bpIconWrapper.js +5 -0
  250. package/lib/esm/components/bpIconWrapper.js.map +1 -0
  251. package/lib/esm/components/loadingState.d.ts +4 -0
  252. package/lib/esm/components/loadingState.js +21 -0
  253. package/lib/esm/components/loadingState.js.map +1 -0
  254. package/lib/esm/components/variableIcons.d.ts +40 -0
  255. package/lib/esm/components/variableIcons.js +43 -0
  256. package/lib/esm/components/variableIcons.js.map +1 -0
  257. package/lib/esm/contexts.d.ts +1 -0
  258. package/lib/esm/contexts.js +2 -0
  259. package/lib/esm/contexts.js.map +1 -0
  260. package/lib/esm/index.d.ts +4 -0
  261. package/lib/esm/index.js +5 -0
  262. package/lib/esm/index.js.map +1 -0
  263. package/lib/esm/lib.d.ts +33 -0
  264. package/lib/esm/lib.js +34 -0
  265. package/lib/esm/lib.js.map +1 -0
  266. package/lib/esm/threejs.d.ts +2 -0
  267. package/lib/esm/threejs.js +2 -0
  268. package/lib/esm/threejs.js.map +1 -0
  269. package/lib/esnext/ConfigObject.d.ts +18 -0
  270. package/lib/esnext/ConfigObject.js +75 -0
  271. package/lib/esnext/ConfigObject.js.map +1 -0
  272. package/lib/esnext/UiConfigRendererBlueprint.d.ts +13 -0
  273. package/lib/esnext/UiConfigRendererBlueprint.js +52 -0
  274. package/lib/esnext/UiConfigRendererBlueprint.js.map +1 -0
  275. package/lib/esnext/bpComponents/BPButtonComponent.d.ts +8 -0
  276. package/lib/esnext/bpComponents/BPButtonComponent.js +15 -0
  277. package/lib/esnext/bpComponents/BPButtonComponent.js.map +1 -0
  278. package/lib/esnext/bpComponents/BPColorInputComponent.d.ts +24 -0
  279. package/lib/esnext/bpComponents/BPColorInputComponent.js +110 -0
  280. package/lib/esnext/bpComponents/BPColorInputComponent.js.map +1 -0
  281. package/lib/esnext/bpComponents/BPComponent.d.ts +29 -0
  282. package/lib/esnext/bpComponents/BPComponent.js +46 -0
  283. package/lib/esnext/bpComponents/BPComponent.js.map +1 -0
  284. package/lib/esnext/bpComponents/BPContainerComponent.d.ts +21 -0
  285. package/lib/esnext/bpComponents/BPContainerComponent.js +51 -0
  286. package/lib/esnext/bpComponents/BPContainerComponent.js.map +1 -0
  287. package/lib/esnext/bpComponents/BPDropdownInputComponent.d.ts +15 -0
  288. package/lib/esnext/bpComponents/BPDropdownInputComponent.js +40 -0
  289. package/lib/esnext/bpComponents/BPDropdownInputComponent.js.map +1 -0
  290. package/lib/esnext/bpComponents/BPFileComponent.d.ts +25 -0
  291. package/lib/esnext/bpComponents/BPFileComponent.js +52 -0
  292. package/lib/esnext/bpComponents/BPFileComponent.js.map +1 -0
  293. package/lib/esnext/bpComponents/BPFolderComponent.d.ts +16 -0
  294. package/lib/esnext/bpComponents/BPFolderComponent.js +30 -0
  295. package/lib/esnext/bpComponents/BPFolderComponent.js.map +1 -0
  296. package/lib/esnext/bpComponents/BPInputComponent.d.ts +11 -0
  297. package/lib/esnext/bpComponents/BPInputComponent.js +19 -0
  298. package/lib/esnext/bpComponents/BPInputComponent.js.map +1 -0
  299. package/lib/esnext/bpComponents/BPLabelledComponent.d.ts +8 -0
  300. package/lib/esnext/bpComponents/BPLabelledComponent.js +13 -0
  301. package/lib/esnext/bpComponents/BPLabelledComponent.js.map +1 -0
  302. package/lib/esnext/bpComponents/BPNumberInputComponent.d.ts +10 -0
  303. package/lib/esnext/bpComponents/BPNumberInputComponent.js +21 -0
  304. package/lib/esnext/bpComponents/BPNumberInputComponent.js.map +1 -0
  305. package/lib/esnext/bpComponents/BPPanelComponent.d.ts +16 -0
  306. package/lib/esnext/bpComponents/BPPanelComponent.js +31 -0
  307. package/lib/esnext/bpComponents/BPPanelComponent.js.map +1 -0
  308. package/lib/esnext/bpComponents/BPSliderInputComponent.d.ts +14 -0
  309. package/lib/esnext/bpComponents/BPSliderInputComponent.js +39 -0
  310. package/lib/esnext/bpComponents/BPSliderInputComponent.js.map +1 -0
  311. package/lib/esnext/bpComponents/BPTextInputComponent.d.ts +7 -0
  312. package/lib/esnext/bpComponents/BPTextInputComponent.js +15 -0
  313. package/lib/esnext/bpComponents/BPTextInputComponent.js.map +1 -0
  314. package/lib/esnext/bpComponents/BPToggleInputComponent.d.ts +8 -0
  315. package/lib/esnext/bpComponents/BPToggleInputComponent.js +18 -0
  316. package/lib/esnext/bpComponents/BPToggleInputComponent.js.map +1 -0
  317. package/lib/esnext/bpComponents/BPTreeComponent.d.ts +36 -0
  318. package/lib/esnext/bpComponents/BPTreeComponent.js +111 -0
  319. package/lib/esnext/bpComponents/BPTreeComponent.js.map +1 -0
  320. package/lib/esnext/bpComponents/BPTreeFolderComponent.d.ts +10 -0
  321. package/lib/esnext/bpComponents/BPTreeFolderComponent.js +23 -0
  322. package/lib/esnext/bpComponents/BPTreeFolderComponent.js.map +1 -0
  323. package/lib/esnext/bpComponents/BPValueComponent.d.ts +16 -0
  324. package/lib/esnext/bpComponents/BPValueComponent.js +29 -0
  325. package/lib/esnext/bpComponents/BPValueComponent.js.map +1 -0
  326. package/lib/esnext/bpComponents/BPVectorInputComponent.d.ts +19 -0
  327. package/lib/esnext/bpComponents/BPVectorInputComponent.js +93 -0
  328. package/lib/esnext/bpComponents/BPVectorInputComponent.js.map +1 -0
  329. package/lib/esnext/components/ConfigurationPanelComponent.d.ts +4 -0
  330. package/lib/esnext/components/ConfigurationPanelComponent.js +26 -0
  331. package/lib/esnext/components/ConfigurationPanelComponent.js.map +1 -0
  332. package/lib/esnext/components/DialogContext.d.ts +48 -0
  333. package/lib/esnext/components/DialogContext.js +55 -0
  334. package/lib/esnext/components/DialogContext.js.map +1 -0
  335. package/lib/esnext/components/DraggableIcon.d.ts +19 -0
  336. package/lib/esnext/components/DraggableIcon.js +62 -0
  337. package/lib/esnext/components/DraggableIcon.js.map +1 -0
  338. package/lib/esnext/components/ExtendedNumericInput.d.ts +25 -0
  339. package/lib/esnext/components/ExtendedNumericInput.js +151 -0
  340. package/lib/esnext/components/ExtendedNumericInput.js.map +1 -0
  341. package/lib/esnext/components/FileComponent.d.ts +7 -0
  342. package/lib/esnext/components/FileComponent.js +42 -0
  343. package/lib/esnext/components/FileComponent.js.map +1 -0
  344. package/lib/esnext/components/FormGroupComponent.d.ts +6 -0
  345. package/lib/esnext/components/FormGroupComponent.js +11 -0
  346. package/lib/esnext/components/FormGroupComponent.js.map +1 -0
  347. package/lib/esnext/components/InspectorStackComponent.d.ts +4 -0
  348. package/lib/esnext/components/InspectorStackComponent.js +23 -0
  349. package/lib/esnext/components/InspectorStackComponent.js.map +1 -0
  350. package/lib/esnext/components/VisualStyleContext.d.ts +119 -0
  351. package/lib/esnext/components/VisualStyleContext.js +53 -0
  352. package/lib/esnext/components/VisualStyleContext.js.map +1 -0
  353. package/lib/esnext/components/bpIconWrapper.d.ts +2 -0
  354. package/lib/esnext/components/bpIconWrapper.js +5 -0
  355. package/lib/esnext/components/bpIconWrapper.js.map +1 -0
  356. package/lib/esnext/components/loadingState.d.ts +4 -0
  357. package/lib/esnext/components/loadingState.js +12 -0
  358. package/lib/esnext/components/loadingState.js.map +1 -0
  359. package/lib/esnext/components/variableIcons.d.ts +40 -0
  360. package/lib/esnext/components/variableIcons.js +43 -0
  361. package/lib/esnext/components/variableIcons.js.map +1 -0
  362. package/lib/esnext/contexts.d.ts +1 -0
  363. package/lib/esnext/contexts.js +2 -0
  364. package/lib/esnext/contexts.js.map +1 -0
  365. package/lib/esnext/index.d.ts +4 -0
  366. package/lib/esnext/index.js +5 -0
  367. package/lib/esnext/index.js.map +1 -0
  368. package/lib/esnext/lib.d.ts +32 -0
  369. package/lib/esnext/lib.js +33 -0
  370. package/lib/esnext/lib.js.map +1 -0
  371. package/lib/esnext/threejs.d.ts +2 -0
  372. package/lib/esnext/threejs.js +2 -0
  373. package/lib/esnext/threejs.js.map +1 -0
  374. package/package.json +46 -13
  375. package/src/ConfigObject.tsx +4 -4
  376. package/src/UiConfigRendererBlueprint.tsx +2 -15
  377. package/src/bpComponents/BPButtonComponent.scss +1 -0
  378. package/src/bpComponents/BPColorInputComponent.tsx +1 -1
  379. package/src/bpComponents/BPComponent.tsx +9 -3
  380. package/src/bpComponents/BPDropdownInputComponent.tsx +0 -1
  381. package/src/bpComponents/BPFileComponent.tsx +2 -3
  382. package/src/bpComponents/BPFolderComponent.scss +2 -2
  383. package/src/bpComponents/BPInputComponent.tsx +1 -1
  384. package/src/bpComponents/BPPanelComponent.tsx +0 -1
  385. package/src/bpComponents/BPSliderInputComponent.tsx +0 -1
  386. package/src/bpComponents/BPTextInputComponent.tsx +1 -1
  387. package/src/bpComponents/BPToggleInputComponent.tsx +1 -1
  388. package/src/bpComponents/BPTreeComponent.tsx +48 -31
  389. package/src/bpComponents/BPTreeFolderComponent.tsx +5 -5
  390. package/src/components/AppToaster.tsx +18 -0
  391. package/src/components/ConfigurationPanelComponent.tsx +63 -0
  392. package/src/components/DialogContext.tsx +150 -0
  393. package/src/components/DraggableIcon.tsx +1 -0
  394. package/src/components/ExtendedNumericInput.tsx +1 -1
  395. package/src/components/FormGroupComponent.tsx +1 -1
  396. package/src/components/InspectorStackComponent.tsx +3 -33
  397. package/src/components/VisualStyleContext.tsx +33 -1
  398. package/src/components/bpIconWrapper.tsx +1 -1
  399. package/src/components/common.scss +6 -0
  400. package/src/components/loadingState.tsx +11 -0
  401. package/src/components/variableIcons.tsx +0 -1
  402. package/src/lib.ts +33 -0
  403. package/src/renderer.scss +59 -56
  404. package/src/tsconfig.json +6 -0
  405. package/tsconfig.json +1 -1
  406. package/dist/allPaths-3YKfhB8Q.js +0 -23
  407. package/dist/index-zXngzS2o.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-f-ZwHBj3.js","sources":["../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/jsx-runtime.js","../node_modules/ts-browser-helpers/dist/bundle.esm.js","../node_modules/uiconfig.js/dist/index.mjs","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/index.js","../node_modules/react-dom/client.js","../node_modules/@blueprintjs/core/lib/esm/common/alignment.js","../node_modules/@blueprintjs/core/lib/esm/common/elevation.js","../node_modules/@blueprintjs/core/lib/esm/common/intent.js","../node_modules/@blueprintjs/core/lib/esm/common/position.js","../node_modules/@blueprintjs/core/lib/esm/common/classes.js","../node_modules/@blueprintjs/core/lib/esm/common/interactionMode.js","../node_modules/@blueprintjs/core/lib/esm/accessibility/focusStyleManager.js","../node_modules/tslib/tslib.es6.mjs","../node_modules/@blueprintjs/core/lib/esm/common/utils/compareUtils.js","../node_modules/@blueprintjs/core/lib/esm/common/utils/domUtils.js","../node_modules/@blueprintjs/core/lib/esm/common/utils/functionUtils.js","../node_modules/@blueprintjs/core/lib/esm/common/errors.js","../node_modules/@blueprintjs/core/lib/esm/common/utils/jsUtils.js","../node_modules/@blueprintjs/core/lib/esm/common/utils/reactUtils.js","../node_modules/@blueprintjs/core/lib/esm/common/utils/keyboardUtils.js","../node_modules/@blueprintjs/core/lib/esm/common/refs.js","../node_modules/@blueprintjs/core/lib/esm/common/abstractComponent.js","../node_modules/@blueprintjs/core/lib/esm/common/abstractPureComponent.js","../node_modules/@blueprintjs/core/lib/esm/common/props.js","../node_modules/classnames/index.js","../node_modules/lower-case/dist.es2015/index.js","../node_modules/no-case/dist.es2015/index.js","../node_modules/pascal-case/dist.es2015/index.js","../node_modules/dot-case/dist.es2015/index.js","../node_modules/snake-case/dist.es2015/index.js","../node_modules/@blueprintjs/icons/lib/esm/iconTypes.js","../node_modules/@blueprintjs/icons/lib/esm/generated/16px/blueprint-icons-16.js","../node_modules/@blueprintjs/icons/lib/esm/iconNames.js","../node_modules/@blueprintjs/icons/lib/esm/loaderUtils.js","../node_modules/@blueprintjs/icons/lib/esm/iconLoader.js","../node_modules/@blueprintjs/icons/lib/esm/classes.js","../node_modules/@blueprintjs/icons/lib/esm/jsUtils.js","../node_modules/@blueprintjs/icons/lib/esm/svgIconContainer.js","../node_modules/@blueprintjs/icons/lib/esm/generated/components/caret-down.js","../node_modules/@blueprintjs/icons/lib/esm/generated/components/caret-right.js","../node_modules/@blueprintjs/icons/lib/esm/generated/components/chevron-down.js","../node_modules/@blueprintjs/icons/lib/esm/generated/components/chevron-right.js","../node_modules/@blueprintjs/icons/lib/esm/generated/components/chevron-up.js","../node_modules/@blueprintjs/icons/lib/esm/generated/components/cross.js","../node_modules/@blueprintjs/icons/lib/esm/generated/components/double-caret-vertical.js","../node_modules/@blueprintjs/icons/lib/esm/generated/components/search.js","../node_modules/@blueprintjs/icons/lib/esm/generated/components/small-tick.js","../node_modules/@blueprintjs/core/lib/esm/components/icon/icon.js","../node_modules/@blueprintjs/core/lib/esm/components/spinner/spinner.js","../node_modules/@blueprintjs/core/lib/esm/components/text/text.js","../node_modules/@blueprintjs/core/lib/esm/components/button/buttons.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/dom-helpers/esm/hasClass.js","../node_modules/dom-helpers/esm/addClass.js","../node_modules/dom-helpers/esm/removeClass.js","../node_modules/react-transition-group/esm/config.js","../node_modules/react-transition-group/esm/TransitionGroupContext.js","../node_modules/react-transition-group/esm/utils/reflow.js","../node_modules/react-transition-group/esm/Transition.js","../node_modules/react-transition-group/esm/CSSTransition.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/react-transition-group/esm/utils/ChildMapping.js","../node_modules/react-transition-group/esm/TransitionGroup.js","../node_modules/@blueprintjs/core/lib/esm/context/portal/portalProvider.js","../node_modules/@blueprintjs/core/lib/esm/components/portal/portal.js","../node_modules/@blueprintjs/core/lib/esm/components/overlay/overlay.js","../node_modules/@blueprintjs/core/lib/esm/components/menu/menu.js","../node_modules/react-popper/lib/esm/Manager.js","../node_modules/react-popper/lib/esm/utils.js","../node_modules/@popperjs/core/lib/enums.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../node_modules/@popperjs/core/lib/utils/math.js","../node_modules/@popperjs/core/lib/utils/userAgent.js","../node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../node_modules/@popperjs/core/lib/dom-utils/contains.js","../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../node_modules/@popperjs/core/lib/utils/within.js","../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../node_modules/@popperjs/core/lib/modifiers/arrow.js","../node_modules/@popperjs/core/lib/utils/getVariation.js","../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../node_modules/@popperjs/core/lib/utils/computeOffsets.js","../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../node_modules/@popperjs/core/lib/modifiers/flip.js","../node_modules/@popperjs/core/lib/modifiers/hide.js","../node_modules/@popperjs/core/lib/modifiers/offset.js","../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../node_modules/@popperjs/core/lib/utils/getAltAxis.js","../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../node_modules/@popperjs/core/lib/utils/orderModifiers.js","../node_modules/@popperjs/core/lib/utils/debounce.js","../node_modules/@popperjs/core/lib/utils/mergeByName.js","../node_modules/@popperjs/core/lib/createPopper.js","../node_modules/@popperjs/core/lib/popper.js","../node_modules/react-fast-compare/index.js","../node_modules/react-popper/lib/esm/usePopper.js","../node_modules/react-popper/lib/esm/Popper.js","../node_modules/warning/warning.js","../node_modules/react-popper/lib/esm/Reference.js","../node_modules/@blueprintjs/core/lib/esm/components/resize-sensor/resizeSensor.js","../node_modules/@blueprintjs/core/lib/esm/components/popover/popperUtils.js","../node_modules/@blueprintjs/core/lib/esm/components/popover/popoverArrow.js","../node_modules/@blueprintjs/core/lib/esm/components/popover/tooltipContext.js","../node_modules/@blueprintjs/core/lib/esm/components/tooltip/tooltip.js","../node_modules/@blueprintjs/core/lib/esm/components/popover/customModifiers.js","../node_modules/@blueprintjs/core/lib/esm/components/popover/popoverPosition.js","../node_modules/@blueprintjs/core/lib/esm/components/popover/popoverPlacementUtils.js","../node_modules/@blueprintjs/core/lib/esm/components/popover/popover.js","../node_modules/@blueprintjs/core/lib/esm/components/menu/menuItem.js","../node_modules/@blueprintjs/core/lib/esm/components/button/buttonGroup.js","../node_modules/@blueprintjs/core/lib/esm/components/card/card.js","../node_modules/@blueprintjs/core/lib/esm/components/collapse/collapse.js","../node_modules/@blueprintjs/core/lib/esm/components/forms/controlGroup.js","../node_modules/@blueprintjs/core/lib/esm/components/forms/controls.js","../node_modules/@blueprintjs/core/lib/esm/components/forms/fileInput.js","../node_modules/@blueprintjs/core/lib/esm/components/forms/formGroup.js","../node_modules/@blueprintjs/core/lib/esm/components/forms/asyncControllableInput.js","../node_modules/@blueprintjs/core/lib/esm/components/forms/inputGroup.js","../node_modules/@blueprintjs/core/lib/esm/components/forms/numericInputUtils.js","../node_modules/@blueprintjs/core/lib/esm/components/forms/numericInput.js","../node_modules/@blueprintjs/core/lib/esm/components/html-select/htmlSelect.js","../node_modules/@blueprintjs/core/lib/esm/components/panel-stack2/panelView2.js","../node_modules/@blueprintjs/core/lib/esm/components/panel-stack2/panelStack2.js","../node_modules/@blueprintjs/core/lib/esm/components/popover/popupKind.js","../node_modules/@blueprintjs/core/lib/esm/components/slider/handleProps.js","../node_modules/@blueprintjs/core/lib/esm/components/slider/sliderUtils.js","../node_modules/@blueprintjs/core/lib/esm/components/slider/handle.js","../node_modules/@blueprintjs/core/lib/esm/components/slider/multiSlider.js","../node_modules/@blueprintjs/core/lib/esm/components/slider/slider.js","../node_modules/@blueprintjs/core/lib/esm/components/tree/treeNode.js","../node_modules/@blueprintjs/core/lib/esm/components/tree/tree.js","../src/bpComponents/BPComponent.tsx","../src/bpComponents/BPLabelledComponent.tsx","../src/bpComponents/BPContainerComponent.tsx","../src/bpComponents/BPFolderComponent.tsx","../src/bpComponents/BPValueComponent.tsx","../src/components/FormGroupComponent.tsx","../src/bpComponents/BPInputComponent.tsx","../src/bpComponents/BPTextInputComponent.tsx","../src/components/DraggableIcon.tsx","../src/components/ExtendedNumericInput.tsx","../src/bpComponents/BPNumberInputComponent.tsx","../src/bpComponents/BPButtonComponent.tsx","../src/bpComponents/BPToggleInputComponent.tsx","../src/bpComponents/BPSliderInputComponent.tsx","../node_modules/@blueprintjs/select/lib/esm/common/classes.js","../node_modules/@blueprintjs/select/lib/esm/common/itemListRenderer.js","../node_modules/@blueprintjs/select/lib/esm/common/listItemsProps.js","../node_modules/@blueprintjs/select/lib/esm/common/listItemsUtils.js","../node_modules/@blueprintjs/select/lib/esm/components/query-list/queryList.js","../node_modules/@blueprintjs/select/lib/esm/components/select/select.js","../src/bpComponents/BPDropdownInputComponent.tsx","../src/bpComponents/BPPanelComponent.tsx","../src/bpComponents/BPTreeComponent.tsx","../src/bpComponents/BPTreeFolderComponent.tsx","../node_modules/react-colorful/dist/index.mjs","../src/bpComponents/BPColorInputComponent.tsx","../src/components/FileComponent.tsx","../src/bpComponents/BPFileComponent.tsx","../src/components/bpIconWrapper.tsx","../src/components/variableIcons.tsx","../src/bpComponents/BPVectorInputComponent.tsx","../src/ConfigObject.tsx","../node_modules/@blueprintjs/core/src/common/elevation.ts","../node_modules/@blueprintjs/core/src/common/intent.ts","../node_modules/@blueprintjs/core/src/common/classes.ts","../src/components/VisualStyleContext.tsx","../src/components/ConfigurationPanelComponent.tsx","../src/UiConfigRendererBlueprint.tsx","../src/index.ts"],"sourcesContent":["/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1<g){for(var f=Array(g),m=0;m<g;m++)f[m]=arguments[m+2];c.children=f}if(a&&a.defaultProps)for(d in g=a.defaultProps,g)void 0===c[d]&&(c[d]=g[d]);return{$$typeof:l,type:a,key:k,ref:h,props:c,_owner:K.current}}\nfunction N(a,b){return{$$typeof:l,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===l}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+a.replace(/[=:]/g,function(a){return b[a]})}var P=/\\/+/g;function Q(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(\"\"+a.key):b.toString(36)}\nfunction R(a,b,e,d,c){var k=typeof a;if(\"undefined\"===k||\"boolean\"===k)a=null;var h=!1;if(null===a)h=!0;else switch(k){case \"string\":case \"number\":h=!0;break;case \"object\":switch(a.$$typeof){case l:case n:h=!0}}if(h)return h=a,c=c(h),a=\"\"===d?\".\"+Q(h,0):d,I(c)?(e=\"\",null!=a&&(e=a.replace(P,\"$&/\")+\"/\"),R(c,b,e,\"\",function(a){return a})):null!=c&&(O(c)&&(c=N(c,e+(!c.key||h&&h.key===c.key?\"\":(\"\"+c.key).replace(P,\"$&/\")+\"/\")+a)),b.push(c)),1;h=0;d=\"\"===d?\".\":d+\":\";if(I(a))for(var g=0;g<a.length;g++){k=\na[g];var f=d+Q(k,g);h+=R(k,b,e,f,c)}else if(f=A(a),\"function\"===typeof f)for(a=f.call(a),g=0;!(k=a.next()).done;)k=k.value,f=d+Q(k,g++),h+=R(k,b,e,f,c);else if(\"object\"===k)throw b=String(a),Error(\"Objects are not valid as a React child (found: \"+(\"[object Object]\"===b?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":b)+\"). If you meant to render a collection of children, use an array instead.\");return h}\nfunction S(a,b,e){if(null==a)return a;var d=[],c=0;R(a,d,\"\",\"\",function(a){return b.call(e,a,c++)});return d}function T(a){if(-1===a._status){var b=a._result;b=b();b.then(function(b){if(0===a._status||-1===a._status)a._status=1,a._result=b},function(b){if(0===a._status||-1===a._status)a._status=2,a._result=b});-1===a._status&&(a._status=0,a._result=b)}if(1===a._status)return a._result.default;throw a._result;}\nvar U={current:null},V={transition:null},W={ReactCurrentDispatcher:U,ReactCurrentBatchConfig:V,ReactCurrentOwner:K};exports.Children={map:S,forEach:function(a,b,e){S(a,function(){b.apply(this,arguments)},e)},count:function(a){var b=0;S(a,function(){b++});return b},toArray:function(a){return S(a,function(a){return a})||[]},only:function(a){if(!O(a))throw Error(\"React.Children.only expected to receive a single React element child.\");return a}};exports.Component=E;exports.Fragment=p;\nexports.Profiler=r;exports.PureComponent=G;exports.StrictMode=q;exports.Suspense=w;exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=W;\nexports.cloneElement=function(a,b,e){if(null===a||void 0===a)throw Error(\"React.cloneElement(...): The argument must be a React element, but you passed \"+a+\".\");var d=C({},a.props),c=a.key,k=a.ref,h=a._owner;if(null!=b){void 0!==b.ref&&(k=b.ref,h=K.current);void 0!==b.key&&(c=\"\"+b.key);if(a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(f in b)J.call(b,f)&&!L.hasOwnProperty(f)&&(d[f]=void 0===b[f]&&void 0!==g?g[f]:b[f])}var f=arguments.length-2;if(1===f)d.children=e;else if(1<f){g=Array(f);\nfor(var m=0;m<f;m++)g[m]=arguments[m+2];d.children=g}return{$$typeof:l,type:a.type,key:c,ref:k,props:d,_owner:h}};exports.createContext=function(a){a={$$typeof:u,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null};a.Provider={$$typeof:t,_context:a};return a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};\nexports.forwardRef=function(a){return{$$typeof:v,render:a}};exports.isValidElement=O;exports.lazy=function(a){return{$$typeof:y,_payload:{_status:-1,_result:a},_init:T}};exports.memo=function(a,b){return{$$typeof:x,type:a,compare:void 0===b?null:b}};exports.startTransition=function(a){var b=V.transition;V.transition={};try{a()}finally{V.transition=b}};exports.unstable_act=function(){throw Error(\"act(...) is not supported in production builds of React.\");};\nexports.useCallback=function(a,b){return U.current.useCallback(a,b)};exports.useContext=function(a){return U.current.useContext(a)};exports.useDebugValue=function(){};exports.useDeferredValue=function(a){return U.current.useDeferredValue(a)};exports.useEffect=function(a,b){return U.current.useEffect(a,b)};exports.useId=function(){return U.current.useId()};exports.useImperativeHandle=function(a,b,e){return U.current.useImperativeHandle(a,b,e)};\nexports.useInsertionEffect=function(a,b){return U.current.useInsertionEffect(a,b)};exports.useLayoutEffect=function(a,b){return U.current.useLayoutEffect(a,b)};exports.useMemo=function(a,b){return U.current.useMemo(a,b)};exports.useReducer=function(a,b,e){return U.current.useReducer(a,b,e)};exports.useRef=function(a){return U.current.useRef(a)};exports.useState=function(a){return U.current.useState(a)};exports.useSyncExternalStore=function(a,b,e){return U.current.useSyncExternalStore(a,b,e)};\nexports.useTransition=function(){return U.current.useTransition()};exports.version=\"18.2.0\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/**\n * @license\n * ts-browser-helpers v0.11.0\n * Copyright 2022-2024 repalash <palash@shaders.app>\n * MIT License\n */\n\n/**\n * A simple event dispatcher with typed event types, see {@link IEventDispatcher}.\n */\nclass SimpleEventDispatcher {\n constructor() {\n this._eventListeners = {};\n this.dispatchEvent = this.dispatchEvent.bind(this);\n this.addEventListener = this.addEventListener.bind(this);\n this.removeEventListener = this.removeEventListener.bind(this);\n this.hasEventListener = this.hasEventListener.bind(this);\n }\n addEventListener(type, listener) {\n const listeners = this._eventListeners;\n if (listeners[type] === undefined)\n listeners[type] = [];\n if (!listeners[type].includes(listener))\n listeners[type].push(listener);\n }\n hasEventListener(type, listener) {\n const listeners = this._eventListeners;\n return listeners[type] !== undefined && listeners[type].includes(listener);\n }\n removeEventListener(type, listener) {\n const listeners = this._eventListeners;\n const listenerArray = listeners[type];\n if (listenerArray !== undefined) {\n const index = listenerArray.indexOf(listener);\n if (index !== -1)\n listenerArray.splice(index, 1);\n }\n }\n dispatchEvent(event) {\n const listeners = this._eventListeners;\n const listenerArray = listeners[event.type];\n if (listenerArray !== undefined) {\n event.target = this;\n // Make a copy, in case listeners are removed while iterating.\n const array = listenerArray.slice(0);\n for (let i = 0, l = array.length; i < l; i++)\n array[i].call(this, event);\n }\n }\n}\n\n/**\n * Returns a promise that resolves after the given duration. Basically a setTimeout that returns a promise.\n * @param duration - in ms\n *\n * @category Time\n */\nasync function timeout(duration) {\n return new Promise(resolve => setTimeout(resolve, Math.max(0, duration)));\n}\n/**\n * Returns the current time in milliseconds. If performance.now() is available, it is used, otherwise Date.now() is used.\n *\n * @category Time\n */\nfunction now() {\n return (typeof performance === 'undefined' ? Date : performance).now(); // see threejs #10732\n}\n\n/**\n * A helper class to handle pointer events and dispatch drag events: `drag`, `dragStart` and `dragEnd` with NDC coordinates and time.\n *\n * To use, create an object of the class, set `element` with the HTML element(like canvas) and add event listeners to drag events.\n *\n * @example\n * ```ts\n * const pointerDragHelper = new PointerDragHelper()\n * pointerDragHelper.element = canvas\n * pointerDragHelper.addEventListener('dragStart', (e) => {\n * console.log('dragStart', e.pointer)\n * // {x: -0.5, y: 0.5, time: 123456789}\n * // x and y are NDC coordinates, time is the time when the event is fired.\n * // x and y are in the range of [-1, 1].\n * // x is left to right, y is bottom to top.\n * // time is in milliseconds.\n * })\n * pointerDragHelper.addEventListener('drag', (e) => {\n * console.log('drag', e.pointer)\n * // {x: -0.5, y: 0.5, time: 123456789}\n * })\n * pointerDragHelper.addEventListener('dragEnd', (e) => {\n * console.log('dragEnd', e.pointer)\n * // {x: -0.5, y: 0.5, time: 123456789}\n * })\n * ```\n */\nclass PointerDragHelper extends SimpleEventDispatcher {\n constructor() {\n super(...arguments);\n this._onPointerDown = (e) => {\n if (e.button !== 0)\n return;\n if (!this._element)\n return;\n this._pointerUp = undefined;\n const x = e.clientX / this._element.clientWidth * 2 - 1;\n const y = -(e.clientY / this._element.clientHeight) * 2 + 1;\n const time = now();\n this._pointerDown = { x, y, time };\n this._pointer = this._pointerDown;\n this.dispatchEvent({ type: 'dragStart', pointer: this._pointerDown });\n };\n this._onPointerMove = (e) => {\n if (!this._pointerDown || !this._pointer)\n return;\n if (!this._element)\n return;\n const x = e.clientX / this._element.clientWidth * 2 - 1;\n const y = -(e.clientY / this._element.clientHeight) * 2 + 1;\n const time = now();\n this.dispatchEvent({\n type: 'drag', pointer: this._pointer,\n drag: { x: x - this._pointerDown.x, y: y - this._pointerDown.y, time: time - this._pointerDown.time },\n delta: { x: x - this._pointer.x, y: y - this._pointer.y, time: time - this._pointer.time },\n });\n this._pointer = { x: x, y: y, time: now() };\n if (e.buttons % 2 === 0)\n this._onPointerUp(e);\n };\n this._onPointerUp = (e) => {\n if (e.button !== 0)\n return;\n if (!this._pointerDown)\n return;\n if (!this._element)\n return;\n const x = e.clientX / this._element.clientWidth * 2 - 1;\n const y = -(e.clientY / this._element.clientHeight) * 2 + 1;\n const time = now();\n this._pointerUp = { x: x, y: y, time };\n this.dispatchEvent({\n type: 'dragEnd', pointer: this._pointerUp,\n drag: {\n x: this._pointerUp.x - this._pointerDown.x,\n y: this._pointerUp.y - this._pointerDown.y,\n time: this._pointerUp.time - this._pointerDown.time,\n },\n });\n this._pointerDown = undefined;\n this._pointer = undefined;\n };\n }\n get element() {\n return this._element;\n }\n set element(value) {\n if (this._element === value)\n return;\n if (this._element)\n this._removeElement();\n this._element = value;\n if (this._element)\n this._addElement();\n }\n _removeElement() {\n var _a, _b, _c, _d, _e;\n (_a = this._element) === null || _a === void 0 ? void 0 : _a.removeEventListener('pointerdown', this._onPointerDown);\n (_b = this._element) === null || _b === void 0 ? void 0 : _b.removeEventListener('pointermove', this._onPointerMove);\n (_c = this._element) === null || _c === void 0 ? void 0 : _c.removeEventListener('pointerup', this._onPointerUp);\n (_d = this._element) === null || _d === void 0 ? void 0 : _d.removeEventListener('pointercancel', this._onPointerUp);\n (_e = this._element) === null || _e === void 0 ? void 0 : _e.removeEventListener('pointerout', this._onPointerUp);\n }\n _addElement() {\n var _a, _b, _c, _d, _e;\n (_a = this._element) === null || _a === void 0 ? void 0 : _a.addEventListener('pointerdown', this._onPointerDown);\n (_b = this._element) === null || _b === void 0 ? void 0 : _b.addEventListener('pointermove', this._onPointerMove);\n (_c = this._element) === null || _c === void 0 ? void 0 : _c.addEventListener('pointerup', this._onPointerUp);\n (_d = this._element) === null || _d === void 0 ? void 0 : _d.addEventListener('pointercancel', this._onPointerUp);\n (_e = this._element) === null || _e === void 0 ? void 0 : _e.addEventListener('pointerout', this._onPointerUp);\n }\n dispose() {\n this.element = undefined;\n }\n}\n\n/* @license\n * Copyright 2020 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the 'License');\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an 'AS IS' BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * The Damper class is a generic second-order critically damped system that does\n * one linear step of the desired length of time. The only parameter is\n * DECAY_MILLISECONDS. This common parameter makes all states converge at the\n * same rate regardless of scale. xNormalization is a number to provide the\n * rough scale of x, such that NIL_SPEED clamping also happens at roughly the\n * same convergence for all states.\n *\n * Taken from Google model-viewer.\n *\n * https://github.com/google/model-viewer/blob/ec527bc1d0e1bcb4421fa192a7e62bbc5764db91/packages/model-viewer/src/three-components/Damper.ts#L1\n */\nclass Damper {\n constructor(decayMilliseconds = Damper.DECAY_MILLISECONDS) {\n this.velocity = 0;\n this.naturalFrequency = 0;\n this.setDecayTime(decayMilliseconds);\n }\n setDecayTime(decayMilliseconds) {\n this.naturalFrequency =\n 1 / Math.max(Damper.MIN_DECAY_MILLISECONDS, decayMilliseconds);\n }\n update(v, vGoal, timeStepMilliseconds, xNormalization) {\n const nilSpeed = 0.0002 * this.naturalFrequency;\n if (v == null || xNormalization === 0) {\n return vGoal;\n }\n if (v === vGoal && this.velocity === 0) {\n return vGoal;\n }\n if (timeStepMilliseconds < 0) {\n return v;\n }\n // Exact solution to a critically damped second-order system, where:\n // acceleration = this.naturalFrequency * this.naturalFrequency * (vGoal\n // - v) - 2 * this.naturalFrequency * this.velocity;\n const deltaV = (v - vGoal);\n const intermediateVelocity = this.velocity + this.naturalFrequency * deltaV;\n const intermediateX = deltaV + timeStepMilliseconds * intermediateVelocity;\n const decay = Math.exp(-this.naturalFrequency * timeStepMilliseconds);\n const newVelocity = (intermediateVelocity - this.naturalFrequency * intermediateX) * decay;\n const acceleration = -this.naturalFrequency * (newVelocity + intermediateVelocity * decay);\n if (Math.abs(newVelocity) < nilSpeed * Math.abs(xNormalization) &&\n acceleration * deltaV >= 0) {\n // This ensures the controls settle and stop calling this function instead\n // of asymptotically approaching their goal.\n this.velocity = 0;\n return vGoal;\n }\n else {\n this.velocity = newVelocity;\n return vGoal + intermediateX * decay;\n }\n }\n}\nDamper.SETTLING_TIME = 10000; // plenty long enough\nDamper.MIN_DECAY_MILLISECONDS = 0.001;\nDamper.DECAY_MILLISECONDS = 50;\n\n/**\n * Creates a HTML canvas element.\n * @category DOM\n */\nfunction createCanvasElement() {\n const canvas = document.createElementNS('http://www.w3.org/1999/xhtml', 'canvas');\n canvas.style.display = 'block';\n return canvas;\n}\n/**\n * Creates a HTML div element.\n * @param innerHTML - HTML string to add to the div\n * @param id - id of the div\n * @param classList - list of classes to add to the div\n * @param addToBody - add the div to the body\n * @param elementTag - tag of the element to create (default: div)\n *\n * @category DOM\n */\nfunction createDiv({ innerHTML = '', id, classList, addToBody = true, elementTag = 'div' }) {\n const elem = document.createElement(elementTag);\n if (id)\n elem.id = id;\n elem.innerHTML = innerHTML;\n if (classList)\n elem.classList.add(...classList);\n if (addToBody)\n document.body.appendChild(elem);\n return elem;\n}\n/**\n * Creates a HTML image element from a url.\n * @param url - url of the image\n *\n * @category DOM\n */\nasync function createImage(url) {\n return new Promise((resolve, reject) => {\n const img = new Image();\n img.onload = () => resolve(img);\n img.onerror = reject;\n img.crossOrigin = 'anonymous';\n img.decoding = 'sync';\n img.src = url;\n });\n}\n/**\n * Creates a HTML style element with the given styles.\n * @param styles - CSS string\n * @param root - root element to add the style to (default: head)\n *\n * @category DOM\n */\nfunction createStyles(styles, root = document.head) {\n const styleSheet = document.createElement('style');\n styleSheet.type = 'text/css';\n styleSheet.innerText = styles;\n root === null || root === void 0 ? void 0 : root.appendChild(styleSheet);\n return styleSheet;\n}\n/**\n * Creates a HTML script element from a url.\n * @param url - url of the script\n * @param root - root element to add the script to (default: head)\n *\n * @category DOM\n */\nasync function createScriptFromURL(url, root = document.head) {\n return new Promise((resolve, reject) => {\n const s = document.createElement('script');\n s.setAttribute('src', url);\n s.addEventListener('load', () => resolve(s));\n s.addEventListener('error', reject);\n root.appendChild(s);\n });\n}\n\n/**\n * Convert an ArrayBuffer to Base64 string\n * @param buffer - ArrayBuffer to convert\n * @category ArrayBuffer\n */\nfunction arrayBufferToBase64(buffer) {\n if (!window) {\n console.warn('window is required');\n return '';\n }\n let binary = '';\n const bytes = new Uint8Array(buffer);\n const len = bytes.byteLength;\n for (let i = 0; i < len; i++) {\n binary += String.fromCharCode(bytes[i]);\n }\n return window.btoa(binary);\n}\n/**\n * Convert a Base64 string to ArrayBuffer\n * @param base64 - Base64 string to convert\n * @category ArrayBuffer\n */\nfunction base64ToArrayBuffer(base64) {\n if (!window) {\n console.warn('window is required');\n return new Uint8Array(0);\n }\n const binaryString = window.atob(base64);\n const len = binaryString.length;\n const bytes = new Uint8Array(len);\n for (let i = 0; i < len; i++) {\n bytes[i] = binaryString.charCodeAt(i);\n }\n return bytes.buffer;\n}\n// if (!ArrayBuffer.prototype.slice)\n// ArrayBuffer.prototype.slice = function(start, end) {\n// const that = new Uint8Array(this)\n// if (end == undefined) end = that.length\n// const result = new ArrayBuffer(end - start)\n// const resultArray = new Uint8Array(result)\n// for (let i = 0; i < resultArray.length; i++)\n// resultArray[i] = that[i + start]\n// return result\n// }\n/**\n * Mapping of typed array constructors by name\n * @category ArrayBuffer\n */\nconst TYPED_ARRAYS = {\n Int8Array: Int8Array,\n Uint8Array: Uint8Array,\n Uint8ClampedArray: Uint8ClampedArray,\n Int16Array: Int16Array,\n Uint16Array: Uint16Array,\n Int32Array: Int32Array,\n Uint32Array: Uint32Array,\n Float32Array: Float32Array,\n Float64Array: Float64Array,\n};\n/**\n * Create a typed array from an ArrayBuffer by name\n * @param type - Name of the typed array constructor\n * @param buffer - ArrayBuffer to use\n * @category ArrayBuffer\n */\nfunction getTypedArray(type, buffer) {\n return new TYPED_ARRAYS[type](buffer);\n}\n\n/**\n * Convert a string to title case\n * @param str - The string to convert\n *\n * @category Text\n */\nfunction toTitleCase(str) {\n return str.replace(/\\w\\S*/g, function (txt) {\n return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();\n });\n}\n/**\n * Parse a file extension from a path\n * @param path - The path to parse\n * @returns file extension without the dot (e.g. 'png')\n *\n * @category Text\n */\nfunction parseFileExtension(path) {\n var _a;\n if (!path || path === '' || path.match(/__MACOSX\\/.*\\._/))\n return ''; // todo: proper hidden files checks\n path = path.replace(/\\?.*$/, ''); // remove query string\n const basename = (_a = path.split(/[\\\\/]/).pop()) !== null && _a !== void 0 ? _a : '', pos = basename.lastIndexOf('.');\n if (basename === '' || pos < 1)\n return '';\n return basename.slice(pos + 1);\n}\n/**\n * Get the filename from a path, similar to PHP's basename()\n * @param url\n *\n * @category Text\n */\nfunction getFilenameFromPath(url) {\n return url.substring(url.lastIndexOf('/') + 1);\n}\n/**\n * Escape a string for use in a regular expression\n * @param str\n *\n * @category Text\n */\nfunction escapeRegExp(str) {\n return str.replace(/([.*+?^=!:${}()|[\\]/\\\\])/g, '\\\\$1');\n}\n/**\n * Replace all occurrences of a string in another string\n * @param str - The string to search\n * @param find - The string to replace\n * @param replace - The replacement string\n *\n * @category Text\n */\nfunction replaceAll(str, find, replace) {\n return str.replace(new RegExp(escapeRegExp(find), 'g'), replace);\n}\n/**\n * Find the longest common prefix in an array of strings\n * https://stackoverflow.com/questions/68702774/longest-common-prefix-in-javascript\n * @param words\n */\nfunction longestCommonPrefix(words) {\n words.sort(); // shortest string will be first and the longest last\n return (words[0].split('') // converts shortest word to an array of chars\n .map((char, idx) => words[words.length - 1][idx] === char ? char : '\\0') // replaces non-matching chars with NULL char\n .join('') // converts back to a string\n .split('\\0') // splits the string by NULL characters\n .at(0) // returns the first part\n || '');\n}\n\n/**\n * A template literal tag that does nothing. Useful for syntax highlighting of GLSL code.\n *\n * @example\n * ```js\n * const vertexShader = glsl`\n * void main() {}\n * `\n * ```\n * @category Template Literals\n */\nconst glsl = (strings, ...rest) => String.raw({ raw: strings }, ...rest);\n/**\n * A template literal tag that does nothing. Useful for syntax highlighting of CSS code.\n *\n * @example\n * ```js\n * const vertexShader = css`\n * .my-class {\n * color: red;\n * }\n * `\n * ```\n * @category Template Literals\n */\nconst css = (strings, ...rest) => String.raw({ raw: strings }, ...rest);\n/**\n * A template literal tag that does nothing. Useful for syntax highlighting of HTML code.\n *\n * @example\n * ```js\n * const vertexShader = html`\n * <div class=\"my-class\">\n * <p>Some text</p>\n * </div>\n * `\n * ```\n * @category Template Literals\n */\nconst html = (strings, ...rest) => String.raw({ raw: strings }, ...rest);\n/**\n * Converts an SVG string to data url. This is useful for creating images from SVGs, or using SVGs in CSS.\n * To use put in template string: `url(${svgUrl\\`<svg>...</svg>\\`})`\n * @param strings - template strings\n * @param rest - template values\n *\n * @example\n * ```ts\n * const url = svgUrl\\`\n * <svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\"> ... </svg>\n * \\`\n * console.log(url) // data:image/svg+xml;charset=UTF-8,...\n * ```\n *\n * @category Template Literals\n */\nconst svgUrl = (strings, ...rest) => {\n let encoded = String.raw({ raw: strings }, ...rest);\n encoded = replaceAll(encoded, '%', '%25');\n encoded = replaceAll(encoded, '> <', '><'); // normalise spaces elements\n encoded = replaceAll(encoded, '; }', ';}'); // normalise spaces css\n encoded = replaceAll(encoded, '<', '%3c');\n encoded = replaceAll(encoded, '>', '%3e');\n encoded = replaceAll(encoded, '\"', '\\'');\n encoded = replaceAll(encoded, '#', '%23'); // needed for ie and firefox\n encoded = replaceAll(encoded, '{', '%7b');\n encoded = replaceAll(encoded, '}', '%7d');\n encoded = replaceAll(encoded, '|', '%7c');\n encoded = replaceAll(encoded, '^', '%5e');\n encoded = replaceAll(encoded, '`', '%60');\n encoded = replaceAll(encoded, '@', '%40');\n encoded = replaceAll(encoded, '&', '&amp;');\n encoded = replaceAll(encoded, '\\n', '%0A');\n return 'data:image/svg+xml;charset=UTF-8,' + encoded;\n};\n\n/**\n * Styles the default scrollbar to be more pretty and less intrusive (especially on dark backgrounds), (similar to MacOS)\n */\nfunction prettyScrollbar(root = document.head) {\n return createStyles(css `\n ::-webkit-scrollbar\n {\n width: 8px; /* for vertical scrollbars */\n height: 8px; /* for horizontal scrollbars */\n }\n ::-webkit-scrollbar-track\n {\n background: rgba(64, 64, 64, 0.4);\n border-radius: 6px;\n }\n ::-webkit-scrollbar-thumb\n {\n background: rgba(128, 128, 128, 0.2);\n border-radius: 6px;\n }\n ::-webkit-scrollbar-corner {background: rgba(0,0,0,0.5);}\n `, root);\n}\n\n/**\n * Download a blob as a file in the browser.\n * @param b - blob to download\n * @param name - name of the file\n * @category Browser\n */\nfunction downloadBlob(b, name) {\n const url = window.URL.createObjectURL(b);\n const a = document.createElement('a');\n a.style.display = 'none';\n a.href = url;\n a.download = name;\n document.body.appendChild(a);\n a.click();\n setTimeout(() => {\n document.body.removeChild(a);\n window.URL.revokeObjectURL(url);\n }, 1000);\n}\n/**\n * Convert a blob to a data url.\n * @param blob - blob to convert\n * @category Browser\n */\nasync function blobToDataURL(blob) {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onload = _e => resolve(reader.result);\n reader.onerror = _e => reject(reader.error);\n reader.onabort = _e => reject(new Error('Read aborted'));\n reader.readAsDataURL(blob);\n });\n}\n/**\n * Download a file in the browser.\n * @param b - file to download\n * @param name - name of the file (optional)\n * @category Browser\n */\nfunction downloadFile(b, name) {\n return downloadBlob(b, name !== null && name !== void 0 ? name : b.name);\n}\n// todo: add/test options for multiple files and directory upload\n/**\n * Prompt the user to select a file or directory in the browser.\n * @param multiple - allow multiple files\n * @param directory - allow directory\n * @param accept - file types to accept (default: all), e.g. 'image/*'\n * @category Browser\n */\nasync function uploadFile(multiple = false, directory = false, accept) {\n const input = document.createElement('input');\n input.type = 'file';\n input.multiple = multiple;\n input.accept = accept || '*';\n input.webkitdirectory = directory;\n input.style.display = 'none';\n document.body.appendChild(input);\n input.click();\n const files = await new Promise((resolve) => {\n input.onchange = _e => {\n resolve(Array.from(input.files || []));\n };\n });\n document.body.removeChild(input);\n return files;\n}\n/**\n * Check if the browser is running on a mobile or tablet device.\n */\nfunction mobileAndTabletCheck() {\n let check = false;\n // @ts-expect-error copied\n (function (a) { if (/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(a.substr(0, 4)))\n check = true; })(navigator.userAgent || navigator.vendor || window.opera);\n return check;\n}\n\n// from three.js\n/**\n * Converts a single color channel from the sRGB color space to linear.\n * @param c - The color channel to be converted.\n * @category Color\n */\nfunction SRGBToLinear(c) {\n return (c < 0.04045) ? c * 0.0773993808 : Math.pow(c * 0.9478672986 + 0.0521327014, 2.4);\n}\n/**\n * Converts a single color channel from the linear color space to sRGB.\n * @param c - The color channel to be converted.\n * @category Color\n */\nfunction LinearToSRGB(c) {\n return (c < 0.0031308) ? c * 12.92 : 1.055 * (Math.pow(c, 0.41666)) - 0.055;\n}\n/**\n * Creates an image data url from a color string.\n * @param color - color string (css compatible color)\n * @param width - width of the image (default: 1)\n * @param height - height of the image (default: 1)\n * @return {string} - data url\n */\nfunction colorToDataUrl(color, width = 1, height = 1) {\n const canvas = document.createElement('canvas');\n canvas.width = width;\n canvas.height = height;\n const ctx = canvas.getContext('2d');\n ctx.fillStyle = '#' + color;\n ctx.fillRect(0, 0, width, height);\n const url = canvas.toDataURL();\n canvas.remove();\n return url;\n}\n\n/**\n * Get property descriptor from object or its prototype chain\n * @param obj\n * @param prop\n *\n * @category JS Object\n */\nfunction getPropertyDescriptor(obj, prop) {\n let desc;\n do {\n desc = Object.getOwnPropertyDescriptor(obj, prop);\n } while (!desc && (obj = Object.getPrototypeOf(obj)));\n return desc;\n}\n/**\n * Check if property is writable in object or its prototype chain\n * @param object - object to check\n * @param prop - property to check\n * @param allowWritable - allow writable properties without setter\n * @param allowAny - allow any property (even if it doesn't exist)\n *\n * @category JS Object\n */\nfunction isPropertyWritable(object, prop, allowWritable = true, allowAny = false) {\n const desc = getPropertyDescriptor(object, prop);\n return !!(desc === null || desc === void 0 ? void 0 : desc.set)\n || allowWritable && (desc === null || desc === void 0 ? void 0 : desc.writable) !== false && (desc === null || desc === void 0 ? void 0 : desc.get) === undefined\n || allowAny && !desc;\n}\n/**\n * Set value only if setter exists\n * @param object - object to set\n * @param prop - property to set\n * @param value - value to set\n * @param allowWritable - allow writable properties without setter\n * @param allowAny - allow any property (even if it doesn't exist)\n *\n * @category JS Object\n */\nfunction safeSetProperty(object, prop, value, allowWritable = true, allowAny = false) {\n // check type?\n if (object && isPropertyWritable(object, prop, allowWritable, allowAny)) {\n object[prop] = value;\n return true;\n }\n return false;\n}\n/**\n * Get value, but if it is a function, call it with args\n * @param s - value or function\n * @param args - arguments to pass to function\n *\n * @category JS Object\n */\nfunction getOrCall(s, ...args) {\n if (typeof s === 'function')\n s = s(...args);\n return s;\n}\n/**\n * Copy properties from source to dest. Similar to Object.assign, but only copies properties that exist in source, dest and propList.\n * @param source - source object\n * @param dest - destination object\n * @param propList - list of properties to copy\n *\n * @category JS Object\n */\nfunction copyProps(source, dest, propList) {\n for (const str of propList) {\n const s = source[str];\n if (s !== undefined)\n safeSetProperty(dest, str, s, true);\n // if (s !== undefined) dest[str] = s\n }\n return dest;\n}\n\n/**\n * Returns true if the array includes all the elements of the sub array\n * @param arr\n * @param subArr\n */\nfunction includesAll(arr, subArr) {\n for (const sub of subArr) {\n if (!arr.includes(sub))\n return false;\n }\n return true;\n}\n/**\n * like Array.prototype.findIndex but from the end\n * @param arr\n * @param predicate\n */\nfunction findLastIndex(arr, predicate) {\n for (let i = arr.length - 1; i >= 0; i--) {\n if (predicate(arr[i]))\n return i;\n }\n return -1;\n}\n/**\n * Call f1 before calling f2\n * Sample usage\n * ```\n * const logRender = ()=>console.log('render')\n * obj.render = wrapThisFunction(logRender, obj.beforeRender)\n * // now calling obj.beforeRender(), will log 'render' and then call obj.beforeRender()\n * ```\n * @param f1\n * @param f2\n */\nfunction wrapThisFunction(f1, f2) {\n return function (...args) {\n f1();\n return f2 && f2.call(this, ...args);\n };\n}\n\n/**\n * Access property in an object using a string path. Similar to lodash.get\n * @param access - path to access\n * @param tar - target object\n * @param throwOnInvalid - throw error if invalid access or property is undefined. Default is false\n *\n * @example\n * ```js\n * const obj = {a: {b: {c: 1}}}\n * const c = deepAccessObject(['a', 'b', 'c'], obj)\n * console.log(c) // 1\n * ```\n *\n * @category JS Object\n */\nfunction deepAccessObject(access, tar, throwOnInvalid = false) {\n if (typeof access === 'string')\n access = access.split('.');\n while (access.length > 0) {\n if (!tar)\n return;\n const p = access.splice(0, 1)[0];\n if (p.length < 1)\n continue;\n if (p in tar) {\n tar = tar[p];\n }\n else {\n // console.error('invalid access, check', p, tar)\n if (throwOnInvalid)\n throw new Error('invalid access, check ' + p + ' in ' + tar);\n else\n return undefined;\n // return tar\n }\n }\n return tar;\n}\n/**\n * Find the key of an object with a given value.\n * @param object - object to search\n * @param value - value to search for\n *\n * @category JS Object\n */\nfunction getKeyByValue(object, value) {\n return Object.keys(object).find(key => object[key] === value);\n}\n/**\n * Check if an object has a property. Same as {@link Object.hasOwn} or {@link Object.hasOwnProperty}\n * @param o\n * @param v\n */\nfunction objectHasOwn(o, v) {\n return Object.hasOwn ? Object.hasOwn(o, v) : o.hasOwnProperty(v);\n}\n/**\n * Execute a function on each property of an object and return the result as a new object\n * This allows in place modification of the object.\n * To create a new object, set inPlace to false, or use {@link objectMap2} to modify the keys as well\n * Similar to {@link Array.map} but for objects.\n * @param obj - object\n * @param fn - function to execute on each property\n * @param inPlace - if true, the original object is modified. Default is true\n */\nfunction objectMap(obj, fn, inPlace = true) {\n const result = inPlace ? obj : {};\n const keys = Object.keys(obj);\n for (const key of keys)\n result[key] = fn(obj[key], key);\n return result;\n}\n/**\n * Shorthand for `Object.fromEntries(Object.entries(obj).map(fn))`\n * Similar to {@link objectMap} but uses {@link Object.fromEntries} to create the new object, so keys can also be changed.\n * @param obj\n * @param fn\n */\nfunction objectMap2(obj, fn) {\n return Object.fromEntries(Object.entries(obj).map((v) => fn(v)));\n}\n\nconst objSerializer = {\n priority: Infinity,\n serialize: (obj, meta) => objectMap2(obj, ([k, v]) => [k, Serialization.Serialize(v, meta, false)]),\n deserialize: (data, obj, meta) => Object.assign(obj || {}, objectMap2(data, ([k, v]) => [k, Serialization.Deserialize(v, obj === null || obj === void 0 ? void 0 : obj[k], meta, false)])),\n isType: (obj) => (obj.constructor || Object) === Object,\n};\n/**\n * Serialization class with static methods for serializing and deserializing objects.\n * Properties and classes can be marked serializable by adding {@link serialize} and {@link serializable} decorators.\n * @category Serialization\n */\nclass Serialization {\n static GetSerializer(obj) {\n return Serialization.Serializers.find(s => s.isType(obj));\n }\n static RegisterSerializer(...serializers) {\n var _a;\n for (const serializer of serializers) {\n const priority = (_a = serializer.priority) !== null && _a !== void 0 ? _a : 1e10;\n const i = findLastIndex(Serialization.Serializers, s => s.priority !== undefined && s.priority < priority);\n if (i >= 0)\n Serialization.Serializers.splice(i + 1, 0, serializer);\n else\n Serialization.Serializers.push(serializer);\n }\n }\n static UnregisterSerializer(...serializers) {\n for (const serializer of serializers) {\n const i = Serialization.Serializers.indexOf(serializer);\n if (i >= 0)\n Serialization.Serializers.splice(i, 1);\n }\n }\n /**\n * Serialize an object\n * @param obj - object to serialize\n * @param meta - Optional object to store common meta-data/resources across the serialization process of multiple objects\n @param isThis - true if called from inside the serialization function, like custom {@link IJSONSerializable.toJSON}.\n */\n static Serialize(obj, meta, isThis = false) {\n var _a, _b;\n if (typeof obj === 'function')\n return undefined;\n if (!isThis) {\n const serializer = Serialization.GetSerializer(obj);\n if (serializer)\n return serializer.serialize(obj, meta);\n // Handle classes with explicit serialization with toJSON and fromJSON functions\n // toJSON functions can call Serialize(with isThis=true) to serialize the properties with @serialize decorator\n if (typeof obj.toJSON === 'function') {\n const res = obj.toJSON(meta);\n if (obj.serializableClassId && res)\n res.serializableClassId = obj.serializableClassId;\n return res;\n }\n }\n // Handle classes with @serializable decorator and serialize all properties with @serialize decorator\n let type = (_a = obj.constructor) !== null && _a !== void 0 ? _a : Object;\n const result = {};\n // Loop through all parent classes and serialize properties with @serialize decorator\n while (type && type !== Object) {\n const Type = (_b = Serialization.TypeMap.get(type)) !== null && _b !== void 0 ? _b : [];\n for (const [key, propKey] of Type) {\n result[key] = Serialization.Serialize(obj[propKey], meta, false);\n }\n type = Object.getPrototypeOf(type);\n }\n if (obj.serializableClassId)\n result.serializableClassId = obj.serializableClassId;\n return result;\n }\n /**\n * Deserialize an object\n * @param data - data to deserialize\n * @param obj - current object that's set. If of the same class/type the data is deserialized into that instead of creating new objects.\n * @param meta - Optional object to retrieve common meta-data/resources across the deserialization process of multiple objects. Objects in meta must be class instances, not js objects. (like Material, Texture, Object3D etc)\n * @param isThis - true if called from inside the deserialization function, like custom {@link IJSONSerializable.fromJSON}\n */\n static Deserialize(data, obj, meta, isThis = false) {\n var _a, _b;\n if (data === undefined)\n return obj; // undefined is not deserialized\n if (obj === data)\n return obj; // same object\n // let isResource = false\n // If data is an embedded resource in meta\n if (data && typeof data === 'object' && (data.constructor || Object) === Object && data.resource && typeof data.resource === 'string' && data.uuid) {\n const res = meta === null || meta === void 0 ? void 0 : meta[data.resource];\n if (res) {\n // isResource = true\n data = res[data.uuid];\n if (typeof data === 'object') {\n data.__useCount = data.__useCount ? data.__useCount + 1 : 1; // used for materials for now, see AssetManagerPlugin.importViewerConfig\n }\n if (!data)\n console.warn(`Resource ${data.resource} with uuid ${data.uuid} not found`);\n if (obj === data)\n return obj; // same object\n if (data && typeof data === 'object') {\n const isDeserializedClass = (data.constructor || Object) !== Object; // data is already deserialized\n if (isDeserializedClass) {\n if (!obj) {\n return data;\n }\n else {\n // todo: if data is deserialized already and !== obj.\n // obj is not null, could be a Texture, Material, Object etc\n // should we ignore the current object and assign one from meta or copy data from meta to current object\n // for textures, it should be replaced. should we copy if uuid is same?\n // for materials, if uuid is same and type is same it should be copied otherwise replaced\n // for vector3d, copy data\n // todo: need to implement.\n console.warn(\"replacing object\", obj, 'with deserialized object from meta', data);\n return data;\n }\n }\n else { // data is not deserialized, or is a normal object\n // this is not supported. meta should only have class instances, not js objects\n console.error('Deserialize; meta should only have class instances, not js objects', data, obj, meta);\n }\n }\n }\n else {\n console.warn(`Resource ${data.resource} not found`);\n return obj;\n }\n }\n if (data && typeof data === 'object' && (data.constructor || Object) !== Object && !Array.isArray(data)) {\n console.warn('Data might already be deserialized. It will be cloned, or copied to source', data, \"source\", obj, data.constructor, data.constructor !== Object);\n }\n // Create new object if not provided\n if (data && typeof data === 'object') {\n // if data is deserialized already and obj is null. then should we clone the data or assign it directly?\n // if it's a resource from meta then assign it directly(done above), otherwise clone (done just below).\n if (data.serializableClassId && (!obj || obj.serializableClassId !== data.serializableClassId)) { // if the data is already deserialized, it will be cloned\n const constructor = Serialization.SerializableClasses.get(data.serializableClassId);\n if (constructor) {\n if (constructor.DataInConstructor) // not used anywhere right now. todo: remove? because we are anyway assigning the data to the object after the constructor using @serialize and support fromJSON\n obj = new constructor(data);\n else\n obj = new constructor();\n }\n }\n else if ((data.constructor || Object) === Object && !obj) {\n obj = {};\n }\n else if (Array.isArray(data) && !obj) {\n obj = [];\n }\n }\n if (typeof obj === 'function') {\n console.error('cannot deserialize over function', obj, data);\n return obj; // throw error maybe?}\n }\n if (!isThis) {\n const serializer = Serialization.GetSerializer(data);\n if (serializer && serializer !== objSerializer)\n return serializer.deserialize(data, obj, meta);\n }\n if (!data || obj === undefined || obj === null || typeof obj !== 'object') {\n return data;\n }\n // Handle classes with explicit serialization with toJSON and fromJSON functions\n // fromJSON functions can call Deserialize(with isThis=true) to deserialize the properties with @serialize decorator\n if (!isThis && typeof (obj === null || obj === void 0 ? void 0 : obj.fromJSON) === 'function') {\n obj.fromJSON(data, meta);\n return obj; // cannot be sure what the return value is\n }\n let type = (_a = obj.constructor) !== null && _a !== void 0 ? _a : Object;\n if (type === Object)\n return objSerializer.deserialize(data, obj, meta);\n // Loop through all parent classes and deserialize properties with @serialize decorator\n while (type && type !== Object) {\n const Type = (_b = Serialization.TypeMap.get(type)) !== null && _b !== void 0 ? _b : [];\n for (const [key, propKey] of Type) {\n const current = obj[propKey];\n const newVal = Serialization.Deserialize(data[key], current, meta, false);\n if (newVal !== current)\n safeSetProperty(obj, propKey, newVal, true);\n }\n type = Object.getPrototypeOf(type);\n }\n return obj;\n }\n}\nSerialization.TypeMap = new Map();\nSerialization.SerializableClasses = new Map();\n/**\n * Serializers for primitive, array and struct/custom object types\n */\nSerialization.Serializers = [\n {\n priority: 0,\n isType: (obj) => Array.isArray(obj),\n serialize: (obj, meta) => obj.map((v) => Serialization.Serialize(v, meta, false)),\n deserialize: (data, obj, meta) => {\n const l = data.length;\n if (!Array.isArray(obj))\n obj = [];\n for (let i = 0; i < l; i++) {\n const d = data[i];\n const de = obj.length > i ? Serialization.Deserialize(d, obj[i], meta, false) : Serialization.Deserialize(d, undefined, meta, false);\n if (obj.length <= i)\n obj.push(de);\n else\n obj[i] = de;\n }\n return obj;\n },\n },\n {\n priority: 0,\n isType: (obj) => !obj || typeof obj !== 'object',\n serialize: (obj) => {\n if (obj && typeof obj === 'number') {\n if (obj === Infinity)\n return 'Infinity';\n if (obj === -Infinity)\n return '-Infinity';\n if (isNaN(obj))\n return 'NaN';\n }\n return obj;\n },\n deserialize: (data, obj) => {\n if (typeof obj === 'number') {\n if (data === 'Infinity')\n return Infinity;\n if (data === '-Infinity')\n return -Infinity;\n if (data === 'NaN')\n return NaN;\n if (typeof data === 'number' || !data)\n return data;\n }\n return data;\n },\n },\n objSerializer,\n];\n\n/**\n * Decorator that redefines a property with getter and setter, and calls a function when the property is changed.\n * Parameters passed to the function are the property key and the new value.\n * @note - Does not work with \"target\": \"esnext\" in tsconfig.json\n * @note - Requires \"experimentalDecorators\": true in tsconfig.json\n * @todo add example.\n * @param fnKey - use: `<MyClass>.prototype.<myFunction>` or define an arrow function: `(key, value, oldValue, target) => {}`.\n * @param paramType -\n * if param, the function is called with 4 parameters: `key, value, oldValue, target`, default for {@link onChange}\n * if object, the function is called with an object parameter: `{key, value, oldValue, target}`, default for {@link onChange3}\n * if void then no params are passed. {@link onChange2}\n * Default: false.\n *\n * @category Decorators\n */\nfunction onChange(fnKey // target is this\n//| ((obj:{key: string, value: any, oldValue: any, target: TTarget})=>void)\n, paramType = 'param') {\n if (!fnKey)\n throw new Error('onChange: fnKey is undefined, make sure the function exists or provide a string');\n return (targetPrototype, propertyKey) => {\n Object.defineProperty(targetPrototype, propertyKey, {\n get() {\n return this[`_oc_${propertyKey}`];\n },\n set(newVal) {\n var _a;\n const oldVal = this[`_oc_${propertyKey}`];\n if (oldVal === newVal)\n return;\n this[`_oc_${propertyKey}`] = newVal;\n const params = paramType === 'param' ? [propertyKey, newVal, oldVal, this] : paramType === 'object' ? [{ key: propertyKey, value: newVal, oldValue: oldVal, target: this }] : '';\n if (typeof fnKey === 'string')\n (_a = this[fnKey]) === null || _a === void 0 ? void 0 : _a.call(this, ...params);\n else if (typeof fnKey === 'function') {\n let called = false; // to get functions in the prototype chain\n if (fnKey.name) {\n let p = this;\n while (p) { // todo: memoize?\n const fn = p[fnKey.name];\n if (fn === fnKey) {\n fnKey.call(this, ...params);\n called = true;\n break;\n }\n else if (fn && fn.name && fn.name.endsWith(`bound ${fnKey.name}`)) {\n fn(...params);\n called = true;\n break;\n }\n p = Object.getPrototypeOf(p);\n }\n }\n if (!called) {\n if (fnKey.name && this[fnKey.name].name.endsWith(`bound ${fnKey.name}`))\n this[fnKey.name](...params);\n else\n fnKey(...params);\n }\n }\n },\n });\n };\n}\n/**\n * Similar to {@link onChange}, but accepts any function and paramType defaults to 'void'. The function is called with no parameters. if 'void'\n * @param fnKey\n * @param paramType\n */\nfunction onChange2(fnKey, paramType = 'void') {\n if (!fnKey)\n throw new Error('onChange: fnKey is undefined, make sure the function exists or provide a string');\n return onChange(fnKey, paramType);\n}\n/**\n * Similar to {@link onChange}, but accepts any function and paramType defaults to 'object'. The function is called with an object parameter: `{key, value, oldValue, target}`.\n * @param fnKey\n * @param paramType\n */\nfunction onChange3(fnKey, paramType = 'object') {\n if (!fnKey)\n throw new Error('onChange: fnKey is undefined, make sure the function exists or provide a string');\n return onChange(fnKey, paramType);\n}\n/**\n * Similar to onChange but dispatches an event instead of calling a function.\n * Requires `dispatchEvent` to be defined on the target.\n * @param eventName - The name of the event to dispatch. Default: '`key`-changed'\n */\nfunction onChangeDispatchEvent(eventName) {\n return onChange((key, value, oldValue, target) => {\n if (!target.dispatchEvent)\n throw new Error('onChangeDispatchEvent: target does not have dispatchEvent');\n target.dispatchEvent({ type: eventName || `${key}-changed`, detail: { key, value, oldValue } });\n }, 'param');\n}\n/**\n * Decorator to mark a class property as serializable using the {@link Serialization} class.\n * @note - Requires \"experimentalDecorators\": true in tsconfig.json\n * @param key - The key to use when serializing the property. If not provided, the property name is used (for this make sure the property name is not mangled during minification).\n * @category Decorators\n */\nfunction serialize(key) {\n return (targetPrototype, propertyKey) => {\n const type = targetPrototype.constructor;\n if (type === Object)\n throw new Error('All properties in an object are serialized by default');\n if (!Serialization.TypeMap.has(type))\n Serialization.TypeMap.set(type, []);\n Serialization.TypeMap.get(type).push([key || propertyKey, propertyKey]);\n };\n}\n/**\n * Decorator to mark a class as serializable using the {@link Serialization} class.\n * @note - Requires \"experimentalDecorators\": true in tsconfig.json\n * @param id - The id to use when serializing the class. This is used to identify the class when deserializing. Class names can be mangled during minification, so it is required to provide an id.\n */\nfunction serializable(id) {\n return (constructor) => {\n constructor = class extends constructor {\n constructor() {\n super(...arguments);\n this.serializableClassId = id;\n // static DataInConstructor = false // if constructor is equivalent to fromJSON, see LUTCubeTextureWrapper.\n }\n };\n Serialization.SerializableClasses.set(id, constructor);\n return constructor;\n };\n}\n\n/**\n * Encrypts plaintext using AES-GCM with supplied password, for decryption with aesGcmDecrypt().\n * (c) Chris Veness MIT Licence\n * https://gist.github.com/chrisveness/43bcda93af9f646d083fad678071b90a\n * Modified to work with Uint8Array and string content.\n *\n * @param content - Plaintext or Uint8 Buffer to be encrypted.\n * @param password - Plaintext or Uint8 Buffer Password to use to encrypt content.\n * @param prefix - Optional prefix to prepend to the ciphertext.\n * @returns Encrypted ciphertext. If content is a string, the ciphertext is a string. If content is a Uint8Array, the ciphertext is a new Uint8Array.\n *\n *\n * @example\n * const ciphertext = await aesGcmEncrypt('my secret text', 'pw');\n * aesGcmEncrypt('my secret text', 'pw').then(function(ciphertext) { console.log(ciphertext); });\n *\n * @category Encryption\n */\nasync function aesGcmEncrypt(content, password, prefix) {\n const pwUtf8 = typeof password === 'string' ? new TextEncoder().encode(password) : password; // encode password as UTF-8\n const pwHash = await crypto.subtle.digest('SHA-256', pwUtf8); // hash the password\n const iv = crypto.getRandomValues(new Uint8Array(12)); // get 96-bit random iv\n const ivStr = Array.from(iv).map(b => String.fromCharCode(b)).join(''); // iv as utf-8 string\n const alg = { name: 'AES-GCM', iv: iv }; // specify algorithm to use\n const key = await crypto.subtle.importKey('raw', pwHash, alg, false, ['encrypt']); // generate key from pw\n const ptUint8 = typeof content === 'string' ? new TextEncoder().encode(content) : content; // encode plaintext as UTF-8\n const ctBuffer = await crypto.subtle.encrypt(alg, key, ptUint8); // encrypt plaintext using key\n const ctUint = new Uint8Array(ctBuffer);\n const ctArray = Array.from(ctUint); // ciphertext as byte array\n const ctStr = ctArray.map(byte => String.fromCharCode(byte)).join(''); // ciphertext as string\n const prefixStr = prefix ? typeof prefix === 'string' ? prefix : new TextDecoder().decode(prefix) : '';\n const prefixArray = prefix ? typeof prefix === 'string' ? new TextEncoder().encode(prefix) : Array.from(prefix) : [];\n return typeof content === 'string' ? (prefixStr + ivStr + ctStr) : new Uint8Array([...prefixArray, ...iv, ...ctArray]);\n}\n/**\n * Decrypts ciphertext encrypted with aesGcmEncrypt() using supplied password.\n * (c) Chris Veness MIT Licence\n *\n * https://gist.github.com/chrisveness/43bcda93af9f646d083fad678071b90a\n * Modified to work with Uint8Array and string content.\n *\n * @param ciphertext - Ciphertext to be decrypted.\n * @param password - Password to use to decrypt ciphertext.\n * @returns Decrypted content. If ciphertext is a string, the plaintext is a string. If ciphertext is a Uint8Array, the plaintext is a new Uint8Array.\n *\n * @example\n * const plaintext = await aesGcmDecrypt(ciphertext, 'pw');\n * aesGcmDecrypt(ciphertext, 'pw').then(function(plaintext) { console.log(plaintext); });\n *\n * @category Encryption\n */\nasync function aesGcmDecrypt(ciphertext, password) {\n const pwUtf8 = typeof password === 'string' ? new TextEncoder().encode(password) : password; // encode password as UTF-8\n const pwHash = await crypto.subtle.digest('SHA-256', pwUtf8); // hash the password\n const ivStr = ciphertext.slice(0, 12);\n const iv = typeof ivStr === 'string' ? new Uint8Array(Array.from(ivStr).map(ch => ch.charCodeAt(0))) : ivStr; // decode base64 iv\n const alg = { name: 'AES-GCM', iv: iv }; // specify algorithm to use\n const key = await crypto.subtle.importKey('raw', pwHash, alg, false, ['decrypt']); // generate key from pw\n const ctStr = ciphertext.slice(12);\n const ctUint8 = typeof ctStr === 'string' ? new Uint8Array(Array.from(ctStr).map(ch => ch.charCodeAt(0))) : ctStr;\n // note: why doesn't ctUint8 = new TextEncoder().encode(ctStr) work?\n try {\n const plainBuffer = await crypto.subtle.decrypt(alg, key, ctUint8); // decrypt ciphertext using key\n return typeof ciphertext === 'string' ? new TextDecoder().decode(plainBuffer) : new Uint8Array(plainBuffer);\n }\n catch (e) {\n throw new Error('Decrypt failed');\n }\n}\n\n/**\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * Modified from: https://github.com/GoogleChromeLabs/text-editor/blob/main/src/inline-scripts/fs-helpers.js\n */\n/**\n * Open a handle to an existing file on the local file system.\n *\n * @return {!Promise<FileSystemFileHandle>} Handle to the existing file.\n */\nfunction getFileHandle() {\n // For Chrome 86 and later...\n if ('showOpenFilePicker' in window) {\n return window.showOpenFilePicker().then((handles) => handles[0]);\n }\n // For Chrome 85 and earlier...\n return window.chooseFileSystemEntries();\n}\n/**\n * Create a handle to a new (text) file on the local file system.\n *\n * @return {!Promise<FileSystemFileHandle>} Handle to the new file.\n */\nfunction getNewFileHandle() {\n // For Chrome 86 and later...\n if ('showSaveFilePicker' in window) {\n const opts = {\n types: [{\n description: 'Text file',\n accept: { 'text/plain': ['.txt'] },\n }],\n };\n return window.showSaveFilePicker(opts);\n }\n // For Chrome 85 and earlier...\n const opts = {\n type: 'save-file',\n accepts: [{\n description: 'Text file',\n extensions: ['txt'],\n mimeTypes: ['text/plain'],\n }],\n };\n return window.chooseFileSystemEntries(opts);\n}\n/**\n * Reads the raw text from a file.\n *\n * @param {File} file\n * @return {!Promise<string>} A promise that resolves to the parsed string.\n */\nfunction readFile(file) {\n // If the new .text() reader is available, use it.\n if (file.text) {\n return file.text();\n }\n // Otherwise use the traditional file reading technique.\n return _readFileLegacy(file);\n}\n/**\n * Reads the raw text from a file.\n *\n * @private\n * @param {File} file\n * @return {Promise<string>} A promise that resolves to the parsed string.\n */\nfunction _readFileLegacy(file) {\n return new Promise((resolve) => {\n const reader = new FileReader();\n reader.addEventListener('loadend', (e) => {\n const text = e.srcElement.result;\n resolve(text);\n });\n reader.readAsText(file);\n });\n}\n/**\n * Writes the contents to disk.\n *\n * @param {FileSystemFileHandle} fileHandle File handle to write to.\n * @param {string} contents Contents to write.\n */\nasync function writeFile(fileHandle, contents) {\n // Support for Chrome 82 and earlier.\n if (fileHandle.createWriter) {\n // Create a writer (request permission if necessary).\n const writer = await fileHandle.createWriter();\n // Write the full length of the contents\n await writer.write(0, contents);\n // Close the file and write the contents to disk\n await writer.close();\n return;\n }\n // For Chrome 83 and later.\n // Create a FileSystemWritableFileStream to write to.\n const writable = await fileHandle.createWritable();\n // Write the contents of the file to the stream.\n await writable.write(contents);\n // Close the file and write the contents to disk.\n await writable.close();\n}\n/**\n * Verify the user has granted permission to read or write to the file, if\n * permission hasn't been granted, request permission.\n *\n * @param {FileSystemFileHandle} fileHandle File handle to check.\n * @param {boolean} withWrite True if write permission should be checked.\n * @return {boolean} True if the user has granted read/write permission.\n */\nasync function verifyPermission(fileHandle, withWrite) {\n const opts = {};\n if (withWrite) {\n opts.writable = true;\n // For Chrome 86 and later...\n opts.mode = 'readwrite';\n }\n // Check if we already have permission, if so, return true.\n if (await fileHandle.queryPermission(opts) === 'granted') {\n return true;\n }\n // Request permission to the file, if the user grants permission, return true.\n if (await fileHandle.requestPermission(opts) === 'granted') {\n return true;\n }\n // The user did nt grant permission, return false.\n return false;\n}\n\n/**\n * Convert an image {@link ImageBitmap} or {@link CanvasImageSource} to a new canvas with a max width. Good for resizing images keeping the aspect ratio and generating previews.\n * @param bitmap - image to convert\n * @param maxWidth - maximum width of the image (default: 8192). Images larger than this will be scaled down. This is because strings can get too long.\n * @param detachBitmap - detach the bitmap after conversion (default: false). This will free up bitmap memory if you don't need it anymore.\n *\n * See also {@link imageUrlToImageData}, {@link imageBitmapToBase64}, {@link imageBitmapToBlob}\n *\n * @category Images\n */\nfunction imageBitmapToCanvas(bitmap, maxWidth = 8192, detachBitmap = false) {\n var _a;\n if (!bitmap.width || !bitmap.height)\n throw new Error('Invalid bitmap');\n // create a canvas\n const canvas = document.createElement('canvas');\n // resize it to the size of our ImageBitmap\n canvas.width = Math.min(maxWidth, bitmap.width);\n canvas.height = Math.floor(1.0 + canvas.width * bitmap.height / bitmap.width);\n // try to get a bitmaprenderer context if same size\n const isBitmap = bitmap instanceof ImageBitmap;\n const ctx = isBitmap && detachBitmap && Math.abs(canvas.width - bitmap.width) < 0.5 ? canvas.getContext('bitmaprenderer') : undefined;\n if (ctx) {\n // transfer the ImageBitmap to it\n ctx.transferFromImageBitmap(bitmap); // less memory but it will detach the bitmap\n }\n else {\n // in case someone supports createImageBitmap only\n // twice in memory...\n (_a = canvas.getContext('2d')) === null || _a === void 0 ? void 0 : _a.drawImage(bitmap, 0, 0, canvas.width, canvas.height);\n }\n if (isBitmap && detachBitmap) {\n bitmap.close();\n }\n return canvas;\n}\n/**\n * Convert an image {@link ImageBitmap} or {@link CanvasImageSource} to a base64 data url.\n * @param bitmap - image to convert\n * @param maxWidth - maximum width of the image (default: 8192). Images larger than this will be scaled down. This is because strings can get too long.\n * @param detachBitmap - detach the bitmap after conversion (default: false). This will free up bitmap memory if you don't need it anymore.\n * @param type - mime type of the data url (default: 'image/png')\n *\n * See also {@link imageUrlToImageData}, {@link imageBitmapToCanvas}, {@link imageBitmapToBlob}\n *\n * @category Images\n */\nfunction imageBitmapToBase64(bitmap, maxWidth = 8192, detachBitmap = false, type = 'image/png') {\n if (!bitmap.width || !bitmap.height)\n return '';\n // create a canvas\n const canvas = imageBitmapToCanvas(bitmap, maxWidth, false);\n // get it back as a Blob\n const url = canvas.toDataURL(type);\n canvas.remove();\n if (detachBitmap && bitmap instanceof ImageBitmap) {\n bitmap.close();\n }\n return url;\n}\n/**\n * Convert an image {@link ImageBitmap} or {@link CanvasImageSource} to a blob.\n * @param bitmap - image to convert\n * @param maxWidth - maximum width of the image (default: 8192). Images larger than this will be scaled down. This is because strings can get too long.\n * @param detachBitmap - detach the bitmap after conversion (default: false). This will free up bitmap memory if you don't need it anymore.\n * @param type - mime type of the blob (default: 'image/png')\n *\n * See also {@link imageUrlToImageData}, {@link imageBitmapToCanvas}, {@link imageBitmapToBase64}\n *\n * @category Images\n */\nasync function imageBitmapToBlob(bitmap, maxWidth = 8192, detachBitmap = false, type = 'image/png') {\n if (!bitmap.width || !bitmap.height)\n return Promise.reject('Invalid bitmap');\n // create a canvas\n const canvas = imageBitmapToCanvas(bitmap, maxWidth, false);\n // get it back as a Blob\n return new Promise((resolve, reject) => {\n canvas.toBlob((blob) => {\n if (!blob)\n reject('Could not get blob');\n else\n resolve(blob);\n canvas.remove();\n if (detachBitmap && bitmap instanceof ImageBitmap) {\n bitmap.close();\n }\n }, type);\n });\n}\n/**\n * Downloads/parse the image from an url/data url and draw to an {@link ImageData} object.\n * @param url - url or data url of the image\n * @returns ImageData object\n *\n * See also {@link imageBitmapToBase64}\n *\n * @category Images\n */\nasync function imageUrlToImageData(url) {\n return new Promise((resolve, reject) => {\n const image = new Image();\n image.addEventListener('load', () => {\n const canvas = document.createElement('canvas');\n canvas.width = image.width;\n canvas.height = image.height;\n const context = canvas.getContext('2d');\n if (!context) {\n reject(new Error('Could not get 2d context'));\n return;\n }\n context.drawImage(image, 0, 0, canvas.width, canvas.height);\n const imageData = context.getImageData(0, 0, canvas.width, canvas.height);\n resolve(imageData);\n // how do i return this?\n canvas.remove();\n image.remove();\n }, false);\n image.addEventListener('error', (e) => {\n image.remove();\n reject(e);\n }, false);\n image.src = url;\n });\n}\n/**\n * Converts an HTML image to a canvas. This creates a new canvas element and draws the image on it.\n * @param image - image to convert\n * @param backgroundColor - background color of the canvas\n * @param scale - scale of the canvas\n * @param width - width of the canvas\n * @param height - height of the canvas\n * @returns a new canvas element\n *\n * @category Images\n */\nfunction imageToCanvas(image, { backgroundColor = '', scale = 1, width = 512, height = 512, }) {\n const canvas = document.createElement('canvas');\n const context = canvas.getContext('2d');\n const ratio = scale;\n const canvasWidth = width;\n const canvasHeight = height;\n canvas.width = canvasWidth * ratio;\n canvas.height = canvasHeight * ratio;\n canvas.style.width = `${canvasWidth}`;\n canvas.style.height = `${canvasHeight}`;\n if ((backgroundColor === null || backgroundColor === void 0 ? void 0 : backgroundColor.length) > 0) {\n context.fillStyle = backgroundColor;\n context.fillRect(0, 0, canvas.width, canvas.height);\n }\n context.drawImage(image, 0, 0, canvas.width, canvas.height);\n return canvas;\n}\n/**\n * Converts an {@link ImageData} to a canvas. This creates a new canvas element and draws the image data on it.\n * Image Data can be created from image pixels like from gl.readPixels\n * This can be used to convert a WebGL texture/render target to a canvas/data url.\n * Note: if the output is flipped, use {@link canvasFlipY} after this, like `canvasFlipY(imageDataToCanvas(imageData))`\n * @param data - image data to convert\n */\nfunction imageDataToCanvas(data) {\n const canvas = document.createElement('canvas');\n canvas.width = data.width;\n canvas.height = data.height;\n const context = canvas.getContext('2d');\n context.putImageData(data, 0, 0);\n return canvas;\n}\n/**\n * Check if the browser supports exporting to webp, with the canvas.toDataURL('image/webp') method.\n */\nfunction isWebpExportSupported() {\n const elem = document.createElement('canvas');\n if (elem.getContext && elem.getContext('2d')) {\n // was able or not to get WebP representation\n return elem.toDataURL('image/webp').startsWith('data:image/webp');\n }\n else {\n // very old browser like IE 8, canvas not supported\n return false;\n }\n}\n/**\n * Returns a new canvas with the image/canvas-content flipped vertically.\n * Useful for putImageData(as it does not respect scale and translate) and WebGL textures, which are flipped vertically.\n * @param canvas\n */\nfunction canvasFlipY(canvas) {\n const newCanvas = document.createElement('canvas');\n newCanvas.width = canvas.width;\n newCanvas.height = canvas.height;\n const ctx = newCanvas.getContext('2d');\n if (!ctx)\n throw new Error('Unable to get 2d context');\n ctx.translate(0, canvas.height);\n ctx.scale(1, -1);\n ctx.drawImage(canvas, 0, 0);\n return newCanvas;\n}\n/**\n * Load a Blob or a file containing an image and return an HTMLImageElement.\n * @param blob\n */\nfunction blobToImage(blob) {\n return new Promise((resolve, reject) => {\n const img = new Image();\n const url = URL.createObjectURL(blob);\n img.onload = () => {\n URL.revokeObjectURL(url);\n resolve(img);\n };\n img.onerror = (e) => {\n URL.revokeObjectURL(url);\n reject(e);\n };\n img.src = url;\n });\n}\n\n/**\n * Returns a data url for a 16x16 svg rectangle with the given color.\n * @param c - color\n *\n * @category SVGs\n */\nconst makeColorSvg = (c) => {\n return `data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='16' height='16' fill='%23${c}'/%3E%3C/svg%3E%0A`;\n};\n/**\n * Returns a data url for a 16x16 svg circle with the given color.\n * @param c - color\n *\n * @category SVGs\n */\nconst makeColorSvgCircle = (c) => {\n return `data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='8' cy='8' r='7' fill='%23${c}'/%3E%3C/svg%3E%0A`;\n};\n/**\n * Returns a data url for a svg with the given text.\n * @param text\n *\n * @category SVGs\n */\nconst makeTextSvg = (text) => {\n return `data:image/svg+xml,%3Csvg viewBox='0 0 80 14' xmlns='http://www.w3.org/2000/svg'%3E%3Ctext style='font: 8px \"Roboto Mono\", \"Source Code Pro\", Menlo, Courier, monospace; fill: white;' x='9' y='9'%3E${text}%3C/text%3E%3C/svg%3E%0A`;\n};\n/**\n * Renders an SVG to a canvas.\n * @param svgDataUrl - data url of the svg. Can be created with {@link svgUrl}\n * @param options - options\n *\n * @category SVGs\n */\nconst svgToCanvas = async (svgDataUrl, options) => {\n const image = await createImage(svgDataUrl);\n return imageToCanvas(image, options);\n};\n/**\n * Renders an SVG to a png data url.\n * @param svgDataUrl - data url of the svg. Can be created with {@link svgUrl}\n * @param options - options\n *\n * @category SVGs\n */\nconst svgToPng = async (svgDataUrl, options) => {\n return await svgToCanvas(svgDataUrl, options).then(canvas => canvas.toDataURL('image/png'));\n};\n\nconst defaultDownloader = async (url) => blobToDataURL(await (await fetch(url)).blob());\n/**\n * Find all URLs in svg, download them and replace with the URL in svg with the downloaded data URLs.\n * @param str - string\n * @param downloader - function to download the URLs in svg and return the data URL\n *\n * @category HTML To Image\n */\nasync function embedUrlRefs(str, downloader = defaultDownloader) {\n const urls = str.match(/(((ftp|https?):\\/\\/)[\\-\\w@:%_\\+.~#?,&\\/\\/=]+)/g);\n if (urls) {\n for (const url of urls) {\n const dataUrl = await downloader(url);\n str = str.replace(url, dataUrl);\n }\n }\n return str;\n}\n/**\n * Embeds an HTML string into a svg tag and converts to svg string or svg as data url\n * @param html - HTML string\n * @param style - CSS string\n * @param width - width of the svg\n * @param height - height of the svg\n * @param toDataUrl - if true, returns a data url, otherwise returns the svg string\n * @returns svg string or svg as data url\n *\n * @category HTML To Image\n */\nfunction htmlToSvg(html, style, { width, height }, toDataUrl = true) {\n const s = `\n<svg viewBox=\"0 0 ${width} ${height}\" xmlns=\"http://www.w3.org/2000/svg\">\n <style>\n ${style}\n </style>\n <foreignObject x=\"0\" y=\"0\" width=\"100%\" height=\"100%\">\n <div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"height: 100%; width: 100%; position: absolute: top:0; left:0\">\n ${html}\n </div>\n </foreignObject>\n</svg>\n `;\n return toDataUrl ? svgUrl(s) : s;\n}\n/**\n * Renders an HTML string to a canvas. This is done by first embedding HTML into a svg and then rendering the svg to a canvas.\n * @param html - HTML string\n * @param style - CSS string\n * @param options - options for rendering the canvas\n * @returns HTML canvas element\n *\n * @category HTML To Image\n */\nasync function htmlToCanvas(html, style, options) {\n const svg = htmlToSvg(html, style, options);\n return await svgToCanvas(svg, options);\n}\n/**\n * Renders an HTML string to a png. This is done by first embedding HTML into a svg and then rendering the svg to a png.\n * @param html\n * @param style\n * @param options\n * @returns png as data url\n *\n * @category HTML To Image\n */\nasync function htmlToPng(html, style, options) {\n const svg = htmlToSvg(html, style, options);\n return await svgToPng(svg, options);\n}\n\n/**\n * Returns the number which is larger in absolute value.\n * @param a\n * @param b\n *\n * @category Maths\n */\nfunction absMax(a, b) {\n return Math.abs(a) > Math.abs(b) ? a : b;\n}\n/**\n * Updates the bit at the given position to the given value.\n * @param number - the number to update\n * @param bitPosition - the bit position to update from the least significant bit (0) to most significant bit (31)\n * @param bitValue - 0 or 1\n */\nfunction updateBit(number, bitPosition, bitValue) {\n const bitValueNormalized = bitValue ? 1 : 0;\n const clearMask = ~(1 << bitPosition);\n return (number & clearMask) | (bitValueNormalized << bitPosition);\n}\n/**\n * Clears the bit at the given position.\n * @param number - the number to update\n * @param bitPosition - the bit position to update from the least significant bit (0) to most significant bit (31)\n */\nfunction clearBit(number, bitPosition) {\n const clearMask = ~(1 << bitPosition);\n return number & clearMask;\n}\n/**\n * Generate a UUID v4\n * https://stackoverflow.com/a/53723395/2229899\n */\nfunction uuidV4() {\n const ho = (n, p) => n.toString(16).padStart(p, '0'); /// Return the hexadecimal text representation of number `n`, padded with zeroes to be of length `p`\n const data = crypto.getRandomValues(new Uint8Array(16)); /// Fill the buffer with random data\n data[6] = (data[6] & 0xf) | 0x40; /// Patch the 6th byte to reflect a version 4 UUID\n data[8] = (data[8] & 0x3f) | 0x80; /// Patch the 8th byte to reflect a variant 1 UUID (version 4 UUIDs are)\n const view = new DataView(data.buffer); /// Create a view backed by the 16-byte buffer\n return `${ho(view.getUint32(0), 8)}-${ho(view.getUint16(4), 4)}-${ho(view.getUint16(6), 4)}-${ho(view.getUint16(8), 4)}-${ho(view.getUint32(10), 8)}${ho(view.getUint16(14), 4)}`; /// Compile the canonical textual form from the array data\n}\n\n/**\n * Get URL query parameter. If not found, return default value. Similar to PHP's $_GET\n * @param p - parameter name to get\n * @param def - default value if parameter not found\n *\n * @category URL\n */\nfunction getUrlQueryParam(p, def = null) {\n var _a;\n const url = new URL(window.location.href);\n return (_a = url.searchParams.get(p)) !== null && _a !== void 0 ? _a : def;\n}\n/**\n * Set URL query parameter. If value is null, remove parameter. Similar to PHP's $_GET\n * @param p - parameter name to set\n * @param v - parameter value or null to remove\n * @param reload - reload page after setting parameter, default false. If false, `history.replaceState` is used.\n *\n * @category URL\n */\nfunction setUrlQueryParam(p, v, reload = false) {\n const params = new URLSearchParams(location.search);\n if (v === null || v === undefined) {\n if (params.has(p))\n params.delete(p);\n }\n else\n params.set(p, v);\n if (!reload)\n window.history.replaceState({}, '', '?' + params.toString()); // todo: check if default state and set to /\n else\n window.location.search = params.toString();\n}\n/**\n * Join path parts with separator. Similar to PHP's pathJoin\n * @param parts - path parts\n * @param separator - separator, default '/'\n */\nfunction pathJoin(parts, separator = '/') {\n // const replace = new RegExp(separator + '{1,}', 'g')\n return parts.join(separator); // .replace(replace, separator) //todo fix: replace breaks https://raw to https:/raw\n}\n/**\n * Returns a blob:// URL which points to a javascript file which will call importScripts with the given URL, to be used for cross-origin workers.\n * https://stackoverflow.com/questions/21913673/execute-web-worker-from-different-origin\n * @param url - URL to the worker js file\n * @param wasmURL - optional wasm file URL, will be passed to a created Module.locateFile (for emscripten)\n */\nfunction remoteWorkerURL(url, wasmURL) {\n const content = (wasmURL ? `var Module = { locateFile: function(s) { return \"${wasmURL}\"; } }; \\n` : '')\n + `importScripts( \"${url}\" );`;\n return URL.createObjectURL(new Blob([content], { type: 'text/javascript' }));\n}\n\nexport { Damper, LinearToSRGB, PointerDragHelper, SRGBToLinear, Serialization, SimpleEventDispatcher, TYPED_ARRAYS, absMax, aesGcmDecrypt, aesGcmEncrypt, arrayBufferToBase64, base64ToArrayBuffer, blobToDataURL, blobToImage, canvasFlipY, clearBit, colorToDataUrl, copyProps, createCanvasElement, createDiv, createImage, createScriptFromURL, createStyles, css, deepAccessObject, downloadBlob, downloadFile, embedUrlRefs, escapeRegExp, findLastIndex, getFileHandle, getFilenameFromPath, getKeyByValue, getNewFileHandle, getOrCall, getPropertyDescriptor, getTypedArray, getUrlQueryParam, glsl, html, htmlToCanvas, htmlToPng, htmlToSvg, imageBitmapToBase64, imageBitmapToBlob, imageBitmapToCanvas, imageDataToCanvas, imageToCanvas, imageUrlToImageData, includesAll, isPropertyWritable, isWebpExportSupported, longestCommonPrefix, makeColorSvg, makeColorSvgCircle, makeTextSvg, mobileAndTabletCheck, now, objectHasOwn, objectMap, objectMap2, onChange, onChange2, onChange3, onChangeDispatchEvent, parseFileExtension, pathJoin, prettyScrollbar, readFile, remoteWorkerURL, replaceAll, safeSetProperty, serializable, serialize, setUrlQueryParam, svgToCanvas, svgToPng, svgUrl, timeout, toTitleCase, updateBit, uploadFile, uuidV4, verifyPermission, wrapThisFunction, writeFile };\n//# sourceMappingURL=bundle.esm.js.map\n","/**\n * @license\n * uiconfig.js v0.0.9\n * Copyright 2022-2023 repalash <palash@shaders.app>\n * MIT License\n */\n\n/**\n * @license\n * ts-browser-helpers v0.5.0\n * Copyright 2022-2023 repalash <palash@shaders.app>\n * MIT License\n */\n\n/**\n * A simple event dispatcher with typed event types, see {@link IEventDispatcher}.\n */\nclass SimpleEventDispatcher {\n constructor() {\n this._eventListeners = {};\n this.dispatchEvent = this.dispatchEvent.bind(this);\n this.addEventListener = this.addEventListener.bind(this);\n this.removeEventListener = this.removeEventListener.bind(this);\n this.hasEventListener = this.hasEventListener.bind(this);\n }\n addEventListener(type, listener) {\n const listeners = this._eventListeners;\n if (listeners[type] === undefined)\n listeners[type] = [];\n if (!listeners[type].includes(listener))\n listeners[type].push(listener);\n }\n hasEventListener(type, listener) {\n const listeners = this._eventListeners;\n return listeners[type] !== undefined && listeners[type].includes(listener);\n }\n removeEventListener(type, listener) {\n const listeners = this._eventListeners;\n const listenerArray = listeners[type];\n if (listenerArray !== undefined) {\n const index = listenerArray.indexOf(listener);\n if (index !== -1)\n listenerArray.splice(index, 1);\n }\n }\n dispatchEvent(event) {\n const listeners = this._eventListeners;\n const listenerArray = listeners[event.type];\n if (listenerArray !== undefined) {\n event.target = this;\n // Make a copy, in case listeners are removed while iterating.\n const array = listenerArray.slice(0);\n for (let i = 0, l = array.length; i < l; i++)\n array[i].call(this, event);\n }\n }\n}\n\n/**\n * Returns a promise that resolves after the given duration. Basically a setTimeout that returns a promise.\n * @param duration - in ms\n *\n * @category Time\n */\nasync function timeout(duration) {\n return new Promise(resolve => setTimeout(resolve, Math.max(0, duration)));\n}\n/**\n * Returns the current time in milliseconds. If performance.now() is available, it is used, otherwise Date.now() is used.\n *\n * @category Time\n */\nfunction now() {\n return (typeof performance === 'undefined' ? Date : performance).now(); // see threejs #10732\n}\n/**\n * Creates a HTML div element.\n * @param innerHTML - HTML string to add to the div\n * @param id - id of the div\n * @param classList - list of classes to add to the div\n * @param addToBody - add the div to the body\n * @param elementTag - tag of the element to create (default: div)\n *\n * @category DOM\n */\nfunction createDiv({ innerHTML = '', id, classList, addToBody = true, elementTag = 'div' }) {\n const elem = document.createElement(elementTag);\n if (id)\n elem.id = id;\n elem.innerHTML = innerHTML;\n if (classList)\n elem.classList.add(...classList);\n if (addToBody)\n document.body.appendChild(elem);\n return elem;\n}\n\n/**\n * Get property descriptor from object or its prototype chain\n * @param obj\n * @param prop\n *\n * @category JS Object\n */\nfunction getPropertyDescriptor(obj, prop) {\n let desc;\n do {\n desc = Object.getOwnPropertyDescriptor(obj, prop);\n } while (!desc && (obj = Object.getPrototypeOf(obj)));\n return desc;\n}\n/**\n * Check if property is writable in object or its prototype chain\n * @param object - object to check\n * @param prop - property to check\n * @param allowWritable - allow writable properties without setter\n * @param allowAny - allow any property (even if it doesn't exist)\n *\n * @category JS Object\n */\nfunction isPropertyWritable(object, prop, allowWritable = true, allowAny = false) {\n const desc = getPropertyDescriptor(object, prop);\n return !!(desc === null || desc === void 0 ? void 0 : desc.set)\n || allowWritable && (desc === null || desc === void 0 ? void 0 : desc.writable) !== false && (desc === null || desc === void 0 ? void 0 : desc.get) === undefined\n || allowAny && !desc;\n}\n/**\n * Set value only if setter exists\n * @param object - object to set\n * @param prop - property to set\n * @param value - value to set\n * @param allowWritable - allow writable properties without setter\n * @param allowAny - allow any property (even if it doesn't exist)\n *\n * @category JS Object\n */\nfunction safeSetProperty(object, prop, value, allowWritable = true, allowAny = false) {\n // check type?\n if (object && isPropertyWritable(object, prop, allowWritable, allowAny)) {\n object[prop] = value;\n return true;\n }\n return false;\n}\n/**\n * Get value, but if it is a function, call it with args\n * @param s - value or function\n * @param args - arguments to pass to function\n *\n * @category JS Object\n */\nfunction getOrCall(s, ...args) {\n if (typeof s === 'function')\n s = s(...args);\n return s;\n}\n\n// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nfunction rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}\n\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nfunction unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();\n}\n\nconst randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nvar native = {\n randomUUID\n};\n\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(rnds);\n}\n\nclass UiConfigTypeMap {\n}\nUiConfigTypeMap.Map = new Map();\nfunction generateValueConfig(obj, key, label, val) {\n val = val !== null && val !== void 0 ? val : obj[key];\n const config = val === null || val === void 0 ? void 0 : val.uiConfig;\n let result = undefined;\n if (config) {\n result = config;\n }\n else {\n const uiType = valueToUiType(val);\n if (uiType === 'folder') {\n result = generateUiFolder(key + '', val);\n }\n else if (uiType)\n result = {\n type: uiType,\n label: key + '',\n property: [obj, key],\n };\n }\n label = label !== null && label !== void 0 ? label : key + '';\n if (result && !result.label)\n result.label = label;\n return result;\n}\nfunction generateUiConfig(obj) {\n if (!obj)\n return [];\n let type = obj.constructor || Object;\n if (type === Array)\n type = Object;\n const result = [];\n const types = [];\n while (type && type !== Object) {\n types.push(type);\n type = Object.getPrototypeOf(type);\n }\n if (!types.length) {\n const keys = typeof obj === 'object' ? Object.keys(obj) : Array.isArray(obj) ? obj.map((_, i) => i) : [];\n for (const key of keys) {\n const val = obj[key];\n if (val === undefined || val === null)\n continue;\n // if (Array.isArray(obj)) debugger\n const c = () => generateValueConfig(obj, key, key + '', val);\n if (c)\n result.push(c);\n }\n }\n // reversing so we get the parent first\n types.reverse().forEach(t => {\n var _a;\n (_a = UiConfigTypeMap.Map.get(t)) === null || _a === void 0 ? void 0 : _a.forEach(({ params, propKey, uiType }) => {\n let config;\n if (!uiType) {\n config = () => generateValueConfig(obj, propKey);\n }\n if (!config) {\n config = {\n property: [obj, propKey],\n type: uiType || 'input',\n // ...params,\n // ...extraParams,\n };\n }\n if (params) {\n const extraParams = typeof params.params === 'function' ? params.params(obj) : params.params || {};\n const params1 = Object.assign({}, params);\n delete params1.params;\n if (typeof config === 'function') {\n const c1 = config;\n config = () => Object.assign(c1(), Object.assign(Object.assign({}, params1), extraParams));\n }\n Object.assign(config, Object.assign(Object.assign({}, params1), extraParams));\n }\n result.push(config);\n // if (typeof obj.setDirty === 'function') {\n // const changer = ()=>obj.setDirty()\n // if (!obj.onChange) obj.onChange = changer\n // else {\n // const oldOnChange = obj.onChange\n // Array.isArray(oldOnChange) ? oldOnChange.push(changer) : obj.onChange = [...oldOnChange, changer]\n // }\n // }\n });\n });\n return result;\n}\nfunction generateUiFolder(label, obj, params = {}, type = 'folder') {\n return Object.assign({ type, label, children: generateUiConfig(obj), uuid: v4() }, params);\n}\nfunction valueToUiType(val) {\n if (val === null || val === undefined)\n return null;\n if (Array.isArray(val))\n return 'folder';\n if (typeof val === 'boolean')\n return 'checkbox';\n if (typeof val === 'number')\n return 'number';\n if (typeof val === 'string')\n return 'input';\n if (typeof val === 'function')\n return 'button';\n if (typeof val.x === 'number')\n return 'vec';\n if (typeof val.r === 'number')\n return 'color';\n if (val.isTexture)\n return 'image';\n if (typeof val === 'object')\n return 'folder';\n return null;\n}\n\n/**\n * Decorator for uiConfig\n * @param action - function that will be called with the targetPrototype, propertyKey and uiConfigs, and should modify the uiConfigs\n */\nfunction uiConfigDecorator(action) {\n return (targetPrototype, propertyKey) => {\n const type = targetPrototype.constructor;\n if (type === Object)\n throw new Error('Not possible to use uiConfig decorator on an object, use class instead');\n if (!UiConfigTypeMap.Map.has(type))\n UiConfigTypeMap.Map.set(type, []);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n action(targetPrototype, propertyKey, UiConfigTypeMap.Map.get(type));\n };\n}\n// for properties\nfunction uiConfig(uiType, params) {\n return uiConfigDecorator((_, propertyKey, uiConfigs) => {\n const index = uiConfigs.findIndex(item => item.propKey === propertyKey);\n if (index && index < 0)\n uiConfigs.push({\n params: params || {},\n propKey: propertyKey,\n uiType,\n });\n else {\n throw new Error(`Property ${propertyKey} already has a uiConfig decorator`);\n }\n });\n}\n// for classes\nfunction uiContainer(label, params, type = 'panel') {\n return (constructor) => {\n return class extends constructor {\n constructor() {\n super(...arguments);\n this.uiConfig = generateUiFolder(getOrCall(label, this) || '', this, params || {}, type);\n }\n };\n };\n}\n\nfunction uiMonitor(label, params) {\n return uiConfig('monitor', { label, params });\n}\nfunction uiSlider(label, bounds, stepSize, params) {\n return uiConfig('slider', { label, bounds, stepSize, params });\n}\nfunction uiVector(label, bounds, stepSize, params) {\n return uiConfig('vec', { label, bounds, stepSize, params });\n}\nfunction uiDropdown(label, children, params) {\n return uiConfig('dropdown', { label, children, params });\n}\nfunction uiButton(label, params) {\n return uiConfig('button', { label, params });\n}\nfunction uiInput(label, params) {\n return uiConfig('input', { label, params });\n}\nfunction uiNumber(label, params) {\n return uiConfig('number', { label, params });\n}\nfunction uiColor(label, params) {\n return uiConfig('color', { label, params });\n}\nfunction uiImage(label, params) {\n return uiConfig('image', { label, params });\n}\nfunction uiToggle(label, params) {\n return uiConfig('checkbox', { label, params });\n}\nfunction uiPanelContainer(label, params) {\n return uiContainer(label, params, 'panel');\n}\nfunction uiFolderContainer(label, params) {\n return uiContainer(label, params, 'folder');\n}\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\n\nclass UiConfigMethods {\n constructor(_renderer) {\n this._renderer = _renderer;\n }\n getBinding(config) {\n let prop = getOrCall(config.property);\n const path = getOrCall(config.path);\n if (!prop || typeof prop[0] !== 'object' || !prop[1]) {\n // console.warn('cannot determine property', config)\n return [undefined, ''];\n }\n if (typeof prop[1] === 'string' && path && path.length)\n prop = [prop[0], prop[1] + '.' + path];\n if (typeof prop[1] === 'string' && prop[1].includes('.')) {\n // json path\n const path1 = prop[1].split('.');\n let tar = prop[0];\n const key = path1.pop() || '';\n for (const p of path1) {\n tar = Array.isArray(tar) ? tar[parseInt(p)] : tar[p];\n if (!tar) {\n console.warn('Cannot determine property, invalid property path', config, prop);\n return [undefined, ''];\n }\n }\n prop = [tar, key];\n }\n if (Array.isArray(prop[0]) && typeof prop[1] === 'string')\n prop[1] = parseInt(prop[1]);\n return prop;\n }\n getValue(config) {\n const [tar, key] = this.getBinding(config);\n return tar ? tar[key] : undefined;\n }\n dispatchOnChangeSync(config, props, ...args) {\n var _a, _b, _c;\n const changeEvent = {\n type: 'change',\n last: (_a = props.last) !== null && _a !== void 0 ? _a : true,\n config: (_b = props.config) !== null && _b !== void 0 ? _b : config,\n configPath: [config, ...props.configPath || []],\n target: config,\n value: props.value,\n lastValue: props.lastValue,\n };\n const changeArgs = [changeEvent, ...args];\n if (typeof config.onChange === 'function')\n config.onChange(...changeArgs);\n else if (Array.isArray(config.onChange)) {\n config.onChange.flat().forEach((c) => typeof c === 'function' && (c === null || c === void 0 ? void 0 : c(...changeArgs)));\n }\n else if (config.onChange) {\n console.error('Invalid onChange type, must be a function or array of functions', config.onChange);\n }\n (_c = config.parentOnChange) === null || _c === void 0 ? void 0 : _c.call(config, ...changeArgs);\n }\n setValue(config, value, props, forceOnChange) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.runAtEvent(config, () => {\n var _a;\n const [tar, key] = this.getBinding(config);\n const lastValue = (_a = props.lastValue) !== null && _a !== void 0 ? _a : tar[key];\n if (!tar || value === lastValue || !safeSetProperty(tar, key, value, true, true)) {\n if (!forceOnChange)\n return false;\n }\n this.dispatchOnChangeSync(config, Object.assign(Object.assign({}, props), { value, lastValue }));\n return true;\n });\n });\n }\n dispatchOnChange(config, props) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.runAtEvent(config, () => {\n this.dispatchOnChangeSync(config, props);\n });\n });\n }\n getLabel(config) {\n var _a;\n return ((_a = getOrCall(config.label)) !== null && _a !== void 0 ? _a : this.getBinding(config)[1]) + '';\n }\n getChildren(config) {\n var _a;\n return ((_a = config.children) !== null && _a !== void 0 ? _a : []).map(v => getOrCall(v)).flat(2).filter(v => v);\n }\n clickButton(config, options) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.runAtEvent(config, () => __awaiter(this, void 0, void 0, function* () {\n // const args: any[] = []\n // const prmpt = getOrCall(config.prompt)\n // if (prmpt) args.push(await this._renderer.prompt(...prmpt))\n var _a, _b, _c;\n const binding = this.getBinding(config);\n const tar = (_a = binding[0]) !== null && _a !== void 0 ? _a : config;\n const key = binding[1] || 'onClick';\n const action = ((_b = tar[key]) !== null && _b !== void 0 ? _b : tar.value);\n if (typeof action === 'function') {\n action.call(tar, ...(_c = options === null || options === void 0 ? void 0 : options.args) !== null && _c !== void 0 ? _c : []);\n }\n else if (action) {\n console.warn('Invalid action type for button', action);\n }\n this.dispatchOnChange(config, {});\n }));\n });\n }\n runAtEvent(config, run) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n const dispatchMode = (_a = getOrCall(config.dispatchMode)) !== null && _a !== void 0 ? _a : 'postFrame';\n if (dispatchMode === 'immediate')\n return run();\n return new Promise((resolve) => {\n const listener = () => __awaiter(this, void 0, void 0, function* () {\n this._renderer.removeEventListener(dispatchMode, listener);\n resolve(yield run());\n });\n this._renderer.addEventListener(dispatchMode, listener);\n });\n });\n }\n initUiConfig(config) {\n if (!config)\n return;\n if (!config.type) {\n console.warn('No type for config', config);\n config.type = 'input';\n }\n if (!config.uuid)\n config.uuid = v4();\n if (config.property === undefined) {\n if (config.binding)\n config.property = config.binding;\n else if (config.value === undefined) {\n if (config.getValue || config.setValue) {\n Object.defineProperty(config, 'value', {\n get: () => config.getValue && config.getValue(),\n set: (v) => config.setValue && config.setValue(v),\n });\n }\n }\n else if (config.getValue || config.setValue) {\n console.warn('getValue/setValue is ignored since value is provided', config);\n }\n if (config.property === undefined && config.value !== undefined) {\n config.property = [config, 'value'];\n }\n }\n }\n}\n\nclass UiConfigRendererBase extends SimpleEventDispatcher {\n constructor(container = document.body, autoFrameEvents = true, methods) {\n super();\n this.config = {\n type: 'panel',\n label: 'Configuration',\n children: [],\n };\n this._refreshQueue = {\n 'preRender': [],\n 'postRender': [],\n 'preFrame': [],\n 'postFrame': [],\n };\n this._lastModeTime = {\n 'preRender': 0,\n 'postRender': 0,\n 'preFrame': 0,\n 'postFrame': 0,\n };\n this.methods = methods || new UiConfigMethods(this);\n const uiContainer = this._createUiContainer();\n container.appendChild(uiContainer);\n if (autoFrameEvents) {\n this.addEventListener('preFrame', () => this.refreshQueue('preFrame'));\n this.addEventListener('postFrame', () => this.refreshQueue('postFrame'));\n this.addEventListener('preRender', () => this.refreshQueue('preRender'));\n this.addEventListener('postRender', () => this.refreshQueue('postRender'));\n const fn = () => {\n this.dispatchEvent({ type: 'preFrame' });\n this.dispatchEvent({ type: 'preRender' });\n this.dispatchEvent({ type: 'postRender' });\n this.dispatchEvent({ type: 'postFrame' });\n requestAnimationFrame(fn);\n };\n requestAnimationFrame(fn);\n }\n }\n refreshQueue(mode) {\n const l = this._refreshQueue[mode];\n const l2 = [];\n const t = now();\n const delta = t - this._lastModeTime[mode];\n l.forEach(value => {\n if (value[1] > 0.001) {\n value[1] -= delta;\n l2.push(value);\n }\n else\n this._refreshUiConfigObject(value[0]);\n }); // todo: add option to disable ui refresh like for when animating\n this._refreshQueue[mode] = l2;\n this._lastModeTime[mode] = t;\n }\n _addToRefreshQueue(mode, config, delay) {\n const uuid = config.uuid;\n const l = this._refreshQueue[mode];\n // if (uuid) {\n // l = l.filter(v=>v[3] !== uuid)\n // }\n // console.warn('add to refresh queue:', uuid)\n const old = l.find(value => value[2] === uuid);\n if (!old)\n l.push([config, delay, uuid]);\n else {\n old[1] = Math.max(old[1], delay); // push delay\n }\n this._refreshQueue[mode] = l;\n }\n dispose() {\n // todo\n }\n // appendUiConfig(uiConfig: UiObjectConfig): void {\n // if (!uiConfig) return\n // this._renderUiConfig(uiConfig)\n // }\n appendChild(config, params) {\n if (!config)\n return;\n Object.assign(config, params);\n this.config.children.push(config);\n this.refreshRoot();\n }\n removeChild(config) {\n const index = this.config.children.indexOf(config);\n if (index === -1)\n return;\n this.config.children.splice(index, 1);\n this.disposeUiConfig(config);\n this.refreshRoot();\n }\n refreshRoot(deep = true, mode = 'postFrame', delay = 0) {\n var _a, _b;\n (_b = (_a = this.config).uiRefresh) === null || _b === void 0 ? void 0 : _b.call(_a, deep, mode, delay);\n }\n /**\n * Disposes the UI associated with a config, doesn't makes change to the object or its parent.\n * @param config\n * @param performDispose\n */\n disposeUiConfig(config, performDispose = true) {\n var _a, _b;\n if (!config)\n return;\n if (config.uiRef) {\n if (performDispose)\n (_b = (_a = config.uiRef).dispose) === null || _b === void 0 ? void 0 : _b.call(_a);\n config.uiRef = undefined;\n }\n config.uiRefType = undefined;\n config.uiRefresh = undefined;\n }\n addToRefreshQueue(mode, uiConfig, deep, delay) {\n const list = deep ? this._flattenUiConfig(uiConfig) : [uiConfig];\n for (const value of list) {\n if (mode === 'immediate')\n timeout(delay).then(() => this._refreshUiConfigObject(value));\n else\n this._addToRefreshQueue(mode, value, delay);\n }\n }\n _createUiContainer() {\n return createDiv({ id: 'uiConfigContainer', addToBody: false });\n }\n _flattenUiConfig(uiC, list) {\n var _a;\n list = list !== null && list !== void 0 ? list : [];\n if (!uiC || !uiC.uiRef)\n return list;\n list.push(uiC);\n (_a = uiC.children) === null || _a === void 0 ? void 0 : _a.forEach(value => {\n if (typeof value === 'function') {\n return;\n // todo: call function. this is commented because it makes it slower and it doesnt matter much since result of function most likely wont have uiRef\n // value = value()\n }\n if (!value)\n return;\n if (Array.isArray(value))\n value.forEach(v1 => list = this._flattenUiConfig(v1, list));\n else\n list = this._flattenUiConfig(value, list);\n });\n return list;\n }\n}\n\nexport { UiConfigMethods, UiConfigRendererBase, UiConfigTypeMap, generateUiConfig, generateUiFolder, generateValueConfig, uiButton, uiColor, uiConfig, uiContainer, uiDropdown, uiFolderContainer, uiImage, uiInput, uiMonitor, uiNumber, uiPanelContainer, uiSlider, uiToggle, uiVector };\n//# sourceMappingURL=index.mjs.map\n","/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';function f(a,b){var c=a.length;a.push(b);a:for(;0<c;){var d=c-1>>>1,e=a[d];if(0<g(e,b))a[d]=b,a[c]=e,c=d;else break a}}function h(a){return 0===a.length?null:a[0]}function k(a){if(0===a.length)return null;var b=a[0],c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length,w=e>>>1;d<w;){var m=2*(d+1)-1,C=a[m],n=m+1,x=a[n];if(0>g(C,c))n<e&&0>g(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(n<e&&0>g(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Q<P?!1:!0}function R(){if(null!==O){var a=exports.unstable_now();Q=a;var b=!0;try{b=O(!0,a)}finally{b?S():(N=!1,O=null)}}else N=!1}var S;if(\"function\"===typeof F)S=function(){F(R)};else if(\"undefined\"!==typeof MessageChannel){var T=new MessageChannel,U=T.port2;T.port1.onmessage=R;S=function(){U.postMessage(null)}}else S=function(){D(R,0)};function I(a){O=a;N||(N=!0,S())}function K(a,b){L=D(function(){a(exports.unstable_now())},b)}\nexports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){A||z||(A=!0,I(J))};\nexports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):P=0<a?Math.floor(1E3/a):5};exports.unstable_getCurrentPriorityLevel=function(){return y};exports.unstable_getFirstCallbackNode=function(){return h(r)};exports.unstable_next=function(a){switch(y){case 1:case 2:case 3:var b=3;break;default:b=y}var c=y;y=b;try{return a()}finally{y=c}};exports.unstable_pauseExecution=function(){};\nexports.unstable_requestPaint=function(){};exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=y;y=a;try{return b()}finally{y=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0<c?d+c:d):c=d;switch(a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1E4;break;default:e=5E3}e=c+e;a={id:u++,callback:b,priorityLevel:a,startTime:c,expirationTime:e,sortIndex:-1};c>d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var da=new Set,ea={};function fa(a,b){ha(a,b);ha(a+\"Capture\",b)}\nfunction ha(a,b){ea[a]=b;for(a=0;a<b.length;a++)da.add(b[a])}\nvar ia=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),ja=Object.prototype.hasOwnProperty,ka=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,la=\n{},ma={};function oa(a){if(ja.call(ma,a))return!0;if(ja.call(la,a))return!1;if(ka.test(a))return ma[a]=!0;la[a]=!0;return!1}function pa(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction qa(a,b,c,d){if(null===b||\"undefined\"===typeof b||pa(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1])qa(b,c,e,d)&&(c=null),d||null===e?oa(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c)))}\nvar ua=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,va=Symbol.for(\"react.element\"),wa=Symbol.for(\"react.portal\"),ya=Symbol.for(\"react.fragment\"),za=Symbol.for(\"react.strict_mode\"),Aa=Symbol.for(\"react.profiler\"),Ba=Symbol.for(\"react.provider\"),Ca=Symbol.for(\"react.context\"),Da=Symbol.for(\"react.forward_ref\"),Ea=Symbol.for(\"react.suspense\"),Fa=Symbol.for(\"react.suspense_list\"),Ga=Symbol.for(\"react.memo\"),Ha=Symbol.for(\"react.lazy\");Symbol.for(\"react.scope\");Symbol.for(\"react.debug_trace_mode\");\nvar Ia=Symbol.for(\"react.offscreen\");Symbol.for(\"react.legacy_hidden\");Symbol.for(\"react.cache\");Symbol.for(\"react.tracing_marker\");var Ja=Symbol.iterator;function Ka(a){if(null===a||\"object\"!==typeof a)return null;a=Ja&&a[Ja]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}var A=Object.assign,La;function Ma(a){if(void 0===La)try{throw Error();}catch(c){var b=c.stack.trim().match(/\\n( *(at )?)/);La=b&&b[1]||\"\"}return\"\\n\"+La+a}var Na=!1;\nfunction Oa(a,b){if(!a||Na)return\"\";Na=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(b)if(b=function(){throw Error();},Object.defineProperty(b.prototype,\"props\",{set:function(){throw Error();}}),\"object\"===typeof Reflect&&Reflect.construct){try{Reflect.construct(b,[])}catch(l){var d=l}Reflect.construct(a,[],b)}else{try{b.call()}catch(l){d=l}a.call(b.prototype)}else{try{throw Error();}catch(l){d=l}a()}}catch(l){if(l&&d&&\"string\"===typeof l.stack){for(var e=l.stack.split(\"\\n\"),\nf=d.stack.split(\"\\n\"),g=e.length-1,h=f.length-1;1<=g&&0<=h&&e[g]!==f[h];)h--;for(;1<=g&&0<=h;g--,h--)if(e[g]!==f[h]){if(1!==g||1!==h){do if(g--,h--,0>h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"<anonymous>\")&&(k=k.replace(\"<anonymous>\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+Sa(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction gb(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(p(91));return A({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function hb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(p(92));if(eb(c)){if(1<c.length)throw Error(p(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}function kb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}\nfunction lb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?kb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar mb,nb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(\"http://www.w3.org/2000/svg\"!==a.namespaceURI||\"innerHTML\"in a)a.innerHTML=b;else{mb=mb||document.createElement(\"div\");mb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a<b.length;a++)Bb(b[a])}}function Gb(a,b){return a(b)}function Hb(){}var Ib=!1;function Jb(a,b,c){if(Ib)return a(b,c);Ib=!0;try{return Gb(a,b,c)}finally{if(Ib=!1,null!==zb||null!==Ab)Hb(),Fb()}}\nfunction Kb(a,b){var c=a.stateNode;if(null===c)return null;var d=Db(c);if(null===d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==\ntypeof c)throw Error(p(231,b,typeof c));return c}var Lb=!1;if(ia)try{var Mb={};Object.defineProperty(Mb,\"passive\",{get:function(){Lb=!0}});window.addEventListener(\"test\",Mb,Mb);window.removeEventListener(\"test\",Mb,Mb)}catch(a){Lb=!1}function Nb(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(m){this.onError(m)}}var Ob=!1,Pb=null,Qb=!1,Rb=null,Sb={onError:function(a){Ob=!0;Pb=a}};function Tb(a,b,c,d,e,f,g,h,k){Ob=!1;Pb=null;Nb.apply(Sb,arguments)}\nfunction Ub(a,b,c,d,e,f,g,h,k){Tb.apply(this,arguments);if(Ob){if(Ob){var l=Pb;Ob=!1;Pb=null}else throw Error(p(198));Qb||(Qb=!0,Rb=l)}}function Vb(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.flags&4098)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function Wb(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function Xb(a){if(Vb(a)!==a)throw Error(p(188));}\nfunction Yb(a){var b=a.alternate;if(!b){b=Vb(a);if(null===b)throw Error(p(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return Xb(e),a;if(f===d)return Xb(e),b;f=f.sibling}throw Error(p(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(p(189));}}if(c.alternate!==d)throw Error(p(190));}if(3!==c.tag)throw Error(p(188));return c.stateNode.current===c?a:b}function Zb(a){a=Yb(a);return null!==a?$b(a):null}function $b(a){if(5===a.tag||6===a.tag)return a;for(a=a.child;null!==a;){var b=$b(a);if(null!==b)return b;a=a.sibling}return null}\nvar ac=ca.unstable_scheduleCallback,bc=ca.unstable_cancelCallback,cc=ca.unstable_shouldYield,dc=ca.unstable_requestPaint,B=ca.unstable_now,ec=ca.unstable_getCurrentPriorityLevel,fc=ca.unstable_ImmediatePriority,gc=ca.unstable_UserBlockingPriority,hc=ca.unstable_NormalPriority,ic=ca.unstable_LowPriority,jc=ca.unstable_IdlePriority,kc=null,lc=null;function mc(a){if(lc&&\"function\"===typeof lc.onCommitFiberRoot)try{lc.onCommitFiberRoot(kc,a,void 0,128===(a.current.flags&128))}catch(b){}}\nvar oc=Math.clz32?Math.clz32:nc,pc=Math.log,qc=Math.LN2;function nc(a){a>>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0<b;)c=31-oc(b),e=1<<c,d|=a[c],b&=~e;return d}\nfunction vc(a,b){switch(a){case 1:case 2:case 4:return b+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return b+5E3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}\nfunction wc(a,b){for(var c=a.suspendedLanes,d=a.pingedLanes,e=a.expirationTimes,f=a.pendingLanes;0<f;){var g=31-oc(f),h=1<<g,k=e[g];if(-1===k){if(0===(h&c)||0!==(h&d))e[g]=vc(h,b)}else k<=b&&(a.expiredLanes|=h);f&=~h}}function xc(a){a=a.pendingLanes&-1073741825;return 0!==a?a:a&1073741824?1073741824:0}function yc(){var a=rc;rc<<=1;0===(rc&4194240)&&(rc=64);return a}function zc(a){for(var b=[],c=0;31>c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0<c;){var e=31-oc(c),f=1<<e;b[e]=0;d[e]=-1;a[e]=-1;c&=~f}}\nfunction Cc(a,b){var c=a.entangledLanes|=b;for(a=a.entanglements;c;){var d=31-oc(c),e=1<<d;e&b|a[d]&b&&(a[d]|=b);c&=~e}}var C=0;function Dc(a){a&=-a;return 1<a?4<a?0!==(a&268435455)?16:536870912:4:1}var Ec,Fc,Gc,Hc,Ic,Jc=!1,Kc=[],Lc=null,Mc=null,Nc=null,Oc=new Map,Pc=new Map,Qc=[],Rc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit\".split(\" \");\nfunction Sc(a,b){switch(a){case \"focusin\":case \"focusout\":Lc=null;break;case \"dragenter\":case \"dragleave\":Mc=null;break;case \"mouseover\":case \"mouseout\":Nc=null;break;case \"pointerover\":case \"pointerout\":Oc.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":Pc.delete(b.pointerId)}}\nfunction Tc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a={blockedOn:b,domEventName:c,eventSystemFlags:d,nativeEvent:f,targetContainers:[e]},null!==b&&(b=Cb(b),null!==b&&Fc(b)),a;a.eventSystemFlags|=d;b=a.targetContainers;null!==e&&-1===b.indexOf(e)&&b.push(e);return a}\nfunction Uc(a,b,c,d,e){switch(b){case \"focusin\":return Lc=Tc(Lc,a,b,c,d,e),!0;case \"dragenter\":return Mc=Tc(Mc,a,b,c,d,e),!0;case \"mouseover\":return Nc=Tc(Nc,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;Oc.set(f,Tc(Oc.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,Pc.set(f,Tc(Pc.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction Vc(a){var b=Wc(a.target);if(null!==b){var c=Vb(b);if(null!==c)if(b=c.tag,13===b){if(b=Wb(c),null!==b){a.blockedOn=b;Ic(a.priority,function(){Gc(c)});return}}else if(3===b&&c.stateNode.current.memoizedState.isDehydrated){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}\nfunction Xc(a){if(null!==a.blockedOn)return!1;for(var b=a.targetContainers;0<b.length;){var c=Yc(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(null===c){c=a.nativeEvent;var d=new c.constructor(c.type,c);wb=d;c.target.dispatchEvent(d);wb=null}else return b=Cb(c),null!==b&&Fc(b),a.blockedOn=c,!1;b.shift()}return!0}function Zc(a,b,c){Xc(a)&&c.delete(b)}function $c(){Jc=!1;null!==Lc&&Xc(Lc)&&(Lc=null);null!==Mc&&Xc(Mc)&&(Mc=null);null!==Nc&&Xc(Nc)&&(Nc=null);Oc.forEach(Zc);Pc.forEach(Zc)}\nfunction ad(a,b){a.blockedOn===b&&(a.blockedOn=null,Jc||(Jc=!0,ca.unstable_scheduleCallback(ca.unstable_NormalPriority,$c)))}\nfunction bd(a){function b(b){return ad(b,a)}if(0<Kc.length){ad(Kc[0],a);for(var c=1;c<Kc.length;c++){var d=Kc[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==Lc&&ad(Lc,a);null!==Mc&&ad(Mc,a);null!==Nc&&ad(Nc,a);Oc.forEach(b);Pc.forEach(b);for(c=0;c<Qc.length;c++)d=Qc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<Qc.length&&(c=Qc[0],null===c.blockedOn);)Vc(c),null===c.blockedOn&&Qc.shift()}var cd=ua.ReactCurrentBatchConfig,dd=!0;\nfunction ed(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=1,fd(a,b,c,d)}finally{C=e,cd.transition=f}}function gd(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=4,fd(a,b,c,d)}finally{C=e,cd.transition=f}}\nfunction fd(a,b,c,d){if(dd){var e=Yc(a,b,c,d);if(null===e)hd(a,b,d,id,c),Sc(a,d);else if(Uc(e,a,b,c,d))d.stopPropagation();else if(Sc(a,d),b&4&&-1<Rc.indexOf(a)){for(;null!==e;){var f=Cb(e);null!==f&&Ec(f);f=Yc(a,b,c,d);null===f&&hd(a,b,d,id,c);if(f===e)break;e=f}null!==e&&d.stopPropagation()}else hd(a,b,d,null,c)}}var id=null;\nfunction Yc(a,b,c,d){id=null;a=xb(d);a=Wc(a);if(null!==a)if(b=Vb(a),null===b)a=null;else if(c=b.tag,13===c){a=Wb(b);if(null!==a)return a;a=null}else if(3===c){if(b.stateNode.current.memoizedState.isDehydrated)return 3===b.tag?b.stateNode.containerInfo:null;a=null}else b!==a&&(a=null);id=a;return null}\nfunction jd(a){switch(a){case \"cancel\":case \"click\":case \"close\":case \"contextmenu\":case \"copy\":case \"cut\":case \"auxclick\":case \"dblclick\":case \"dragend\":case \"dragstart\":case \"drop\":case \"focusin\":case \"focusout\":case \"input\":case \"invalid\":case \"keydown\":case \"keypress\":case \"keyup\":case \"mousedown\":case \"mouseup\":case \"paste\":case \"pause\":case \"play\":case \"pointercancel\":case \"pointerdown\":case \"pointerup\":case \"ratechange\":case \"reset\":case \"resize\":case \"seeked\":case \"submit\":case \"touchcancel\":case \"touchend\":case \"touchstart\":case \"volumechange\":case \"change\":case \"selectionchange\":case \"textInput\":case \"compositionstart\":case \"compositionend\":case \"compositionupdate\":case \"beforeblur\":case \"afterblur\":case \"beforeinput\":case \"blur\":case \"fullscreenchange\":case \"focus\":case \"hashchange\":case \"popstate\":case \"select\":case \"selectstart\":return 1;case \"drag\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"mousemove\":case \"mouseout\":case \"mouseover\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"scroll\":case \"toggle\":case \"touchmove\":case \"wheel\":case \"mouseenter\":case \"mouseleave\":case \"pointerenter\":case \"pointerleave\":return 4;\ncase \"message\":switch(ec()){case fc:return 1;case gc:return 4;case hc:case ic:return 16;case jc:return 536870912;default:return 16}default:return 16}}var kd=null,ld=null,md=null;function nd(){if(md)return md;var a,b=ld,c=b.length,d,e=\"value\"in kd?kd.value:kd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return md=e.slice(a,1<d?1-d:void 0)}\nfunction od(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}function pd(){return!0}function qd(){return!1}\nfunction rd(a){function b(b,d,e,f,g){this._reactName=b;this._targetInst=e;this.type=d;this.nativeEvent=f;this.target=g;this.currentTarget=null;for(var c in a)a.hasOwnProperty(c)&&(b=a[c],this[c]=b?b(f):f[c]);this.isDefaultPrevented=(null!=f.defaultPrevented?f.defaultPrevented:!1===f.returnValue)?pd:qd;this.isPropagationStopped=qd;return this}A(b.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&\n(a.returnValue=!1),this.isDefaultPrevented=pd)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=pd)},persist:function(){},isPersistent:pd});return b}\nvar sd={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},td=rd(sd),ud=A({},sd,{view:0,detail:0}),vd=rd(ud),wd,xd,yd,Ad=A({},ud,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:zd,button:0,buttons:0,relatedTarget:function(a){return void 0===a.relatedTarget?a.fromElement===a.srcElement?a.toElement:a.fromElement:a.relatedTarget},movementX:function(a){if(\"movementX\"in\na)return a.movementX;a!==yd&&(yd&&\"mousemove\"===a.type?(wd=a.screenX-yd.screenX,xd=a.screenY-yd.screenY):xd=wd=0,yd=a);return wd},movementY:function(a){return\"movementY\"in a?a.movementY:xd}}),Bd=rd(Ad),Cd=A({},Ad,{dataTransfer:0}),Dd=rd(Cd),Ed=A({},ud,{relatedTarget:0}),Fd=rd(Ed),Gd=A({},sd,{animationName:0,elapsedTime:0,pseudoElement:0}),Hd=rd(Gd),Id=A({},sd,{clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),Jd=rd(Id),Kd=A({},sd,{data:0}),Ld=rd(Kd),Md={Esc:\"Escape\",\nSpacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},Nd={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",\n119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},Od={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Od[a])?!!b[a]:!1}function zd(){return Pd}\nvar Qd=A({},ud,{key:function(a){if(a.key){var b=Md[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=od(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?Nd[a.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:zd,charCode:function(a){return\"keypress\"===a.type?od(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===\na.type?od(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),Rd=rd(Qd),Sd=A({},Ad,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Td=rd(Sd),Ud=A({},ud,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:zd}),Vd=rd(Ud),Wd=A({},sd,{propertyName:0,elapsedTime:0,pseudoElement:0}),Xd=rd(Wd),Yd=A({},Ad,{deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in a?-a.wheelDeltaX:0},\ndeltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:0,deltaMode:0}),Zd=rd(Yd),$d=[9,13,27,32],ae=ia&&\"CompositionEvent\"in window,be=null;ia&&\"documentMode\"in document&&(be=document.documentMode);var ce=ia&&\"TextEvent\"in window&&!be,de=ia&&(!ae||be&&8<be&&11>=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return de&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar le={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function me(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!le[a.type]:\"textarea\"===b?!0:!1}function ne(a,b,c,d){Eb(d);b=oe(b,\"onChange\");0<b.length&&(c=new td(\"onChange\",\"change\",null,c,d),a.push({event:c,listeners:b}))}var pe=null,qe=null;function re(a){se(a,0)}function te(a){var b=ue(a);if(Wa(b))return a}\nfunction ve(a,b){if(\"change\"===a)return b}var we=!1;if(ia){var xe;if(ia){var ye=\"oninput\"in document;if(!ye){var ze=document.createElement(\"div\");ze.setAttribute(\"oninput\",\"return;\");ye=\"function\"===typeof ze.oninput}xe=ye}else xe=!1;we=xe&&(!document.documentMode||9<document.documentMode)}function Ae(){pe&&(pe.detachEvent(\"onpropertychange\",Be),qe=pe=null)}function Be(a){if(\"value\"===a.propertyName&&te(qe)){var b=[];ne(b,qe,a,xb(a));Jb(re,b)}}\nfunction Ce(a,b,c){\"focusin\"===a?(Ae(),pe=b,qe=c,pe.attachEvent(\"onpropertychange\",Be)):\"focusout\"===a&&Ae()}function De(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return te(qe)}function Ee(a,b){if(\"click\"===a)return te(b)}function Fe(a,b){if(\"input\"===a||\"change\"===a)return te(b)}function Ge(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var He=\"function\"===typeof Object.is?Object.is:Ge;\nfunction Ie(a,b){if(He(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++){var e=c[d];if(!ja.call(b,e)||!He(a[e],b[e]))return!1}return!0}function Je(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Ke(a,b){var c=Je(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c<b.length;c++)a=b[c],a.element.scrollLeft=a.left,a.element.scrollTop=a.top}}\nvar Pe=ia&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0<d.length&&(b=new td(\"onSelect\",\"select\",null,b,c),a.push({event:b,listeners:d}),b.target=Qe)))}\nfunction Ve(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var We={animationend:Ve(\"Animation\",\"AnimationEnd\"),animationiteration:Ve(\"Animation\",\"AnimationIteration\"),animationstart:Ve(\"Animation\",\"AnimationStart\"),transitionend:Ve(\"Transition\",\"TransitionEnd\")},Xe={},Ye={};\nia&&(Ye=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete We.animationend.animation,delete We.animationiteration.animation,delete We.animationstart.animation),\"TransitionEvent\"in window||delete We.transitionend.transition);function Ze(a){if(Xe[a])return Xe[a];if(!We[a])return a;var b=We[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Ye)return Xe[a]=b[c];return a}var $e=Ze(\"animationend\"),af=Ze(\"animationiteration\"),bf=Ze(\"animationstart\"),cf=Ze(\"transitionend\"),df=new Map,ef=\"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\" \");\nfunction ff(a,b){df.set(a,b);fa(b,[a])}for(var gf=0;gf<ef.length;gf++){var hf=ef[gf],jf=hf.toLowerCase(),kf=hf[0].toUpperCase()+hf.slice(1);ff(jf,\"on\"+kf)}ff($e,\"onAnimationEnd\");ff(af,\"onAnimationIteration\");ff(bf,\"onAnimationStart\");ff(\"dblclick\",\"onDoubleClick\");ff(\"focusin\",\"onFocus\");ff(\"focusout\",\"onBlur\");ff(cf,\"onTransitionEnd\");ha(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]);ha(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]);ha(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]);\nha(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]);fa(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \"));fa(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \"));fa(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]);fa(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \"));fa(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \"));\nfa(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var lf=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),mf=new Set(\"cancel close invalid load scroll toggle\".split(\" \").concat(lf));\nfunction nf(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=c;Ub(d,b,void 0,a);a.currentTarget=null}\nfunction se(a,b){b=0!==(b&4);for(var c=0;c<a.length;c++){var d=a[c],e=d.event;d=d.listeners;a:{var f=void 0;if(b)for(var g=d.length-1;0<=g;g--){var h=d[g],k=h.instance,l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}else for(g=0;g<d.length;g++){h=d[g];k=h.instance;l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}}}if(Qb)throw a=Rb,Qb=!1,Rb=null,a;}\nfunction D(a,b){var c=b[of];void 0===c&&(c=b[of]=new Set);var d=a+\"__bubble\";c.has(d)||(pf(b,a,2,!1),c.add(d))}function qf(a,b,c){var d=0;b&&(d|=4);pf(c,a,d,b)}var rf=\"_reactListening\"+Math.random().toString(36).slice(2);function sf(a){if(!a[rf]){a[rf]=!0;da.forEach(function(b){\"selectionchange\"!==b&&(mf.has(b)||qf(b,!1,a),qf(b,!0,a))});var b=9===a.nodeType?a:a.ownerDocument;null===b||b[rf]||(b[rf]=!0,qf(\"selectionchange\",!1,b))}}\nfunction pf(a,b,c,d){switch(jd(b)){case 1:var e=ed;break;case 4:e=gd;break;default:e=fd}c=e.bind(null,b,c,a);e=void 0;!Lb||\"touchstart\"!==b&&\"touchmove\"!==b&&\"wheel\"!==b||(e=!0);d?void 0!==e?a.addEventListener(b,c,{capture:!0,passive:e}):a.addEventListener(b,c,!0):void 0!==e?a.addEventListener(b,c,{passive:e}):a.addEventListener(b,c,!1)}\nfunction hd(a,b,c,d,e){var f=d;if(0===(b&1)&&0===(b&2)&&null!==d)a:for(;;){if(null===d)return;var g=d.tag;if(3===g||4===g){var h=d.stateNode.containerInfo;if(h===e||8===h.nodeType&&h.parentNode===e)break;if(4===g)for(g=d.return;null!==g;){var k=g.tag;if(3===k||4===k)if(k=g.stateNode.containerInfo,k===e||8===k.nodeType&&k.parentNode===e)return;g=g.return}for(;null!==h;){g=Wc(h);if(null===g)return;k=g.tag;if(5===k||6===k){d=f=g;continue a}h=h.parentNode}}d=d.return}Jb(function(){var d=f,e=xb(c),g=[];\na:{var h=df.get(a);if(void 0!==h){var k=td,n=a;switch(a){case \"keypress\":if(0===od(c))break a;case \"keydown\":case \"keyup\":k=Rd;break;case \"focusin\":n=\"focus\";k=Fd;break;case \"focusout\":n=\"blur\";k=Fd;break;case \"beforeblur\":case \"afterblur\":k=Fd;break;case \"click\":if(2===c.button)break a;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":k=Bd;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":k=\nDd;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":k=Vd;break;case $e:case af:case bf:k=Hd;break;case cf:k=Xd;break;case \"scroll\":k=vd;break;case \"wheel\":k=Zd;break;case \"copy\":case \"cut\":case \"paste\":k=Jd;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":k=Td}var t=0!==(b&4),J=!t&&\"scroll\"===a,x=t?null!==h?h+\"Capture\":null:h;t=[];for(var w=d,u;null!==\nw;){u=w;var F=u.stateNode;5===u.tag&&null!==F&&(u=F,null!==x&&(F=Kb(w,x),null!=F&&t.push(tf(w,F,u))));if(J)break;w=w.return}0<t.length&&(h=new k(h,n,null,c,e),g.push({event:h,listeners:t}))}}if(0===(b&7)){a:{h=\"mouseover\"===a||\"pointerover\"===a;k=\"mouseout\"===a||\"pointerout\"===a;if(h&&c!==wb&&(n=c.relatedTarget||c.fromElement)&&(Wc(n)||n[uf]))break a;if(k||h){h=e.window===e?e:(h=e.ownerDocument)?h.defaultView||h.parentWindow:window;if(k){if(n=c.relatedTarget||c.toElement,k=d,n=n?Wc(n):null,null!==\nn&&(J=Vb(n),n!==J||5!==n.tag&&6!==n.tag))n=null}else k=null,n=d;if(k!==n){t=Bd;F=\"onMouseLeave\";x=\"onMouseEnter\";w=\"mouse\";if(\"pointerout\"===a||\"pointerover\"===a)t=Td,F=\"onPointerLeave\",x=\"onPointerEnter\",w=\"pointer\";J=null==k?h:ue(k);u=null==n?h:ue(n);h=new t(F,w+\"leave\",k,c,e);h.target=J;h.relatedTarget=u;F=null;Wc(e)===d&&(t=new t(x,w+\"enter\",n,c,e),t.target=u,t.relatedTarget=J,F=t);J=F;if(k&&n)b:{t=k;x=n;w=0;for(u=t;u;u=vf(u))w++;u=0;for(F=x;F;F=vf(F))u++;for(;0<w-u;)t=vf(t),w--;for(;0<u-w;)x=\nvf(x),u--;for(;w--;){if(t===x||null!==x&&t===x.alternate)break b;t=vf(t);x=vf(x)}t=null}else t=null;null!==k&&wf(g,h,k,t,!1);null!==n&&null!==J&&wf(g,J,n,t,!0)}}}a:{h=d?ue(d):window;k=h.nodeName&&h.nodeName.toLowerCase();if(\"select\"===k||\"input\"===k&&\"file\"===h.type)var na=ve;else if(me(h))if(we)na=Fe;else{na=De;var xa=Ce}else(k=h.nodeName)&&\"input\"===k.toLowerCase()&&(\"checkbox\"===h.type||\"radio\"===h.type)&&(na=Ee);if(na&&(na=na(a,d))){ne(g,na,c,e);break a}xa&&xa(a,h,d);\"focusout\"===a&&(xa=h._wrapperState)&&\nxa.controlled&&\"number\"===h.type&&cb(h,\"number\",h.value)}xa=d?ue(d):window;switch(a){case \"focusin\":if(me(xa)||\"true\"===xa.contentEditable)Qe=xa,Re=d,Se=null;break;case \"focusout\":Se=Re=Qe=null;break;case \"mousedown\":Te=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":Te=!1;Ue(g,c,e);break;case \"selectionchange\":if(Pe)break;case \"keydown\":case \"keyup\":Ue(g,c,e)}var $a;if(ae)b:{switch(a){case \"compositionstart\":var ba=\"onCompositionStart\";break b;case \"compositionend\":ba=\"onCompositionEnd\";\nbreak b;case \"compositionupdate\":ba=\"onCompositionUpdate\";break b}ba=void 0}else ie?ge(a,c)&&(ba=\"onCompositionEnd\"):\"keydown\"===a&&229===c.keyCode&&(ba=\"onCompositionStart\");ba&&(de&&\"ko\"!==c.locale&&(ie||\"onCompositionStart\"!==ba?\"onCompositionEnd\"===ba&&ie&&($a=nd()):(kd=e,ld=\"value\"in kd?kd.value:kd.textContent,ie=!0)),xa=oe(d,ba),0<xa.length&&(ba=new Ld(ba,a,null,c,e),g.push({event:ba,listeners:xa}),$a?ba.data=$a:($a=he(c),null!==$a&&(ba.data=$a))));if($a=ce?je(a,c):ke(a,c))d=oe(d,\"onBeforeInput\"),\n0<d.length&&(e=new Ld(\"onBeforeInput\",\"beforeinput\",null,c,e),g.push({event:e,listeners:d}),e.data=$a)}se(g,b)})}function tf(a,b,c){return{instance:a,listener:b,currentTarget:c}}function oe(a,b){for(var c=b+\"Capture\",d=[];null!==a;){var e=a,f=e.stateNode;5===e.tag&&null!==f&&(e=f,f=Kb(a,c),null!=f&&d.unshift(tf(a,f,e)),f=Kb(a,b),null!=f&&d.push(tf(a,f,e)));a=a.return}return d}function vf(a){if(null===a)return null;do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction wf(a,b,c,d,e){for(var f=b._reactName,g=[];null!==c&&c!==d;){var h=c,k=h.alternate,l=h.stateNode;if(null!==k&&k===d)break;5===h.tag&&null!==l&&(h=l,e?(k=Kb(c,f),null!=k&&g.unshift(tf(c,k,h))):e||(k=Kb(c,f),null!=k&&g.push(tf(c,k,h))));c=c.return}0!==g.length&&a.push({event:b,listeners:g})}var xf=/\\r\\n?/g,yf=/\\u0000|\\uFFFD/g;function zf(a){return(\"string\"===typeof a?a:\"\"+a).replace(xf,\"\\n\").replace(yf,\"\")}function Af(a,b,c){b=zf(b);if(zf(a)!==b&&c)throw Error(p(425));}function Bf(){}\nvar Cf=null,Df=null;function Ef(a,b){return\"textarea\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}\nvar Ff=\"function\"===typeof setTimeout?setTimeout:void 0,Gf=\"function\"===typeof clearTimeout?clearTimeout:void 0,Hf=\"function\"===typeof Promise?Promise:void 0,Jf=\"function\"===typeof queueMicrotask?queueMicrotask:\"undefined\"!==typeof Hf?function(a){return Hf.resolve(null).then(a).catch(If)}:Ff;function If(a){setTimeout(function(){throw a;})}\nfunction Kf(a,b){var c=b,d=0;do{var e=c.nextSibling;a.removeChild(c);if(e&&8===e.nodeType)if(c=e.data,\"/$\"===c){if(0===d){a.removeChild(e);bd(b);return}d--}else\"$\"!==c&&\"$?\"!==c&&\"$!\"!==c||d++;c=e}while(c);bd(b)}function Lf(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break;if(8===b){b=a.data;if(\"$\"===b||\"$!\"===b||\"$?\"===b)break;if(\"/$\"===b)return null}}return a}\nfunction Mf(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(\"$\"===c||\"$!\"===c||\"$?\"===c){if(0===b)return a;b--}else\"/$\"===c&&b++}a=a.previousSibling}return null}var Nf=Math.random().toString(36).slice(2),Of=\"__reactFiber$\"+Nf,Pf=\"__reactProps$\"+Nf,uf=\"__reactContainer$\"+Nf,of=\"__reactEvents$\"+Nf,Qf=\"__reactListeners$\"+Nf,Rf=\"__reactHandles$\"+Nf;\nfunction Wc(a){var b=a[Of];if(b)return b;for(var c=a.parentNode;c;){if(b=c[uf]||c[Of]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Mf(a);null!==a;){if(c=a[Of])return c;a=Mf(a)}return b}a=c;c=a.parentNode}return null}function Cb(a){a=a[Of]||a[uf];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function ue(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(p(33));}function Db(a){return a[Pf]||null}var Sf=[],Tf=-1;function Uf(a){return{current:a}}\nfunction E(a){0>Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a<c.length;a++){var d=c[a];do d=d(!0);while(null!==d)}eg=null;fg=!1}catch(e){throw null!==eg&&(eg=eg.slice(a+1)),ac(fc,jg),e;}finally{C=b,gg=!1}}return null}var kg=[],lg=0,mg=null,ng=0,og=[],pg=0,qg=null,rg=1,sg=\"\";function tg(a,b){kg[lg++]=ng;kg[lg++]=mg;mg=a;ng=b}\nfunction ug(a,b,c){og[pg++]=rg;og[pg++]=sg;og[pg++]=qg;qg=a;var d=rg;a=sg;var e=32-oc(d)-1;d&=~(1<<e);c+=1;var f=32-oc(b)+e;if(30<f){var g=e-e%5;f=(d&(1<<g)-1).toString(32);d>>=g;e-=g;rg=1<<32-oc(b)+e|c<<e|d;sg=f+a}else rg=1<<f|c<<e|d,sg=a}function vg(a){null!==a.return&&(tg(a,1),ug(a,1,0))}function wg(a){for(;a===mg;)mg=kg[--lg],kg[lg]=null,ng=kg[--lg],kg[lg]=null;for(;a===qg;)qg=og[--pg],og[pg]=null,sg=og[--pg],og[pg]=null,rg=og[--pg],og[pg]=null}var xg=null,yg=null,I=!1,zg=null;\nfunction Ag(a,b){var c=Bg(5,null,null,0);c.elementType=\"DELETED\";c.stateNode=b;c.return=a;b=a.deletions;null===b?(a.deletions=[c],a.flags|=16):b.push(c)}\nfunction Cg(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,xg=a,yg=Lf(b.firstChild),!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,xg=a,yg=null,!0):!1;case 13:return b=8!==b.nodeType?null:b,null!==b?(c=null!==qg?{id:rg,overflow:sg}:null,a.memoizedState={dehydrated:b,treeContext:c,retryLane:1073741824},c=Bg(18,null,null,0),c.stateNode=b,c.return=a,a.child=c,xg=a,yg=\nnull,!0):!1;default:return!1}}function Dg(a){return 0!==(a.mode&1)&&0===(a.flags&128)}function Eg(a){if(I){var b=yg;if(b){var c=b;if(!Cg(a,b)){if(Dg(a))throw Error(p(418));b=Lf(c.nextSibling);var d=xg;b&&Cg(a,b)?Ag(d,c):(a.flags=a.flags&-4097|2,I=!1,xg=a)}}else{if(Dg(a))throw Error(p(418));a.flags=a.flags&-4097|2;I=!1;xg=a}}}function Fg(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;xg=a}\nfunction Gg(a){if(a!==xg)return!1;if(!I)return Fg(a),I=!0,!1;var b;(b=3!==a.tag)&&!(b=5!==a.tag)&&(b=a.type,b=\"head\"!==b&&\"body\"!==b&&!Ef(a.type,a.memoizedProps));if(b&&(b=yg)){if(Dg(a))throw Hg(),Error(p(418));for(;b;)Ag(a,b),b=Lf(b.nextSibling)}Fg(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(p(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){yg=Lf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}yg=\nnull}}else yg=xg?Lf(a.stateNode.nextSibling):null;return!0}function Hg(){for(var a=yg;a;)a=Lf(a.nextSibling)}function Ig(){yg=xg=null;I=!1}function Jg(a){null===zg?zg=[a]:zg.push(a)}var Kg=ua.ReactCurrentBatchConfig;function Lg(a,b){if(a&&a.defaultProps){b=A({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c]);return b}return b}var Mg=Uf(null),Ng=null,Og=null,Pg=null;function Qg(){Pg=Og=Ng=null}function Rg(a){var b=Mg.current;E(Mg);a._currentValue=b}\nfunction Sg(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}function Tg(a,b){Ng=a;Pg=Og=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(Ug=!0),a.firstContext=null)}\nfunction Vg(a){var b=a._currentValue;if(Pg!==a)if(a={context:a,memoizedValue:b,next:null},null===Og){if(null===Ng)throw Error(p(308));Og=a;Ng.dependencies={lanes:0,firstContext:a}}else Og=Og.next=a;return b}var Wg=null;function Xg(a){null===Wg?Wg=[a]:Wg.push(a)}function Yg(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,Xg(b)):(c.next=e.next,e.next=c);b.interleaved=c;return Zg(a,d)}\nfunction Zg(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var $g=!1;function ah(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction bh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function ch(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction dh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return Zg(a,c)}e=d.interleaved;null===e?(b.next=b,Xg(d)):(b.next=e.next,e.next=b);d.interleaved=b;return Zg(a,c)}function eh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction fh(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction gh(a,b,c,d){var e=a.updateQueue;$g=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:$g=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);hh|=g;a.lanes=g;a.memoizedState=q}}\nfunction ih(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=c;if(\"function\"!==typeof e)throw Error(p(191,e));e.call(d)}}}var jh=(new aa.Component).refs;function kh(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:A({},b,c);a.memoizedState=c;0===a.lanes&&(a.updateQueue.baseState=c)}\nvar nh={isMounted:function(a){return(a=a._reactInternals)?Vb(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternals;var d=L(),e=lh(a),f=ch(d,e);f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=dh(a,f,e);null!==b&&(mh(b,a,e,d),eh(b,a,e))},enqueueReplaceState:function(a,b,c){a=a._reactInternals;var d=L(),e=lh(a),f=ch(d,e);f.tag=1;f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=dh(a,f,e);null!==b&&(mh(b,a,e,d),eh(b,a,e))},enqueueForceUpdate:function(a,b){a=a._reactInternals;var c=L(),d=\nlh(a),e=ch(c,d);e.tag=2;void 0!==b&&null!==b&&(e.callback=b);b=dh(a,e,d);null!==b&&(mh(b,a,d,c),eh(b,a,d))}};function oh(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!Ie(c,d)||!Ie(e,f):!0}\nfunction ph(a,b,c){var d=!1,e=Vf;var f=b.contextType;\"object\"===typeof f&&null!==f?f=Vg(f):(e=Zf(b)?Xf:H.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Yf(a,e):Vf);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=nh;a.stateNode=b;b._reactInternals=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction qh(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&nh.enqueueReplaceState(b,b.state,null)}\nfunction rh(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs=jh;ah(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=Vg(f):(f=Zf(b)?Xf:H.current,e.context=Yf(a,f));e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(kh(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||(b=e.state,\n\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&nh.enqueueReplaceState(e,e.state,null),gh(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.flags|=4194308)}\nfunction sh(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(p(309));var d=c.stateNode}if(!d)throw Error(p(147,a));var e=d,f=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===f)return b.ref;b=function(a){var b=e.refs;b===jh&&(b=e.refs={});null===a?delete b[f]:b[f]=a};b._stringRef=f;return b}if(\"string\"!==typeof a)throw Error(p(284));if(!c._owner)throw Error(p(290,a));}return a}\nfunction th(a,b){a=Object.prototype.toString.call(b);throw Error(p(31,\"[object Object]\"===a?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":a));}function uh(a){var b=a._init;return b(a._payload)}\nfunction vh(a){function b(b,c){if(a){var d=b.deletions;null===d?(b.deletions=[c],b.flags|=16):d.push(c)}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=wh(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return b.flags|=1048576,c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.flags|=2,c):d;b.flags|=2;return c}function g(b){a&&\nnull===b.alternate&&(b.flags|=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=xh(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){var f=c.type;if(f===ya)return m(a,b,c.props.children,d,c.key);if(null!==b&&(b.elementType===f||\"object\"===typeof f&&null!==f&&f.$$typeof===Ha&&uh(f)===b.type))return d=e(b,c.props),d.ref=sh(a,b,c),d.return=a,d;d=yh(c.type,c.key,c.props,null,a.mode,d);d.ref=sh(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||\nb.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation)return b=zh(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function m(a,b,c,d,f){if(null===b||7!==b.tag)return b=Ah(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function q(a,b,c){if(\"string\"===typeof b&&\"\"!==b||\"number\"===typeof b)return b=xh(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case va:return c=yh(b.type,b.key,b.props,null,a.mode,c),\nc.ref=sh(a,null,b),c.return=a,c;case wa:return b=zh(b,a.mode,c),b.return=a,b;case Ha:var d=b._init;return q(a,d(b._payload),c)}if(eb(b)||Ka(b))return b=Ah(b,a.mode,c,null),b.return=a,b;th(a,b)}return null}function r(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c&&\"\"!==c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case va:return c.key===e?k(a,b,c,d):null;case wa:return c.key===e?l(a,b,c,d):null;case Ha:return e=c._init,r(a,\nb,e(c._payload),d)}if(eb(c)||Ka(c))return null!==e?null:m(a,b,c,d,null);th(a,c)}return null}function y(a,b,c,d,e){if(\"string\"===typeof d&&\"\"!==d||\"number\"===typeof d)return a=a.get(c)||null,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case va:return a=a.get(null===d.key?c:d.key)||null,k(b,a,d,e);case wa:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e);case Ha:var f=d._init;return y(a,b,c,f(d._payload),e)}if(eb(d)||Ka(d))return a=a.get(c)||null,m(b,a,d,e,null);th(b,d)}return null}\nfunction n(e,g,h,k){for(var l=null,m=null,u=g,w=g=0,x=null;null!==u&&w<h.length;w++){u.index>w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;w<h.length;w++)u=q(e,h[w],k),null!==u&&(g=f(u,g,w),null===m?l=u:m.sibling=u,m=u);I&&tg(e,w);return l}for(u=d(e,u);w<h.length;w++)x=y(u,e,w,h[w],k),null!==x&&(a&&null!==x.alternate&&u.delete(null===\nx.key?w:x.key),g=f(x,g,w),null===m?l=x:m.sibling=x,m=x);a&&u.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function t(e,g,h,k){var l=Ka(h);if(\"function\"!==typeof l)throw Error(p(150));h=l.call(h);if(null==h)throw Error(p(151));for(var u=l=null,m=g,w=g=0,x=null,n=h.next();null!==m&&!n.done;w++,n=h.next()){m.index>w?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&uh(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=sh(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Ah(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=yh(f.type,f.key,f.props,null,a.mode,h),h.ref=sh(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=zh(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);th(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=xh(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Bh=vh(!0),Ch=vh(!1),Dh={},Eh=Uf(Dh),Fh=Uf(Dh),Gh=Uf(Dh);function Hh(a){if(a===Dh)throw Error(p(174));return a}function Ih(a,b){G(Gh,b);G(Fh,a);G(Eh,Dh);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(Eh);G(Eh,b)}function Jh(){E(Eh);E(Fh);E(Gh)}\nfunction Kh(a){Hh(Gh.current);var b=Hh(Eh.current);var c=lb(b,a.type);b!==c&&(G(Fh,a),G(Eh,c))}function Lh(a){Fh.current===a&&(E(Eh),E(Fh))}var M=Uf(0);\nfunction Mh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Nh=[];\nfunction Oh(){for(var a=0;a<Nh.length;a++)Nh[a]._workInProgressVersionPrimary=null;Nh.length=0}var Ph=ua.ReactCurrentDispatcher,Qh=ua.ReactCurrentBatchConfig,Rh=0,N=null,O=null,P=null,Sh=!1,Th=!1,Uh=0,Vh=0;function Q(){throw Error(p(321));}function Wh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!He(a[c],b[c]))return!1;return!0}\nfunction Xh(a,b,c,d,e,f){Rh=f;N=b;b.memoizedState=null;b.updateQueue=null;b.lanes=0;Ph.current=null===a||null===a.memoizedState?Yh:Zh;a=c(d,e);if(Th){f=0;do{Th=!1;Uh=0;if(25<=f)throw Error(p(301));f+=1;P=O=null;b.updateQueue=null;Ph.current=$h;a=c(d,e)}while(Th)}Ph.current=ai;b=null!==O&&null!==O.next;Rh=0;P=O=N=null;Sh=!1;if(b)throw Error(p(300));return a}function bi(){var a=0!==Uh;Uh=0;return a}\nfunction ci(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===P?N.memoizedState=P=a:P=P.next=a;return P}function di(){if(null===O){var a=N.alternate;a=null!==a?a.memoizedState:null}else a=O.next;var b=null===P?N.memoizedState:P.next;if(null!==b)P=b,O=a;else{if(null===a)throw Error(p(310));O=a;a={memoizedState:O.memoizedState,baseState:O.baseState,baseQueue:O.baseQueue,queue:O.queue,next:null};null===P?N.memoizedState=P=a:P=P.next=a}return P}\nfunction ei(a,b){return\"function\"===typeof b?b(a):b}\nfunction fi(a){var b=di(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=O,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){f=e.next;d=d.baseState;var h=g=null,k=null,l=f;do{var m=l.lane;if((Rh&m)===m)null!==k&&(k=k.next={lane:0,action:l.action,hasEagerState:l.hasEagerState,eagerState:l.eagerState,next:null}),d=l.hasEagerState?l.eagerState:a(d,l.action);else{var q={lane:m,action:l.action,hasEagerState:l.hasEagerState,\neagerState:l.eagerState,next:null};null===k?(h=k=q,g=d):k=k.next=q;N.lanes|=m;hh|=m}l=l.next}while(null!==l&&l!==f);null===k?g=d:k.next=h;He(d,b.memoizedState)||(Ug=!0);b.memoizedState=d;b.baseState=g;b.baseQueue=k;c.lastRenderedState=d}a=c.interleaved;if(null!==a){e=a;do f=e.lane,N.lanes|=f,hh|=f,e=e.next;while(e!==a)}else null===e&&(c.lanes=0);return[b.memoizedState,c.dispatch]}\nfunction gi(a){var b=di(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(Ug=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}function hi(){}\nfunction ii(a,b){var c=N,d=di(),e=b(),f=!He(d.memoizedState,e);f&&(d.memoizedState=e,Ug=!0);d=d.queue;ji(ki.bind(null,c,d,a),[a]);if(d.getSnapshot!==b||f||null!==P&&P.memoizedState.tag&1){c.flags|=2048;li(9,mi.bind(null,c,d,e,b),void 0,null);if(null===R)throw Error(p(349));0!==(Rh&30)||ni(c,b,e)}return e}function ni(a,b,c){a.flags|=16384;a={getSnapshot:b,value:c};b=N.updateQueue;null===b?(b={lastEffect:null,stores:null},N.updateQueue=b,b.stores=[a]):(c=b.stores,null===c?b.stores=[a]:c.push(a))}\nfunction mi(a,b,c,d){b.value=c;b.getSnapshot=d;oi(b)&&pi(a)}function ki(a,b,c){return c(function(){oi(b)&&pi(a)})}function oi(a){var b=a.getSnapshot;a=a.value;try{var c=b();return!He(a,c)}catch(d){return!0}}function pi(a){var b=Zg(a,1);null!==b&&mh(b,a,1,-1)}\nfunction qi(a){var b=ci();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:ei,lastRenderedState:a};b.queue=a;a=a.dispatch=ri.bind(null,N,a);return[b.memoizedState,a]}\nfunction li(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=N.updateQueue;null===b?(b={lastEffect:null,stores:null},N.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}function si(){return di().memoizedState}function ti(a,b,c,d){var e=ci();N.flags|=a;e.memoizedState=li(1|b,c,void 0,void 0===d?null:d)}\nfunction ui(a,b,c,d){var e=di();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&Wh(d,g.deps)){e.memoizedState=li(b,c,f,d);return}}N.flags|=a;e.memoizedState=li(1|b,c,f,d)}function vi(a,b){return ti(8390656,8,a,b)}function ji(a,b){return ui(2048,8,a,b)}function wi(a,b){return ui(4,2,a,b)}function xi(a,b){return ui(4,4,a,b)}\nfunction yi(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function zi(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ui(4,4,yi.bind(null,b,a),c)}function Ai(){}function Bi(a,b){var c=di();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Wh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Ci(a,b){var c=di();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Wh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Di(a,b,c){if(0===(Rh&21))return a.baseState&&(a.baseState=!1,Ug=!0),a.memoizedState=c;He(c,b)||(c=yc(),N.lanes|=c,hh|=c,a.baseState=!0);return b}function Ei(a,b){var c=C;C=0!==c&&4>c?c:4;a(!0);var d=Qh.transition;Qh.transition={};try{a(!1),b()}finally{C=c,Qh.transition=d}}function Fi(){return di().memoizedState}\nfunction Gi(a,b,c){var d=lh(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,c);else if(c=Yg(a,b,c,d),null!==c){var e=L();mh(c,a,d,e);Ji(c,b,d)}}\nfunction ri(a,b,c){var d=lh(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,Xg(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=Yg(a,b,e,d);null!==c&&(e=L(),mh(c,a,d,e),Ji(c,b,d))}}\nfunction Hi(a){var b=a.alternate;return a===N||null!==b&&b===N}function Ii(a,b){Th=Sh=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Ji(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar ai={readContext:Vg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useInsertionEffect:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useDeferredValue:Q,useTransition:Q,useMutableSource:Q,useSyncExternalStore:Q,useId:Q,unstable_isNewReconciler:!1},Yh={readContext:Vg,useCallback:function(a,b){ci().memoizedState=[a,void 0===b?null:b];return a},useContext:Vg,useEffect:vi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ti(4194308,\n4,yi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ti(4194308,4,a,b)},useInsertionEffect:function(a,b){return ti(4,2,a,b)},useMemo:function(a,b){var c=ci();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=ci();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=Gi.bind(null,N,a);return[d.memoizedState,a]},useRef:function(a){var b=\nci();a={current:a};return b.memoizedState=a},useState:qi,useDebugValue:Ai,useDeferredValue:function(a){return ci().memoizedState=a},useTransition:function(){var a=qi(!1),b=a[0];a=Ei.bind(null,a[1]);ci().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=N,e=ci();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===R)throw Error(p(349));0!==(Rh&30)||ni(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;vi(ki.bind(null,d,\nf,a),[a]);d.flags|=2048;li(9,mi.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=ci(),b=R.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Uh++;0<c&&(b+=\"H\"+c.toString(32));b+=\":\"}else c=Vh++,b=\":\"+b+\"r\"+c.toString(32)+\":\";return a.memoizedState=b},unstable_isNewReconciler:!1},Zh={readContext:Vg,useCallback:Bi,useContext:Vg,useEffect:ji,useImperativeHandle:zi,useInsertionEffect:wi,useLayoutEffect:xi,useMemo:Ci,useReducer:fi,useRef:si,useState:function(){return fi(ei)},\nuseDebugValue:Ai,useDeferredValue:function(a){var b=di();return Di(b,O.memoizedState,a)},useTransition:function(){var a=fi(ei)[0],b=di().memoizedState;return[a,b]},useMutableSource:hi,useSyncExternalStore:ii,useId:Fi,unstable_isNewReconciler:!1},$h={readContext:Vg,useCallback:Bi,useContext:Vg,useEffect:ji,useImperativeHandle:zi,useInsertionEffect:wi,useLayoutEffect:xi,useMemo:Ci,useReducer:gi,useRef:si,useState:function(){return gi(ei)},useDebugValue:Ai,useDeferredValue:function(a){var b=di();return null===\nO?b.memoizedState=a:Di(b,O.memoizedState,a)},useTransition:function(){var a=gi(ei)[0],b=di().memoizedState;return[a,b]},useMutableSource:hi,useSyncExternalStore:ii,useId:Fi,unstable_isNewReconciler:!1};function Ki(a,b){try{var c=\"\",d=b;do c+=Pa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e,digest:null}}function Li(a,b,c){return{value:a,source:null,stack:null!=c?c:null,digest:null!=b?b:null}}\nfunction Mi(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Ni=\"function\"===typeof WeakMap?WeakMap:Map;function Oi(a,b,c){c=ch(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Pi||(Pi=!0,Qi=d);Mi(a,b)};return c}\nfunction Ri(a,b,c){c=ch(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){return d(e)};c.callback=function(){Mi(a,b)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){Mi(a,b);\"function\"!==typeof d&&(null===Si?Si=new Set([this]):Si.add(this));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}\nfunction Ti(a,b,c){var d=a.pingCache;if(null===d){d=a.pingCache=new Ni;var e=new Set;d.set(b,e)}else e=d.get(b),void 0===e&&(e=new Set,d.set(b,e));e.has(c)||(e.add(c),a=Ui.bind(null,a,b,c),b.then(a,a))}function Vi(a){do{var b;if(b=13===a.tag)b=a.memoizedState,b=null!==b?null!==b.dehydrated?!0:!1:!0;if(b)return a;a=a.return}while(null!==a);return null}\nfunction Wi(a,b,c,d,e){if(0===(a.mode&1))return a===b?a.flags|=65536:(a.flags|=128,c.flags|=131072,c.flags&=-52805,1===c.tag&&(null===c.alternate?c.tag=17:(b=ch(-1,1),b.tag=2,dh(c,b,1))),c.lanes|=1),a;a.flags|=65536;a.lanes=e;return a}var Xi=ua.ReactCurrentOwner,Ug=!1;function Yi(a,b,c,d){b.child=null===a?Ch(b,null,c,d):Bh(b,a.child,c,d)}\nfunction Zi(a,b,c,d,e){c=c.render;var f=b.ref;Tg(b,e);d=Xh(a,b,c,d,f,e);c=bi();if(null!==a&&!Ug)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,$i(a,b,e);I&&c&&vg(b);b.flags|=1;Yi(a,b,d,e);return b.child}\nfunction aj(a,b,c,d,e){if(null===a){var f=c.type;if(\"function\"===typeof f&&!bj(f)&&void 0===f.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=f,cj(a,b,f,d,e);a=yh(c.type,null,d,b,b.mode,e);a.ref=b.ref;a.return=b;return b.child=a}f=a.child;if(0===(a.lanes&e)){var g=f.memoizedProps;c=c.compare;c=null!==c?c:Ie;if(c(g,d)&&a.ref===b.ref)return $i(a,b,e)}b.flags|=1;a=wh(f,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction cj(a,b,c,d,e){if(null!==a){var f=a.memoizedProps;if(Ie(f,d)&&a.ref===b.ref)if(Ug=!1,b.pendingProps=d=f,0!==(a.lanes&e))0!==(a.flags&131072)&&(Ug=!0);else return b.lanes=a.lanes,$i(a,b,e)}return dj(a,b,c,d,e)}\nfunction ej(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoizedState:null;if(\"hidden\"===d.mode)if(0===(b.mode&1))b.memoizedState={baseLanes:0,cachePool:null,transitions:null},G(fj,gj),gj|=c;else{if(0===(c&1073741824))return a=null!==f?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState={baseLanes:a,cachePool:null,transitions:null},b.updateQueue=null,G(fj,gj),gj|=a,null;b.memoizedState={baseLanes:0,cachePool:null,transitions:null};d=null!==f?f.baseLanes:c;G(fj,gj);gj|=d}else null!==\nf?(d=f.baseLanes|c,b.memoizedState=null):d=c,G(fj,gj),gj|=d;Yi(a,b,e,c);return b.child}function hj(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.flags|=512,b.flags|=2097152}function dj(a,b,c,d,e){var f=Zf(c)?Xf:H.current;f=Yf(b,f);Tg(b,e);c=Xh(a,b,c,d,f,e);d=bi();if(null!==a&&!Ug)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,$i(a,b,e);I&&d&&vg(b);b.flags|=1;Yi(a,b,c,e);return b.child}\nfunction ij(a,b,c,d,e){if(Zf(c)){var f=!0;cg(b)}else f=!1;Tg(b,e);if(null===b.stateNode)jj(a,b),ph(b,c,d),rh(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=Vg(l):(l=Zf(c)?Xf:H.current,l=Yf(b,l));var m=c.getDerivedStateFromProps,q=\"function\"===typeof m||\"function\"===typeof g.getSnapshotBeforeUpdate;q||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||\n(h!==d||k!==l)&&qh(b,g,d,l);$g=!1;var r=b.memoizedState;g.state=r;gh(b,d,g,e);k=b.memoizedState;h!==d||r!==k||Wf.current||$g?(\"function\"===typeof m&&(kh(b,c,m,d),k=b.memoizedState),(h=$g||oh(b,c,h,d,r,k,l))?(q||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===typeof g.componentDidMount&&(b.flags|=4194308)):\n(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),d=!1)}else{g=b.stateNode;bh(a,b);h=b.memoizedProps;l=b.type===b.elementType?h:Lg(b.type,h);g.props=l;q=b.pendingProps;r=g.context;k=c.contextType;\"object\"===typeof k&&null!==k?k=Vg(k):(k=Zf(c)?Xf:H.current,k=Yf(b,k));var y=c.getDerivedStateFromProps;(m=\"function\"===typeof y||\"function\"===typeof g.getSnapshotBeforeUpdate)||\n\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==q||r!==k)&&qh(b,g,d,k);$g=!1;r=b.memoizedState;g.state=r;gh(b,d,g,e);var n=b.memoizedState;h!==q||r!==n||Wf.current||$g?(\"function\"===typeof y&&(kh(b,c,y,d),n=b.memoizedState),(l=$g||oh(b,c,l,d,r,n,k)||!1)?(m||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,n,k),\"function\"===typeof g.UNSAFE_componentWillUpdate&&\ng.UNSAFE_componentWillUpdate(d,n,k)),\"function\"===typeof g.componentDidUpdate&&(b.flags|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.flags|=1024)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),b.memoizedProps=d,b.memoizedState=n),g.props=d,g.state=n,g.context=k,d=l):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===\na.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),d=!1)}return kj(a,b,c,d,f,e)}\nfunction kj(a,b,c,d,e,f){hj(a,b);var g=0!==(b.flags&128);if(!d&&!g)return e&&dg(b,c,!1),$i(a,b,f);d=b.stateNode;Xi.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.flags|=1;null!==a&&g?(b.child=Bh(b,a.child,null,f),b.child=Bh(b,null,h,f)):Yi(a,b,h,f);b.memoizedState=d.state;e&&dg(b,c,!0);return b.child}function lj(a){var b=a.stateNode;b.pendingContext?ag(a,b.pendingContext,b.pendingContext!==b.context):b.context&&ag(a,b.context,!1);Ih(a,b.containerInfo)}\nfunction mj(a,b,c,d,e){Ig();Jg(e);b.flags|=256;Yi(a,b,c,d);return b.child}var nj={dehydrated:null,treeContext:null,retryLane:0};function oj(a){return{baseLanes:a,cachePool:null,transitions:null}}\nfunction pj(a,b,c){var d=b.pendingProps,e=M.current,f=!1,g=0!==(b.flags&128),h;(h=g)||(h=null!==a&&null===a.memoizedState?!1:0!==(e&2));if(h)f=!0,b.flags&=-129;else if(null===a||null!==a.memoizedState)e|=1;G(M,e&1);if(null===a){Eg(b);a=b.memoizedState;if(null!==a&&(a=a.dehydrated,null!==a))return 0===(b.mode&1)?b.lanes=1:\"$!\"===a.data?b.lanes=8:b.lanes=1073741824,null;g=d.children;a=d.fallback;return f?(d=b.mode,f=b.child,g={mode:\"hidden\",children:g},0===(d&1)&&null!==f?(f.childLanes=0,f.pendingProps=\ng):f=qj(g,d,0,null),a=Ah(a,d,c,null),f.return=b,a.return=b,f.sibling=a,b.child=f,b.child.memoizedState=oj(c),b.memoizedState=nj,a):rj(b,g)}e=a.memoizedState;if(null!==e&&(h=e.dehydrated,null!==h))return sj(a,b,g,d,h,e,c);if(f){f=d.fallback;g=b.mode;e=a.child;h=e.sibling;var k={mode:\"hidden\",children:d.children};0===(g&1)&&b.child!==e?(d=b.child,d.childLanes=0,d.pendingProps=k,b.deletions=null):(d=wh(e,k),d.subtreeFlags=e.subtreeFlags&14680064);null!==h?f=wh(h,f):(f=Ah(f,g,c,null),f.flags|=2);f.return=\nb;d.return=b;d.sibling=f;b.child=d;d=f;f=b.child;g=a.child.memoizedState;g=null===g?oj(c):{baseLanes:g.baseLanes|c,cachePool:null,transitions:g.transitions};f.memoizedState=g;f.childLanes=a.childLanes&~c;b.memoizedState=nj;return d}f=a.child;a=f.sibling;d=wh(f,{mode:\"visible\",children:d.children});0===(b.mode&1)&&(d.lanes=c);d.return=b;d.sibling=null;null!==a&&(c=b.deletions,null===c?(b.deletions=[a],b.flags|=16):c.push(a));b.child=d;b.memoizedState=null;return d}\nfunction rj(a,b){b=qj({mode:\"visible\",children:b},a.mode,0,null);b.return=a;return a.child=b}function tj(a,b,c,d){null!==d&&Jg(d);Bh(b,a.child,null,c);a=rj(b,b.pendingProps.children);a.flags|=2;b.memoizedState=null;return a}\nfunction sj(a,b,c,d,e,f,g){if(c){if(b.flags&256)return b.flags&=-257,d=Li(Error(p(422))),tj(a,b,g,d);if(null!==b.memoizedState)return b.child=a.child,b.flags|=128,null;f=d.fallback;e=b.mode;d=qj({mode:\"visible\",children:d.children},e,0,null);f=Ah(f,e,g,null);f.flags|=2;d.return=b;f.return=b;d.sibling=f;b.child=d;0!==(b.mode&1)&&Bh(b,a.child,null,g);b.child.memoizedState=oj(g);b.memoizedState=nj;return f}if(0===(b.mode&1))return tj(a,b,g,null);if(\"$!\"===e.data){d=e.nextSibling&&e.nextSibling.dataset;\nif(d)var h=d.dgst;d=h;f=Error(p(419));d=Li(f,d,void 0);return tj(a,b,g,d)}h=0!==(g&a.childLanes);if(Ug||h){d=R;if(null!==d){switch(g&-g){case 4:e=2;break;case 16:e=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:e=32;break;case 536870912:e=268435456;break;default:e=0}e=0!==(e&(d.suspendedLanes|g))?0:e;\n0!==e&&e!==f.retryLane&&(f.retryLane=e,Zg(a,e),mh(d,a,e,-1))}uj();d=Li(Error(p(421)));return tj(a,b,g,d)}if(\"$?\"===e.data)return b.flags|=128,b.child=a.child,b=vj.bind(null,a),e._reactRetry=b,null;a=f.treeContext;yg=Lf(e.nextSibling);xg=b;I=!0;zg=null;null!==a&&(og[pg++]=rg,og[pg++]=sg,og[pg++]=qg,rg=a.id,sg=a.overflow,qg=b);b=rj(b,d.children);b.flags|=4096;return b}function wj(a,b,c){a.lanes|=b;var d=a.alternate;null!==d&&(d.lanes|=b);Sg(a.return,b,c)}\nfunction xj(a,b,c,d,e){var f=a.memoizedState;null===f?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e}:(f.isBackwards=b,f.rendering=null,f.renderingStartTime=0,f.last=d,f.tail=c,f.tailMode=e)}\nfunction yj(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;Yi(a,b,d.children,c);d=M.current;if(0!==(d&2))d=d&1|2,b.flags|=128;else{if(null!==a&&0!==(a.flags&128))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&wj(a,c,b);else if(19===a.tag)wj(a,c,b);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}G(M,d);if(0===(b.mode&1))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===Mh(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);xj(b,!1,e,c,f);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===Mh(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}xj(b,!0,c,null,f);break;case \"together\":xj(b,!1,null,null,void 0);break;default:b.memoizedState=null}return b.child}\nfunction jj(a,b){0===(b.mode&1)&&null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2)}function $i(a,b,c){null!==a&&(b.dependencies=a.dependencies);hh|=b.lanes;if(0===(c&b.childLanes))return null;if(null!==a&&b.child!==a.child)throw Error(p(153));if(null!==b.child){a=b.child;c=wh(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=wh(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}\nfunction zj(a,b,c){switch(b.tag){case 3:lj(b);Ig();break;case 5:Kh(b);break;case 1:Zf(b.type)&&cg(b);break;case 4:Ih(b,b.stateNode.containerInfo);break;case 10:var d=b.type._context,e=b.memoizedProps.value;G(Mg,d._currentValue);d._currentValue=e;break;case 13:d=b.memoizedState;if(null!==d){if(null!==d.dehydrated)return G(M,M.current&1),b.flags|=128,null;if(0!==(c&b.child.childLanes))return pj(a,b,c);G(M,M.current&1);a=$i(a,b,c);return null!==a?a.sibling:null}G(M,M.current&1);break;case 19:d=0!==(c&\nb.childLanes);if(0!==(a.flags&128)){if(d)return yj(a,b,c);b.flags|=128}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);G(M,M.current);if(d)break;else return null;case 22:case 23:return b.lanes=0,ej(a,b,c)}return $i(a,b,c)}var Aj,Bj,Cj,Dj;\nAj=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};Bj=function(){};\nCj=function(a,b,c,d){var e=a.memoizedProps;if(e!==d){a=b.stateNode;Hh(Eh.current);var f=null;switch(c){case \"input\":e=Ya(a,e);d=Ya(a,d);f=[];break;case \"select\":e=A({},e,{value:void 0});d=A({},d,{value:void 0});f=[];break;case \"textarea\":e=gb(a,e);d=gb(a,d);f=[];break;default:\"function\"!==typeof e.onClick&&\"function\"===typeof d.onClick&&(a.onclick=Bf)}ub(c,d);var g;c=null;for(l in e)if(!d.hasOwnProperty(l)&&e.hasOwnProperty(l)&&null!=e[l])if(\"style\"===l){var h=e[l];for(g in h)h.hasOwnProperty(g)&&\n(c||(c={}),c[g]=\"\")}else\"dangerouslySetInnerHTML\"!==l&&\"children\"!==l&&\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&\"autoFocus\"!==l&&(ea.hasOwnProperty(l)?f||(f=[]):(f=f||[]).push(l,null));for(l in d){var k=d[l];h=null!=e?e[l]:void 0;if(d.hasOwnProperty(l)&&k!==h&&(null!=k||null!=h))if(\"style\"===l)if(h){for(g in h)!h.hasOwnProperty(g)||k&&k.hasOwnProperty(g)||(c||(c={}),c[g]=\"\");for(g in k)k.hasOwnProperty(g)&&h[g]!==k[g]&&(c||(c={}),c[g]=k[g])}else c||(f||(f=[]),f.push(l,\nc)),c=k;else\"dangerouslySetInnerHTML\"===l?(k=k?k.__html:void 0,h=h?h.__html:void 0,null!=k&&h!==k&&(f=f||[]).push(l,k)):\"children\"===l?\"string\"!==typeof k&&\"number\"!==typeof k||(f=f||[]).push(l,\"\"+k):\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&(ea.hasOwnProperty(l)?(null!=k&&\"onScroll\"===l&&D(\"scroll\",a),f||h===k||(f=[])):(f=f||[]).push(l,k))}c&&(f=f||[]).push(\"style\",c);var l=f;if(b.updateQueue=l)b.flags|=4}};Dj=function(a,b,c,d){c!==d&&(b.flags|=4)};\nfunction Ej(a,b){if(!I)switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction S(a){var b=null!==a.alternate&&a.alternate.child===a.child,c=0,d=0;if(b)for(var e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags&14680064,d|=e.flags&14680064,e.return=a,e=e.sibling;else for(e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags,d|=e.flags,e.return=a,e=e.sibling;a.subtreeFlags|=d;a.childLanes=c;return b}\nfunction Fj(a,b,c){var d=b.pendingProps;wg(b);switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return S(b),null;case 1:return Zf(b.type)&&$f(),S(b),null;case 3:d=b.stateNode;Jh();E(Wf);E(H);Oh();d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);if(null===a||null===a.child)Gg(b)?b.flags|=4:null===a||a.memoizedState.isDehydrated&&0===(b.flags&256)||(b.flags|=1024,null!==zg&&(Gj(zg),zg=null));Bj(a,b);S(b);return null;case 5:Lh(b);var e=Hh(Gh.current);\nc=b.type;if(null!==a&&null!=b.stateNode)Cj(a,b,c,d,e),a.ref!==b.ref&&(b.flags|=512,b.flags|=2097152);else{if(!d){if(null===b.stateNode)throw Error(p(166));S(b);return null}a=Hh(Eh.current);if(Gg(b)){d=b.stateNode;c=b.type;var f=b.memoizedProps;d[Of]=b;d[Pf]=f;a=0!==(b.mode&1);switch(c){case \"dialog\":D(\"cancel\",d);D(\"close\",d);break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",d);break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],d);break;case \"source\":D(\"error\",d);break;case \"img\":case \"image\":case \"link\":D(\"error\",\nd);D(\"load\",d);break;case \"details\":D(\"toggle\",d);break;case \"input\":Za(d,f);D(\"invalid\",d);break;case \"select\":d._wrapperState={wasMultiple:!!f.multiple};D(\"invalid\",d);break;case \"textarea\":hb(d,f),D(\"invalid\",d)}ub(c,f);e=null;for(var g in f)if(f.hasOwnProperty(g)){var h=f[g];\"children\"===g?\"string\"===typeof h?d.textContent!==h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,h,a),e=[\"children\",h]):\"number\"===typeof h&&d.textContent!==\"\"+h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,\nh,a),e=[\"children\",\"\"+h]):ea.hasOwnProperty(g)&&null!=h&&\"onScroll\"===g&&D(\"scroll\",d)}switch(c){case \"input\":Va(d);db(d,f,!0);break;case \"textarea\":Va(d);jb(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof f.onClick&&(d.onclick=Bf)}d=e;b.updateQueue=d;null!==d&&(b.flags|=4)}else{g=9===e.nodeType?e:e.ownerDocument;\"http://www.w3.org/1999/xhtml\"===a&&(a=kb(c));\"http://www.w3.org/1999/xhtml\"===a?\"script\"===c?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;Aj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],a);e=d;break;case \"source\":D(\"error\",a);e=d;break;case \"img\":case \"image\":case \"link\":D(\"error\",\na);D(\"load\",a);e=d;break;case \"details\":D(\"toggle\",a);e=d;break;case \"input\":Za(a,d);e=Ya(a,d);D(\"invalid\",a);break;case \"option\":e=d;break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};e=A({},d,{value:void 0});D(\"invalid\",a);break;case \"textarea\":hb(a,d);e=gb(a,d);D(\"invalid\",a);break;default:e=d}ub(c,e);h=e;for(f in h)if(h.hasOwnProperty(f)){var k=h[f];\"style\"===f?sb(a,k):\"dangerouslySetInnerHTML\"===f?(k=k?k.__html:void 0,null!=k&&nb(a,k)):\"children\"===f?\"string\"===typeof k?(\"textarea\"!==\nc||\"\"!==k)&&ob(a,k):\"number\"===typeof k&&ob(a,\"\"+k):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(ea.hasOwnProperty(f)?null!=k&&\"onScroll\"===f&&D(\"scroll\",a):null!=k&&ta(a,f,k,g))}switch(c){case \"input\":Va(a);db(a,d,!1);break;case \"textarea\":Va(a);jb(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+Sa(d.value));break;case \"select\":a.multiple=!!d.multiple;f=d.value;null!=f?fb(a,!!d.multiple,f,!1):null!=d.defaultValue&&fb(a,!!d.multiple,d.defaultValue,\n!0);break;default:\"function\"===typeof e.onClick&&(a.onclick=Bf)}switch(c){case \"button\":case \"input\":case \"select\":case \"textarea\":d=!!d.autoFocus;break a;case \"img\":d=!0;break a;default:d=!1}}d&&(b.flags|=4)}null!==b.ref&&(b.flags|=512,b.flags|=2097152)}S(b);return null;case 6:if(a&&null!=b.stateNode)Dj(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(p(166));c=Hh(Gh.current);Hh(Eh.current);if(Gg(b)){d=b.stateNode;c=b.memoizedProps;d[Of]=b;if(f=d.nodeValue!==c)if(a=\nxg,null!==a)switch(a.tag){case 3:Af(d.nodeValue,c,0!==(a.mode&1));break;case 5:!0!==a.memoizedProps.suppressHydrationWarning&&Af(d.nodeValue,c,0!==(a.mode&1))}f&&(b.flags|=4)}else d=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),d[Of]=b,b.stateNode=d}S(b);return null;case 13:E(M);d=b.memoizedState;if(null===a||null!==a.memoizedState&&null!==a.memoizedState.dehydrated){if(I&&null!==yg&&0!==(b.mode&1)&&0===(b.flags&128))Hg(),Ig(),b.flags|=98560,f=!1;else if(f=Gg(b),null!==d&&null!==d.dehydrated){if(null===\na){if(!f)throw Error(p(318));f=b.memoizedState;f=null!==f?f.dehydrated:null;if(!f)throw Error(p(317));f[Of]=b}else Ig(),0===(b.flags&128)&&(b.memoizedState=null),b.flags|=4;S(b);f=!1}else null!==zg&&(Gj(zg),zg=null),f=!0;if(!f)return b.flags&65536?b:null}if(0!==(b.flags&128))return b.lanes=c,b;d=null!==d;d!==(null!==a&&null!==a.memoizedState)&&d&&(b.child.flags|=8192,0!==(b.mode&1)&&(null===a||0!==(M.current&1)?0===T&&(T=3):uj()));null!==b.updateQueue&&(b.flags|=4);S(b);return null;case 4:return Jh(),\nBj(a,b),null===a&&sf(b.stateNode.containerInfo),S(b),null;case 10:return Rg(b.type._context),S(b),null;case 17:return Zf(b.type)&&$f(),S(b),null;case 19:E(M);f=b.memoizedState;if(null===f)return S(b),null;d=0!==(b.flags&128);g=f.rendering;if(null===g)if(d)Ej(f,!1);else{if(0!==T||null!==a&&0!==(a.flags&128))for(a=b.child;null!==a;){g=Mh(a);if(null!==g){b.flags|=128;Ej(f,!1);d=g.updateQueue;null!==d&&(b.updateQueue=d,b.flags|=4);b.subtreeFlags=0;d=c;for(c=b.child;null!==c;)f=c,a=d,f.flags&=14680066,\ng=f.alternate,null===g?(f.childLanes=0,f.lanes=a,f.child=null,f.subtreeFlags=0,f.memoizedProps=null,f.memoizedState=null,f.updateQueue=null,f.dependencies=null,f.stateNode=null):(f.childLanes=g.childLanes,f.lanes=g.lanes,f.child=g.child,f.subtreeFlags=0,f.deletions=null,f.memoizedProps=g.memoizedProps,f.memoizedState=g.memoizedState,f.updateQueue=g.updateQueue,f.type=g.type,a=g.dependencies,f.dependencies=null===a?null:{lanes:a.lanes,firstContext:a.firstContext}),c=c.sibling;G(M,M.current&1|2);return b.child}a=\na.sibling}null!==f.tail&&B()>Hj&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304)}else{if(!d)if(a=Mh(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Ej(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Hj&&1073741824!==c&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=M.current,G(M,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Ij(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(gj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Jj(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return Jh(),E(Wf),E(H),Oh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Lh(b),null;case 13:E(M);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(M),null;case 4:return Jh(),null;case 10:return Rg(b.type._context),null;case 22:case 23:return Ij(),\nnull;case 24:return null;default:return null}}var Kj=!1,U=!1,Lj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Mj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Nj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Oj=!1;\nfunction Pj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Lg(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Oj;Oj=!1;return n}\nfunction Qj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Nj(b,c,f)}e=e.next}while(e!==d)}}function Rj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Sj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Tj(a){var b=a.alternate;null!==b&&(a.alternate=null,Tj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Uj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Vj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Uj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}\nfunction Xj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Xj(a,b,c),a=a.sibling;null!==a;)Xj(a,b,c),a=a.sibling}var X=null,Yj=!1;function Zj(a,b,c){for(c=c.child;null!==c;)ak(a,b,c),c=c.sibling}\nfunction ak(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Mj(c,b);case 6:var d=X,e=Yj;X=null;Zj(a,b,c);X=d;Yj=e;null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Yj;X=c.stateNode.containerInfo;Yj=!0;\nZj(a,b,c);X=d;Yj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Nj(c,b,g):0!==(f&4)&&Nj(c,b,g));e=e.next}while(e!==d)}Zj(a,b,c);break;case 1:if(!U&&(Mj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Zj(a,b,c);break;case 21:Zj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Zj(a,b,c),U=d):Zj(a,b,c);break;default:Zj(a,b,c)}}function bk(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Lj);b.forEach(function(b){var d=ck.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction dk(a,b){var c=b.deletions;if(null!==c)for(var d=0;d<c.length;d++){var e=c[d];try{var f=a,g=b,h=g;a:for(;null!==h;){switch(h.tag){case 5:X=h.stateNode;Yj=!1;break a;case 3:X=h.stateNode.containerInfo;Yj=!0;break a;case 4:X=h.stateNode.containerInfo;Yj=!0;break a}h=h.return}if(null===X)throw Error(p(160));ak(f,g,e);X=null;Yj=!1;var k=e.alternate;null!==k&&(k.return=null);e.return=null}catch(l){W(e,b,l)}}if(b.subtreeFlags&12854)for(b=b.child;null!==b;)ek(b,a),b=b.sibling}\nfunction ek(a,b){var c=a.alternate,d=a.flags;switch(a.tag){case 0:case 11:case 14:case 15:dk(b,a);fk(a);if(d&4){try{Qj(3,a,a.return),Rj(3,a)}catch(t){W(a,a.return,t)}try{Qj(5,a,a.return)}catch(t){W(a,a.return,t)}}break;case 1:dk(b,a);fk(a);d&512&&null!==c&&Mj(c,c.return);break;case 5:dk(b,a);fk(a);d&512&&null!==c&&Mj(c,c.return);if(a.flags&32){var e=a.stateNode;try{ob(e,\"\")}catch(t){W(a,a.return,t)}}if(d&4&&(e=a.stateNode,null!=e)){var f=a.memoizedProps,g=null!==c?c.memoizedProps:f,h=a.type,k=a.updateQueue;\na.updateQueue=null;if(null!==k)try{\"input\"===h&&\"radio\"===f.type&&null!=f.name&&ab(e,f);vb(h,g);var l=vb(h,f);for(g=0;g<k.length;g+=2){var m=k[g],q=k[g+1];\"style\"===m?sb(e,q):\"dangerouslySetInnerHTML\"===m?nb(e,q):\"children\"===m?ob(e,q):ta(e,m,q,l)}switch(h){case \"input\":bb(e,f);break;case \"textarea\":ib(e,f);break;case \"select\":var r=e._wrapperState.wasMultiple;e._wrapperState.wasMultiple=!!f.multiple;var y=f.value;null!=y?fb(e,!!f.multiple,y,!1):r!==!!f.multiple&&(null!=f.defaultValue?fb(e,!!f.multiple,\nf.defaultValue,!0):fb(e,!!f.multiple,f.multiple?[]:\"\",!1))}e[Pf]=f}catch(t){W(a,a.return,t)}}break;case 6:dk(b,a);fk(a);if(d&4){if(null===a.stateNode)throw Error(p(162));e=a.stateNode;f=a.memoizedProps;try{e.nodeValue=f}catch(t){W(a,a.return,t)}}break;case 3:dk(b,a);fk(a);if(d&4&&null!==c&&c.memoizedState.isDehydrated)try{bd(b.containerInfo)}catch(t){W(a,a.return,t)}break;case 4:dk(b,a);fk(a);break;case 13:dk(b,a);fk(a);e=a.child;e.flags&8192&&(f=null!==e.memoizedState,e.stateNode.isHidden=f,!f||\nnull!==e.alternate&&null!==e.alternate.memoizedState||(gk=B()));d&4&&bk(a);break;case 22:m=null!==c&&null!==c.memoizedState;a.mode&1?(U=(l=U)||m,dk(b,a),U=l):dk(b,a);fk(a);if(d&8192){l=null!==a.memoizedState;if((a.stateNode.isHidden=l)&&!m&&0!==(a.mode&1))for(V=a,m=a.child;null!==m;){for(q=V=m;null!==V;){r=V;y=r.child;switch(r.tag){case 0:case 11:case 14:case 15:Qj(4,r,r.return);break;case 1:Mj(r,r.return);var n=r.stateNode;if(\"function\"===typeof n.componentWillUnmount){d=r;c=r.return;try{b=d,n.props=\nb.memoizedProps,n.state=b.memoizedState,n.componentWillUnmount()}catch(t){W(d,c,t)}}break;case 5:Mj(r,r.return);break;case 22:if(null!==r.memoizedState){hk(q);continue}}null!==y?(y.return=r,V=y):hk(q)}m=m.sibling}a:for(m=null,q=a;;){if(5===q.tag){if(null===m){m=q;try{e=q.stateNode,l?(f=e.style,\"function\"===typeof f.setProperty?f.setProperty(\"display\",\"none\",\"important\"):f.display=\"none\"):(h=q.stateNode,k=q.memoizedProps.style,g=void 0!==k&&null!==k&&k.hasOwnProperty(\"display\")?k.display:null,h.style.display=\nrb(\"display\",g))}catch(t){W(a,a.return,t)}}}else if(6===q.tag){if(null===m)try{q.stateNode.nodeValue=l?\"\":q.memoizedProps}catch(t){W(a,a.return,t)}}else if((22!==q.tag&&23!==q.tag||null===q.memoizedState||q===a)&&null!==q.child){q.child.return=q;q=q.child;continue}if(q===a)break a;for(;null===q.sibling;){if(null===q.return||q.return===a)break a;m===q&&(m=null);q=q.return}m===q&&(m=null);q.sibling.return=q.return;q=q.sibling}}break;case 19:dk(b,a);fk(a);d&4&&bk(a);break;case 21:break;default:dk(b,\na),fk(a)}}function fk(a){var b=a.flags;if(b&2){try{a:{for(var c=a.return;null!==c;){if(Uj(c)){var d=c;break a}c=c.return}throw Error(p(160));}switch(d.tag){case 5:var e=d.stateNode;d.flags&32&&(ob(e,\"\"),d.flags&=-33);var f=Vj(a);Xj(a,f,e);break;case 3:case 4:var g=d.stateNode.containerInfo,h=Vj(a);Wj(a,h,g);break;default:throw Error(p(161));}}catch(k){W(a,a.return,k)}a.flags&=-3}b&4096&&(a.flags&=-4097)}function ik(a,b,c){V=a;jk(a,b,c)}\nfunction jk(a,b,c){for(var d=0!==(a.mode&1);null!==V;){var e=V,f=e.child;if(22===e.tag&&d){var g=null!==e.memoizedState||Kj;if(!g){var h=e.alternate,k=null!==h&&null!==h.memoizedState||U;h=Kj;var l=U;Kj=g;if((U=k)&&!l)for(V=e;null!==V;)g=V,k=g.child,22===g.tag&&null!==g.memoizedState?kk(e):null!==k?(k.return=g,V=k):kk(e);for(;null!==f;)V=f,jk(f,b,c),f=f.sibling;V=e;Kj=h;U=l}lk(a,b,c)}else 0!==(e.subtreeFlags&8772)&&null!==f?(f.return=e,V=f):lk(a,b,c)}}\nfunction lk(a){for(;null!==V;){var b=V;if(0!==(b.flags&8772)){var c=b.alternate;try{if(0!==(b.flags&8772))switch(b.tag){case 0:case 11:case 15:U||Rj(5,b);break;case 1:var d=b.stateNode;if(b.flags&4&&!U)if(null===c)d.componentDidMount();else{var e=b.elementType===b.type?c.memoizedProps:Lg(b.type,c.memoizedProps);d.componentDidUpdate(e,c.memoizedState,d.__reactInternalSnapshotBeforeUpdate)}var f=b.updateQueue;null!==f&&ih(b,f,d);break;case 3:var g=b.updateQueue;if(null!==g){c=null;if(null!==b.child)switch(b.child.tag){case 5:c=\nb.child.stateNode;break;case 1:c=b.child.stateNode}ih(b,g,c)}break;case 5:var h=b.stateNode;if(null===c&&b.flags&4){c=h;var k=b.memoizedProps;switch(b.type){case \"button\":case \"input\":case \"select\":case \"textarea\":k.autoFocus&&c.focus();break;case \"img\":k.src&&(c.src=k.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(null===b.memoizedState){var l=b.alternate;if(null!==l){var m=l.memoizedState;if(null!==m){var q=m.dehydrated;null!==q&&bd(q)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;\ndefault:throw Error(p(163));}U||b.flags&512&&Sj(b)}catch(r){W(b,b.return,r)}}if(b===a){V=null;break}c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}function hk(a){for(;null!==V;){var b=V;if(b===a){V=null;break}var c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}\nfunction kk(a){for(;null!==V;){var b=V;try{switch(b.tag){case 0:case 11:case 15:var c=b.return;try{Rj(4,b)}catch(k){W(b,c,k)}break;case 1:var d=b.stateNode;if(\"function\"===typeof d.componentDidMount){var e=b.return;try{d.componentDidMount()}catch(k){W(b,e,k)}}var f=b.return;try{Sj(b)}catch(k){W(b,f,k)}break;case 5:var g=b.return;try{Sj(b)}catch(k){W(b,g,k)}}}catch(k){W(b,b.return,k)}if(b===a){V=null;break}var h=b.sibling;if(null!==h){h.return=b.return;V=h;break}V=b.return}}\nvar mk=Math.ceil,nk=ua.ReactCurrentDispatcher,ok=ua.ReactCurrentOwner,pk=ua.ReactCurrentBatchConfig,K=0,R=null,Y=null,Z=0,gj=0,fj=Uf(0),T=0,qk=null,hh=0,rk=0,sk=0,tk=null,uk=null,gk=0,Hj=Infinity,vk=null,Pi=!1,Qi=null,Si=null,wk=!1,xk=null,yk=0,zk=0,Ak=null,Bk=-1,Ck=0;function L(){return 0!==(K&6)?B():-1!==Bk?Bk:Bk=B()}\nfunction lh(a){if(0===(a.mode&1))return 1;if(0!==(K&2)&&0!==Z)return Z&-Z;if(null!==Kg.transition)return 0===Ck&&(Ck=yc()),Ck;a=C;if(0!==a)return a;a=window.event;a=void 0===a?16:jd(a.type);return a}function mh(a,b,c,d){if(50<zk)throw zk=0,Ak=null,Error(p(185));Ac(a,c,d);if(0===(K&2)||a!==R)a===R&&(0===(K&2)&&(rk|=c),4===T&&Dk(a,Z)),Ek(a,d),1===c&&0===K&&0===(b.mode&1)&&(Hj=B()+500,fg&&jg())}\nfunction Ek(a,b){var c=a.callbackNode;wc(a,b);var d=uc(a,a===R?Z:0);if(0===d)null!==c&&bc(c),a.callbackNode=null,a.callbackPriority=0;else if(b=d&-d,a.callbackPriority!==b){null!=c&&bc(c);if(1===b)0===a.tag?ig(Fk.bind(null,a)):hg(Fk.bind(null,a)),Jf(function(){0===(K&6)&&jg()}),c=null;else{switch(Dc(d)){case 1:c=fc;break;case 4:c=gc;break;case 16:c=hc;break;case 536870912:c=jc;break;default:c=hc}c=Gk(c,Hk.bind(null,a))}a.callbackPriority=b;a.callbackNode=c}}\nfunction Hk(a,b){Bk=-1;Ck=0;if(0!==(K&6))throw Error(p(327));var c=a.callbackNode;if(Ik()&&a.callbackNode!==c)return null;var d=uc(a,a===R?Z:0);if(0===d)return null;if(0!==(d&30)||0!==(d&a.expiredLanes)||b)b=Jk(a,d);else{b=d;var e=K;K|=2;var f=Kk();if(R!==a||Z!==b)vk=null,Hj=B()+500,Lk(a,b);do try{Mk();break}catch(h){Nk(a,h)}while(1);Qg();nk.current=f;K=e;null!==Y?b=0:(R=null,Z=0,b=T)}if(0!==b){2===b&&(e=xc(a),0!==e&&(d=e,b=Ok(a,e)));if(1===b)throw c=qk,Lk(a,0),Dk(a,d),Ek(a,B()),c;if(6===b)Dk(a,d);\nelse{e=a.current.alternate;if(0===(d&30)&&!Pk(e)&&(b=Jk(a,d),2===b&&(f=xc(a),0!==f&&(d=f,b=Ok(a,f))),1===b))throw c=qk,Lk(a,0),Dk(a,d),Ek(a,B()),c;a.finishedWork=e;a.finishedLanes=d;switch(b){case 0:case 1:throw Error(p(345));case 2:Qk(a,uk,vk);break;case 3:Dk(a,d);if((d&130023424)===d&&(b=gk+500-B(),10<b)){if(0!==uc(a,0))break;e=a.suspendedLanes;if((e&d)!==d){L();a.pingedLanes|=a.suspendedLanes&e;break}a.timeoutHandle=Ff(Qk.bind(null,a,uk,vk),b);break}Qk(a,uk,vk);break;case 4:Dk(a,d);if((d&4194240)===\nd)break;b=a.eventTimes;for(e=-1;0<d;){var g=31-oc(d);f=1<<g;g=b[g];g>e&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*mk(d/1960))-d;if(10<d){a.timeoutHandle=Ff(Qk.bind(null,a,uk,vk),d);break}Qk(a,uk,vk);break;case 5:Qk(a,uk,vk);break;default:throw Error(p(329));}}}Ek(a,B());return a.callbackNode===c?Hk.bind(null,a):null}\nfunction Ok(a,b){var c=tk;a.current.memoizedState.isDehydrated&&(Lk(a,b).flags|=256);a=Jk(a,b);2!==a&&(b=uk,uk=c,null!==b&&Gj(b));return a}function Gj(a){null===uk?uk=a:uk.push.apply(uk,a)}\nfunction Pk(a){for(var b=a;;){if(b.flags&16384){var c=b.updateQueue;if(null!==c&&(c=c.stores,null!==c))for(var d=0;d<c.length;d++){var e=c[d],f=e.getSnapshot;e=e.value;try{if(!He(f(),e))return!1}catch(g){return!1}}}c=b.child;if(b.subtreeFlags&16384&&null!==c)c.return=b,b=c;else{if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return!0;b=b.return}b.sibling.return=b.return;b=b.sibling}}return!0}\nfunction Dk(a,b){b&=~sk;b&=~rk;a.suspendedLanes|=b;a.pingedLanes&=~b;for(a=a.expirationTimes;0<b;){var c=31-oc(b),d=1<<c;a[c]=-1;b&=~d}}function Fk(a){if(0!==(K&6))throw Error(p(327));Ik();var b=uc(a,0);if(0===(b&1))return Ek(a,B()),null;var c=Jk(a,b);if(0!==a.tag&&2===c){var d=xc(a);0!==d&&(b=d,c=Ok(a,d))}if(1===c)throw c=qk,Lk(a,0),Dk(a,b),Ek(a,B()),c;if(6===c)throw Error(p(345));a.finishedWork=a.current.alternate;a.finishedLanes=b;Qk(a,uk,vk);Ek(a,B());return null}\nfunction Rk(a,b){var c=K;K|=1;try{return a(b)}finally{K=c,0===K&&(Hj=B()+500,fg&&jg())}}function Sk(a){null!==xk&&0===xk.tag&&0===(K&6)&&Ik();var b=K;K|=1;var c=pk.transition,d=C;try{if(pk.transition=null,C=1,a)return a()}finally{C=d,pk.transition=c,K=b,0===(K&6)&&jg()}}function Ij(){gj=fj.current;E(fj)}\nfunction Lk(a,b){a.finishedWork=null;a.finishedLanes=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,Gf(c));if(null!==Y)for(c=Y.return;null!==c;){var d=c;wg(d);switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&$f();break;case 3:Jh();E(Wf);E(H);Oh();break;case 5:Lh(d);break;case 4:Jh();break;case 13:E(M);break;case 19:E(M);break;case 10:Rg(d.type._context);break;case 22:case 23:Ij()}c=c.return}R=a;Y=a=wh(a.current,null);Z=gj=b;T=0;qk=null;sk=rk=hh=0;uk=tk=null;if(null!==Wg){for(b=\n0;b<Wg.length;b++)if(c=Wg[b],d=c.interleaved,null!==d){c.interleaved=null;var e=d.next,f=c.pending;if(null!==f){var g=f.next;f.next=e;d.next=g}c.pending=d}Wg=null}return a}\nfunction Nk(a,b){do{var c=Y;try{Qg();Ph.current=ai;if(Sh){for(var d=N.memoizedState;null!==d;){var e=d.queue;null!==e&&(e.pending=null);d=d.next}Sh=!1}Rh=0;P=O=N=null;Th=!1;Uh=0;ok.current=null;if(null===c||null===c.return){T=1;qk=b;Y=null;break}a:{var f=a,g=c.return,h=c,k=b;b=Z;h.flags|=32768;if(null!==k&&\"object\"===typeof k&&\"function\"===typeof k.then){var l=k,m=h,q=m.tag;if(0===(m.mode&1)&&(0===q||11===q||15===q)){var r=m.alternate;r?(m.updateQueue=r.updateQueue,m.memoizedState=r.memoizedState,\nm.lanes=r.lanes):(m.updateQueue=null,m.memoizedState=null)}var y=Vi(g);if(null!==y){y.flags&=-257;Wi(y,g,h,f,b);y.mode&1&&Ti(f,l,b);b=y;k=l;var n=b.updateQueue;if(null===n){var t=new Set;t.add(k);b.updateQueue=t}else n.add(k);break a}else{if(0===(b&1)){Ti(f,l,b);uj();break a}k=Error(p(426))}}else if(I&&h.mode&1){var J=Vi(g);if(null!==J){0===(J.flags&65536)&&(J.flags|=256);Wi(J,g,h,f,b);Jg(Ki(k,h));break a}}f=k=Ki(k,h);4!==T&&(T=2);null===tk?tk=[f]:tk.push(f);f=g;do{switch(f.tag){case 3:f.flags|=65536;\nb&=-b;f.lanes|=b;var x=Oi(f,k,b);fh(f,x);break a;case 1:h=k;var w=f.type,u=f.stateNode;if(0===(f.flags&128)&&(\"function\"===typeof w.getDerivedStateFromError||null!==u&&\"function\"===typeof u.componentDidCatch&&(null===Si||!Si.has(u)))){f.flags|=65536;b&=-b;f.lanes|=b;var F=Ri(f,h,b);fh(f,F);break a}}f=f.return}while(null!==f)}Tk(c)}catch(na){b=na;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}function Kk(){var a=nk.current;nk.current=ai;return null===a?ai:a}\nfunction uj(){if(0===T||3===T||2===T)T=4;null===R||0===(hh&268435455)&&0===(rk&268435455)||Dk(R,Z)}function Jk(a,b){var c=K;K|=2;var d=Kk();if(R!==a||Z!==b)vk=null,Lk(a,b);do try{Uk();break}catch(e){Nk(a,e)}while(1);Qg();K=c;nk.current=d;if(null!==Y)throw Error(p(261));R=null;Z=0;return T}function Uk(){for(;null!==Y;)Vk(Y)}function Mk(){for(;null!==Y&&!cc();)Vk(Y)}function Vk(a){var b=Wk(a.alternate,a,gj);a.memoizedProps=a.pendingProps;null===b?Tk(a):Y=b;ok.current=null}\nfunction Tk(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&32768)){if(c=Fj(c,b,gj),null!==c){Y=c;return}}else{c=Jj(c,b);if(null!==c){c.flags&=32767;Y=c;return}if(null!==a)a.flags|=32768,a.subtreeFlags=0,a.deletions=null;else{T=6;Y=null;return}}b=b.sibling;if(null!==b){Y=b;return}Y=b=a}while(null!==b);0===T&&(T=5)}function Qk(a,b,c){var d=C,e=pk.transition;try{pk.transition=null,C=1,Xk(a,b,c,d)}finally{pk.transition=e,C=d}return null}\nfunction Xk(a,b,c,d){do Ik();while(null!==xk);if(0!==(K&6))throw Error(p(327));c=a.finishedWork;var e=a.finishedLanes;if(null===c)return null;a.finishedWork=null;a.finishedLanes=0;if(c===a.current)throw Error(p(177));a.callbackNode=null;a.callbackPriority=0;var f=c.lanes|c.childLanes;Bc(a,f);a===R&&(Y=R=null,Z=0);0===(c.subtreeFlags&2064)&&0===(c.flags&2064)||wk||(wk=!0,Gk(hc,function(){Ik();return null}));f=0!==(c.flags&15990);if(0!==(c.subtreeFlags&15990)||f){f=pk.transition;pk.transition=null;\nvar g=C;C=1;var h=K;K|=4;ok.current=null;Pj(a,c);ek(c,a);Oe(Df);dd=!!Cf;Df=Cf=null;a.current=c;ik(c,a,e);dc();K=h;C=g;pk.transition=f}else a.current=c;wk&&(wk=!1,xk=a,yk=e);f=a.pendingLanes;0===f&&(Si=null);mc(c.stateNode,d);Ek(a,B());if(null!==b)for(d=a.onRecoverableError,c=0;c<b.length;c++)e=b[c],d(e.value,{componentStack:e.stack,digest:e.digest});if(Pi)throw Pi=!1,a=Qi,Qi=null,a;0!==(yk&1)&&0!==a.tag&&Ik();f=a.pendingLanes;0!==(f&1)?a===Ak?zk++:(zk=0,Ak=a):zk=0;jg();return null}\nfunction Ik(){if(null!==xk){var a=Dc(yk),b=pk.transition,c=C;try{pk.transition=null;C=16>a?16:a;if(null===xk)var d=!1;else{a=xk;xk=null;yk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;k<h.length;k++){var l=h[k];for(V=l;null!==V;){var m=V;switch(m.tag){case 0:case 11:case 15:Qj(8,m,f)}var q=m.child;if(null!==q)q.return=m,V=q;else for(;null!==V;){m=V;var r=m.sibling,y=m.return;Tj(m);if(m===\nl){V=null;break}if(null!==r){r.return=y;V=r;break}V=y}}}var n=f.alternate;if(null!==n){var t=n.child;if(null!==t){n.child=null;do{var J=t.sibling;t.sibling=null;t=J}while(null!==t)}}V=f}}if(0!==(f.subtreeFlags&2064)&&null!==g)g.return=f,V=g;else b:for(;null!==V;){f=V;if(0!==(f.flags&2048))switch(f.tag){case 0:case 11:case 15:Qj(9,f,f.return)}var x=f.sibling;if(null!==x){x.return=f.return;V=x;break b}V=f.return}}var w=a.current;for(V=w;null!==V;){g=V;var u=g.child;if(0!==(g.subtreeFlags&2064)&&null!==\nu)u.return=g,V=u;else b:for(g=w;null!==V;){h=V;if(0!==(h.flags&2048))try{switch(h.tag){case 0:case 11:case 15:Rj(9,h)}}catch(na){W(h,h.return,na)}if(h===g){V=null;break b}var F=h.sibling;if(null!==F){F.return=h.return;V=F;break b}V=h.return}}K=e;jg();if(lc&&\"function\"===typeof lc.onPostCommitFiberRoot)try{lc.onPostCommitFiberRoot(kc,a)}catch(na){}d=!0}return d}finally{C=c,pk.transition=b}}return!1}function Yk(a,b,c){b=Ki(c,b);b=Oi(a,b,1);a=dh(a,b,1);b=L();null!==a&&(Ac(a,1,b),Ek(a,b))}\nfunction W(a,b,c){if(3===a.tag)Yk(a,a,c);else for(;null!==b;){if(3===b.tag){Yk(b,a,c);break}else if(1===b.tag){var d=b.stateNode;if(\"function\"===typeof b.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===Si||!Si.has(d))){a=Ki(c,a);a=Ri(b,a,1);b=dh(b,a,1);a=L();null!==b&&(Ac(b,1,a),Ek(b,a));break}}b=b.return}}\nfunction Ui(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);b=L();a.pingedLanes|=a.suspendedLanes&c;R===a&&(Z&c)===c&&(4===T||3===T&&(Z&130023424)===Z&&500>B()-gk?Lk(a,0):sk|=c);Ek(a,b)}function Zk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=L();a=Zg(a,b);null!==a&&(Ac(a,b,c),Ek(a,c))}function vj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Zk(a,c)}\nfunction ck(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Zk(a,c)}var Wk;\nWk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)Ug=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return Ug=!1,zj(a,b,c);Ug=0!==(a.flags&131072)?!0:!1}else Ug=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;jj(a,b);a=b.pendingProps;var e=Yf(b,H.current);Tg(b,c);e=Xh(null,b,d,a,e,c);var f=bi();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,ah(b),e.updater=nh,b.stateNode=e,e._reactInternals=b,rh(b,d,a,c),b=kj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Yi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{jj(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=$k(d);a=Lg(d,a);switch(e){case 0:b=dj(null,b,d,a,c);break a;case 1:b=ij(null,b,d,a,c);break a;case 11:b=Zi(null,b,d,a,c);break a;case 14:b=aj(null,b,d,Lg(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),dj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),ij(a,b,d,e,c);case 3:a:{lj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;bh(a,b);gh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ki(Error(p(423)),b);b=mj(a,b,d,c,e);break a}else if(d!==e){e=Ki(Error(p(424)),b);b=mj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Ch(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=$i(a,b,c);break a}Yi(a,b,d,c)}b=b.child}return b;case 5:return Kh(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\nhj(a,b),Yi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return pj(a,b,c);case 4:return Ih(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Bh(b,null,d,c):Yi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),Zi(a,b,d,e,c);case 7:return Yi(a,b,b.pendingProps,c),b.child;case 8:return Yi(a,b,b.pendingProps.children,c),b.child;case 12:return Yi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Mg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=$i(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=ch(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);Sg(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);Sg(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Yi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,Tg(b,c),e=Vg(e),d=d(e),b.flags|=1,Yi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Lg(d,b.pendingProps),e=Lg(d.type,e),aj(a,b,d,e,c);case 15:return cj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),jj(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,Tg(b,c),ph(b,d,e),rh(b,d,e,c),kj(null,b,d,!0,a,c);case 19:return yj(a,b,c);case 22:return ej(a,b,c)}throw Error(p(156,b.tag));};function Gk(a,b){return ac(a,b)}\nfunction al(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new al(a,b,c,d)}function bj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction $k(a){if(\"function\"===typeof a)return bj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction wh(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction yh(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)bj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Ah(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return qj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Ah(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function qj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function xh(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction zh(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction bl(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function cl(a,b,c,d,e,f,g,h,k){a=new bl(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};ah(f);return a}function dl(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:wa,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nfunction el(a){if(!a)return Vf;a=a._reactInternals;a:{if(Vb(a)!==a||1!==a.tag)throw Error(p(170));var b=a;do{switch(b.tag){case 3:b=b.stateNode.context;break a;case 1:if(Zf(b.type)){b=b.stateNode.__reactInternalMemoizedMergedChildContext;break a}}b=b.return}while(null!==b);throw Error(p(171));}if(1===a.tag){var c=a.type;if(Zf(c))return bg(a,c,b)}return b}\nfunction fl(a,b,c,d,e,f,g,h,k){a=cl(c,d,!0,a,e,f,g,h,k);a.context=el(null);c=a.current;d=L();e=lh(c);f=ch(d,e);f.callback=void 0!==b&&null!==b?b:null;dh(c,f,e);a.current.lanes=e;Ac(a,e,d);Ek(a,d);return a}function gl(a,b,c,d){var e=b.current,f=L(),g=lh(e);c=el(c);null===b.context?b.context=c:b.pendingContext=c;b=ch(f,g);b.payload={element:a};d=void 0===d?null:d;null!==d&&(b.callback=d);a=dh(e,b,g);null!==a&&(mh(a,e,g,f),eh(a,e,g));return g}\nfunction hl(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function il(a,b){a=a.memoizedState;if(null!==a&&null!==a.dehydrated){var c=a.retryLane;a.retryLane=0!==c&&c<b?c:b}}function jl(a,b){il(a,b);(a=a.alternate)&&il(a,b)}function kl(){return null}var ll=\"function\"===typeof reportError?reportError:function(a){console.error(a)};function ml(a){this._internalRoot=a}\nnl.prototype.render=ml.prototype.render=function(a){var b=this._internalRoot;if(null===b)throw Error(p(409));gl(a,b,null,null)};nl.prototype.unmount=ml.prototype.unmount=function(){var a=this._internalRoot;if(null!==a){this._internalRoot=null;var b=a.containerInfo;Sk(function(){gl(null,a,null,null)});b[uf]=null}};function nl(a){this._internalRoot=a}\nnl.prototype.unstable_scheduleHydration=function(a){if(a){var b=Hc();a={blockedOn:null,target:a,priority:b};for(var c=0;c<Qc.length&&0!==b&&b<Qc[c].priority;c++);Qc.splice(c,0,a);0===c&&Vc(a)}};function ol(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType)}function pl(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}function ql(){}\nfunction rl(a,b,c,d,e){if(e){if(\"function\"===typeof d){var f=d;d=function(){var a=hl(g);f.call(a)}}var g=fl(b,d,a,0,null,!1,!1,\"\",ql);a._reactRootContainer=g;a[uf]=g.current;sf(8===a.nodeType?a.parentNode:a);Sk();return g}for(;e=a.lastChild;)a.removeChild(e);if(\"function\"===typeof d){var h=d;d=function(){var a=hl(k);h.call(a)}}var k=cl(a,0,!1,null,null,!1,!1,\"\",ql);a._reactRootContainer=k;a[uf]=k.current;sf(8===a.nodeType?a.parentNode:a);Sk(function(){gl(b,k,c,d)});return k}\nfunction sl(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f;if(\"function\"===typeof e){var h=e;e=function(){var a=hl(g);h.call(a)}}gl(b,g,a,e)}else g=rl(c,b,a,e,d);return hl(g)}Ec=function(a){switch(a.tag){case 3:var b=a.stateNode;if(b.current.memoizedState.isDehydrated){var c=tc(b.pendingLanes);0!==c&&(Cc(b,c|1),Ek(b,B()),0===(K&6)&&(Hj=B()+500,jg()))}break;case 13:Sk(function(){var b=Zg(a,1);if(null!==b){var c=L();mh(b,a,1,c)}}),jl(a,1)}};\nFc=function(a){if(13===a.tag){var b=Zg(a,134217728);if(null!==b){var c=L();mh(b,a,134217728,c)}jl(a,134217728)}};Gc=function(a){if(13===a.tag){var b=lh(a),c=Zg(a,b);if(null!==c){var d=L();mh(c,a,b,d)}jl(a,b)}};Hc=function(){return C};Ic=function(a,b){var c=C;try{return C=a,b()}finally{C=c}};\nyb=function(a,b,c){switch(b){case \"input\":bb(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Db(d);if(!e)throw Error(p(90));Wa(d);bb(d,e)}}}break;case \"textarea\":ib(a,c);break;case \"select\":b=c.value,null!=b&&fb(a,!!c.multiple,b,!1)}};Gb=Rk;Hb=Sk;\nvar tl={usingClientEntryPoint:!1,Events:[Cb,ue,Db,Eb,Fb,Rk]},ul={findFiberByHostInstance:Wc,bundleType:0,version:\"18.2.0\",rendererPackageName:\"react-dom\"};\nvar vl={bundleType:ul.bundleType,version:ul.version,rendererPackageName:ul.rendererPackageName,rendererConfig:ul.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ua.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=Zb(a);return null===a?null:a.stateNode},findFiberByHostInstance:ul.findFiberByHostInstance||\nkl,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:\"18.2.0-next-9e3b772b8-20220608\"};if(\"undefined\"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var wl=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!wl.isDisabled&&wl.supportsFiber)try{kc=wl.inject(vl),lc=wl}catch(a){}}exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=tl;\nexports.createPortal=function(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!ol(b))throw Error(p(200));return dl(a,b,null,c)};exports.createRoot=function(a,b){if(!ol(a))throw Error(p(299));var c=!1,d=\"\",e=ll;null!==b&&void 0!==b&&(!0===b.unstable_strictMode&&(c=!0),void 0!==b.identifierPrefix&&(d=b.identifierPrefix),void 0!==b.onRecoverableError&&(e=b.onRecoverableError));b=cl(a,1,!1,null,null,c,!1,d,e);a[uf]=b.current;sf(8===a.nodeType?a.parentNode:a);return new ml(b)};\nexports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternals;if(void 0===b){if(\"function\"===typeof a.render)throw Error(p(188));a=Object.keys(a).join(\",\");throw Error(p(268,a));}a=Zb(b);a=null===a?null:a.stateNode;return a};exports.flushSync=function(a){return Sk(a)};exports.hydrate=function(a,b,c){if(!pl(b))throw Error(p(200));return sl(null,a,b,!0,c)};\nexports.hydrateRoot=function(a,b,c){if(!ol(a))throw Error(p(405));var d=null!=c&&c.hydratedSources||null,e=!1,f=\"\",g=ll;null!==c&&void 0!==c&&(!0===c.unstable_strictMode&&(e=!0),void 0!==c.identifierPrefix&&(f=c.identifierPrefix),void 0!==c.onRecoverableError&&(g=c.onRecoverableError));b=fl(b,null,a,1,null!=c?c:null,e,!1,f,g);a[uf]=b.current;sf(a);if(d)for(a=0;a<d.length;a++)c=d[a],e=c._getVersion,e=e(c._source),null==b.mutableSourceEagerHydrationData?b.mutableSourceEagerHydrationData=[c,e]:b.mutableSourceEagerHydrationData.push(c,\ne);return new nl(b)};exports.render=function(a,b,c){if(!pl(b))throw Error(p(200));return sl(null,a,b,!1,c)};exports.unmountComponentAtNode=function(a){if(!pl(a))throw Error(p(40));return a._reactRootContainer?(Sk(function(){sl(null,null,a,!1,function(){a._reactRootContainer=null;a[uf]=null})}),!0):!1};exports.unstable_batchedUpdates=Rk;\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!pl(c))throw Error(p(200));if(null==a||void 0===a._reactInternals)throw Error(p(38));return sl(a,b,c,!1,d)};exports.version=\"18.2.0-next-9e3b772b8-20220608\";\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n","/*\n * Copyright 2018 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/** Alignment along the horizontal axis. */\nexport var Alignment = {\n CENTER: \"center\",\n LEFT: \"left\",\n RIGHT: \"right\",\n};\n//# sourceMappingURL=alignment.js.map","/*\n * Copyright 2018 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n// tslint:disable:object-literal-sort-keys\nexport var Elevation = {\n ZERO: 0,\n ONE: 1,\n TWO: 2,\n THREE: 3,\n FOUR: 4,\n};\n//# sourceMappingURL=elevation.js.map","/*\n * Copyright 2015 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n// tslint:disable:object-literal-sort-keys\n/**\n * The four basic intents.\n */\nexport var Intent = {\n NONE: \"none\",\n PRIMARY: \"primary\",\n SUCCESS: \"success\",\n WARNING: \"warning\",\n DANGER: \"danger\",\n};\n//# sourceMappingURL=intent.js.map","/*\n * Copyright 2015 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nexport var Position = {\n BOTTOM: \"bottom\",\n BOTTOM_LEFT: \"bottom-left\",\n BOTTOM_RIGHT: \"bottom-right\",\n LEFT: \"left\",\n LEFT_BOTTOM: \"left-bottom\",\n LEFT_TOP: \"left-top\",\n RIGHT: \"right\",\n RIGHT_BOTTOM: \"right-bottom\",\n RIGHT_TOP: \"right-top\",\n TOP: \"top\",\n TOP_LEFT: \"top-left\",\n TOP_RIGHT: \"top-right\",\n};\nexport function isPositionHorizontal(position) {\n /* istanbul ignore next */\n return (position === Position.TOP ||\n position === Position.TOP_LEFT ||\n position === Position.TOP_RIGHT ||\n position === Position.BOTTOM ||\n position === Position.BOTTOM_LEFT ||\n position === Position.BOTTOM_RIGHT);\n}\nexport function isPositionVertical(position) {\n /* istanbul ignore next */\n return (position === Position.LEFT ||\n position === Position.LEFT_TOP ||\n position === Position.LEFT_BOTTOM ||\n position === Position.RIGHT ||\n position === Position.RIGHT_TOP ||\n position === Position.RIGHT_BOTTOM);\n}\nexport function getPositionIgnoreAngles(position) {\n if (position === Position.TOP || position === Position.TOP_LEFT || position === Position.TOP_RIGHT) {\n return Position.TOP;\n }\n else if (position === Position.BOTTOM ||\n position === Position.BOTTOM_LEFT ||\n position === Position.BOTTOM_RIGHT) {\n return Position.BOTTOM;\n }\n else if (position === Position.LEFT || position === Position.LEFT_TOP || position === Position.LEFT_BOTTOM) {\n return Position.LEFT;\n }\n else {\n return Position.RIGHT;\n }\n}\n//# sourceMappingURL=position.js.map","/*\n * Copyright 2015 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { Alignment } from \"./alignment\";\nimport { Elevation } from \"./elevation\";\nimport { Intent } from \"./intent\";\nimport { Position } from \"./position\";\nvar NS = \"bp5\";\nif (typeof BLUEPRINT_NAMESPACE !== \"undefined\") {\n NS = BLUEPRINT_NAMESPACE;\n}\nelse if (typeof REACT_APP_BLUEPRINT_NAMESPACE !== \"undefined\") {\n NS = REACT_APP_BLUEPRINT_NAMESPACE;\n}\n// modifiers\nexport var ACTIVE = \"\".concat(NS, \"-active\");\nexport var ALIGN_LEFT = \"\".concat(NS, \"-align-left\");\nexport var ALIGN_RIGHT = \"\".concat(NS, \"-align-right\");\nexport var COMPACT = \"\".concat(NS, \"-compact\");\nexport var DARK = \"\".concat(NS, \"-dark\");\nexport var DISABLED = \"\".concat(NS, \"-disabled\");\nexport var FILL = \"\".concat(NS, \"-fill\");\nexport var FIXED = \"\".concat(NS, \"-fixed\");\nexport var FIXED_TOP = \"\".concat(NS, \"-fixed-top\");\nexport var INLINE = \"\".concat(NS, \"-inline\");\nexport var INTERACTIVE = \"\".concat(NS, \"-interactive\");\nexport var LARGE = \"\".concat(NS, \"-large\");\nexport var LOADING = \"\".concat(NS, \"-loading\");\nexport var MINIMAL = \"\".concat(NS, \"-minimal\");\nexport var OUTLINED = \"\".concat(NS, \"-outlined\");\nexport var PADDED = \"\".concat(NS, \"-padded\");\nexport var MULTILINE = \"\".concat(NS, \"-multiline\");\nexport var READ_ONLY = \"\".concat(NS, \"-read-only\");\nexport var ROUND = \"\".concat(NS, \"-round\");\nexport var SELECTED = \"\".concat(NS, \"-selected\");\nexport var SMALL = \"\".concat(NS, \"-small\");\nexport var VERTICAL = \"\".concat(NS, \"-vertical\");\nexport var POSITION_TOP = positionClass(Position.TOP);\nexport var POSITION_BOTTOM = positionClass(Position.BOTTOM);\nexport var POSITION_LEFT = positionClass(Position.LEFT);\nexport var POSITION_RIGHT = positionClass(Position.RIGHT);\nexport var ELEVATION_0 = elevationClass(Elevation.ZERO);\nexport var ELEVATION_1 = elevationClass(Elevation.ONE);\nexport var ELEVATION_2 = elevationClass(Elevation.TWO);\nexport var ELEVATION_3 = elevationClass(Elevation.THREE);\nexport var ELEVATION_4 = elevationClass(Elevation.FOUR);\nexport var INTENT_PRIMARY = intentClass(Intent.PRIMARY);\nexport var INTENT_SUCCESS = intentClass(Intent.SUCCESS);\nexport var INTENT_WARNING = intentClass(Intent.WARNING);\nexport var INTENT_DANGER = intentClass(Intent.DANGER);\nexport var FOCUS_DISABLED = \"\".concat(NS, \"-focus-disabled\");\nexport var FOCUS_STYLE_MANAGER_IGNORE = \"\".concat(NS, \"-focus-style-manager-ignore\");\n// text utilities\nexport var UI_TEXT = \"\".concat(NS, \"-ui-text\");\nexport var RUNNING_TEXT = \"\".concat(NS, \"-running-text\");\nexport var MONOSPACE_TEXT = \"\".concat(NS, \"-monospace-text\");\nexport var TEXT_LARGE = \"\".concat(NS, \"-text-large\");\nexport var TEXT_SMALL = \"\".concat(NS, \"-text-small\");\nexport var TEXT_MUTED = \"\".concat(NS, \"-text-muted\");\nexport var TEXT_DISABLED = \"\".concat(NS, \"-text-disabled\");\nexport var TEXT_OVERFLOW_ELLIPSIS = \"\".concat(NS, \"-text-overflow-ellipsis\");\n// textual elements\nexport var BLOCKQUOTE = \"\".concat(NS, \"-blockquote\");\nexport var CODE = \"\".concat(NS, \"-code\");\nexport var CODE_BLOCK = \"\".concat(NS, \"-code-block\");\nexport var HEADING = \"\".concat(NS, \"-heading\");\nexport var LIST = \"\".concat(NS, \"-list\");\nexport var LIST_UNSTYLED = \"\".concat(NS, \"-list-unstyled\");\nexport var RTL = \"\".concat(NS, \"-rtl\");\n// components\nexport var ALERT = \"\".concat(NS, \"-alert\");\nexport var ALERT_BODY = \"\".concat(ALERT, \"-body\");\nexport var ALERT_CONTENTS = \"\".concat(ALERT, \"-contents\");\nexport var ALERT_FOOTER = \"\".concat(ALERT, \"-footer\");\nexport var BREADCRUMB = \"\".concat(NS, \"-breadcrumb\");\nexport var BREADCRUMB_CURRENT = \"\".concat(BREADCRUMB, \"-current\");\nexport var BREADCRUMBS = \"\".concat(BREADCRUMB, \"s\");\nexport var BREADCRUMBS_COLLAPSED = \"\".concat(BREADCRUMB, \"s-collapsed\");\nexport var BUTTON = \"\".concat(NS, \"-button\");\nexport var BUTTON_GROUP = \"\".concat(BUTTON, \"-group\");\nexport var BUTTON_SPINNER = \"\".concat(BUTTON, \"-spinner\");\nexport var BUTTON_TEXT = \"\".concat(BUTTON, \"-text\");\nexport var CALLOUT = \"\".concat(NS, \"-callout\");\nexport var CALLOUT_HAS_BODY_CONTENT = \"\".concat(CALLOUT, \"-has-body-content\");\nexport var CALLOUT_ICON = \"\".concat(CALLOUT, \"-icon\");\nexport var CARD = \"\".concat(NS, \"-card\");\nexport var CONTROL_CARD = \"\".concat(NS, \"-control-card\");\nexport var CONTROL_CARD_LABEL = \"\".concat(CONTROL_CARD, \"-label\");\nexport var SWITCH_CONTROL_CARD = \"\".concat(NS, \"-switch-control-card\");\nexport var CHECKBOX_CONTROL_CARD = \"\".concat(NS, \"-checkbox-control-card\");\nexport var RADIO_CONTROL_CARD = \"\".concat(NS, \"-radio-control-card\");\nexport var CARD_LIST = \"\".concat(NS, \"-card-list\");\nexport var CARD_LIST_BORDERED = \"\".concat(CARD_LIST, \"-bordered\");\nexport var COLLAPSE = \"\".concat(NS, \"-collapse\");\nexport var COLLAPSE_BODY = \"\".concat(COLLAPSE, \"-body\");\nexport var CONTEXT_MENU = \"\".concat(NS, \"-context-menu\");\nexport var CONTEXT_MENU_VIRTUAL_TARGET = \"\".concat(CONTEXT_MENU, \"-virtual-target\");\nexport var CONTEXT_MENU_POPOVER = \"\".concat(CONTEXT_MENU, \"-popover\");\nexport var CONTEXT_MENU_BACKDROP = \"\".concat(CONTEXT_MENU, \"-backdrop\");\nexport var CONTROL_GROUP = \"\".concat(NS, \"-control-group\");\nexport var DIALOG = \"\".concat(NS, \"-dialog\");\nexport var DIALOG_CONTAINER = \"\".concat(DIALOG, \"-container\");\nexport var DIALOG_HEADER = \"\".concat(DIALOG, \"-header\");\nexport var DIALOG_BODY = \"\".concat(DIALOG, \"-body\");\nexport var DIALOG_BODY_SCROLL_CONTAINER = \"\".concat(DIALOG, \"-body-scroll-container\");\nexport var DIALOG_CLOSE_BUTTON = \"\".concat(DIALOG, \"-close-button\");\nexport var DIALOG_FOOTER = \"\".concat(DIALOG, \"-footer\");\nexport var DIALOG_FOOTER_FIXED = \"\".concat(DIALOG, \"-footer-fixed\");\nexport var DIALOG_FOOTER_MAIN_SECTION = \"\".concat(DIALOG, \"-footer-main-section\");\nexport var DIALOG_FOOTER_ACTIONS = \"\".concat(DIALOG, \"-footer-actions\");\nexport var DIALOG_STEP = \"\".concat(NS, \"-dialog-step\");\nexport var DIALOG_STEP_CONTAINER = \"\".concat(DIALOG_STEP, \"-container\");\nexport var DIALOG_STEP_TITLE = \"\".concat(DIALOG_STEP, \"-title\");\nexport var DIALOG_STEP_ICON = \"\".concat(DIALOG_STEP, \"-icon\");\nexport var DIALOG_STEP_VIEWED = \"\".concat(DIALOG_STEP, \"-viewed\");\nexport var DIVIDER = \"\".concat(NS, \"-divider\");\nexport var DRAWER = \"\".concat(NS, \"-drawer\");\nexport var DRAWER_BODY = \"\".concat(DRAWER, \"-body\");\nexport var DRAWER_FOOTER = \"\".concat(DRAWER, \"-footer\");\nexport var DRAWER_HEADER = \"\".concat(DRAWER, \"-header\");\nexport var EDITABLE_TEXT = \"\".concat(NS, \"-editable-text\");\nexport var EDITABLE_TEXT_CONTENT = \"\".concat(EDITABLE_TEXT, \"-content\");\nexport var EDITABLE_TEXT_EDITING = \"\".concat(EDITABLE_TEXT, \"-editing\");\nexport var EDITABLE_TEXT_INPUT = \"\".concat(EDITABLE_TEXT, \"-input\");\nexport var EDITABLE_TEXT_PLACEHOLDER = \"\".concat(EDITABLE_TEXT, \"-placeholder\");\nexport var FLEX_EXPANDER = \"\".concat(NS, \"-flex-expander\");\nexport var HTML_SELECT = \"\".concat(NS, \"-html-select\");\n/** @deprecated use `<HTMLSelect>` component or `Classes.HTML_SELECT` instead */\nexport var SELECT = \"\".concat(NS, \"-select\");\nexport var HTML_TABLE = \"\".concat(NS, \"-html-table\");\nexport var HTML_TABLE_BORDERED = \"\".concat(HTML_TABLE, \"-bordered\");\nexport var HTML_TABLE_STRIPED = \"\".concat(HTML_TABLE, \"-striped\");\nexport var INPUT = \"\".concat(NS, \"-input\");\nexport var INPUT_GHOST = \"\".concat(INPUT, \"-ghost\");\nexport var INPUT_GROUP = \"\".concat(INPUT, \"-group\");\nexport var INPUT_LEFT_CONTAINER = \"\".concat(INPUT, \"-left-container\");\nexport var INPUT_ACTION = \"\".concat(INPUT, \"-action\");\nexport var RESIZABLE_INPUT_SPAN = \"\".concat(NS, \"-resizable-input-span\");\nexport var TEXT_AREA = \"\".concat(NS, \"-text-area\");\nexport var TEXT_AREA_AUTO_RESIZE = \"\".concat(TEXT_AREA, \"-auto-resize\");\nexport var CONTROL = \"\".concat(NS, \"-control\");\nexport var CONTROL_INDICATOR = \"\".concat(CONTROL, \"-indicator\");\nexport var CONTROL_INDICATOR_CHILD = \"\".concat(CONTROL_INDICATOR, \"-child\");\nexport var CHECKBOX = \"\".concat(NS, \"-checkbox\");\nexport var RADIO = \"\".concat(NS, \"-radio\");\nexport var RADIO_GROUP = \"\".concat(NS, \"-radio-group\");\nexport var SWITCH = \"\".concat(NS, \"-switch\");\nexport var SWITCH_INNER_TEXT = \"\".concat(SWITCH, \"-inner-text\");\nexport var FILE_INPUT = \"\".concat(NS, \"-file-input\");\nexport var FILE_INPUT_HAS_SELECTION = \"\".concat(NS, \"-file-input-has-selection\");\nexport var FILE_UPLOAD_INPUT = \"\".concat(NS, \"-file-upload-input\");\nexport var FILE_UPLOAD_INPUT_CUSTOM_TEXT = \"\".concat(NS, \"-file-upload-input-custom-text\");\nexport var KEY = \"\".concat(NS, \"-key\");\nexport var KEY_COMBO = \"\".concat(KEY, \"-combo\");\nexport var MODIFIER_KEY = \"\".concat(NS, \"-modifier-key\");\nexport var HOTKEY = \"\".concat(NS, \"-hotkey\");\nexport var HOTKEY_LABEL = \"\".concat(HOTKEY, \"-label\");\nexport var HOTKEY_COLUMN = \"\".concat(HOTKEY, \"-column\");\nexport var HOTKEY_DIALOG = \"\".concat(HOTKEY, \"-dialog\");\nexport var LABEL = \"\".concat(NS, \"-label\");\nexport var FORM_GROUP = \"\".concat(NS, \"-form-group\");\nexport var FORM_CONTENT = \"\".concat(NS, \"-form-content\");\nexport var FORM_HELPER_TEXT = \"\".concat(NS, \"-form-helper-text\");\nexport var FORM_GROUP_SUB_LABEL = \"\".concat(NS, \"-form-group-sub-label\");\nexport var MENU = \"\".concat(NS, \"-menu\");\nexport var MENU_ITEM = \"\".concat(MENU, \"-item\");\nexport var MENU_ITEM_IS_SELECTABLE = \"\".concat(MENU_ITEM, \"-is-selectable\");\nexport var MENU_ITEM_SELECTED_ICON = \"\".concat(MENU_ITEM, \"-selected-icon\");\nexport var MENU_ITEM_ICON = \"\".concat(MENU_ITEM, \"-icon\");\nexport var MENU_ITEM_LABEL = \"\".concat(MENU_ITEM, \"-label\");\nexport var MENU_SUBMENU = \"\".concat(NS, \"-submenu\");\nexport var MENU_SUBMENU_ICON = \"\".concat(MENU_SUBMENU, \"-icon\");\nexport var MENU_DIVIDER = \"\".concat(MENU, \"-divider\");\nexport var MENU_HEADER = \"\".concat(MENU, \"-header\");\nexport var MULTISTEP_DIALOG = \"\".concat(NS, \"-multistep-dialog\");\nexport var MULTISTEP_DIALOG_PANELS = \"\".concat(MULTISTEP_DIALOG, \"-panels\");\nexport var MULTISTEP_DIALOG_LEFT_PANEL = \"\".concat(MULTISTEP_DIALOG, \"-left-panel\");\nexport var MULTISTEP_DIALOG_RIGHT_PANEL = \"\".concat(MULTISTEP_DIALOG, \"-right-panel\");\nexport var MULTISTEP_DIALOG_NAV_TOP = \"\".concat(MULTISTEP_DIALOG, \"-nav-top\");\nexport var MULTISTEP_DIALOG_NAV_RIGHT = \"\".concat(MULTISTEP_DIALOG, \"-nav-right\");\nexport var SECTION = \"\".concat(NS, \"-section\");\nexport var SECTION_COLLAPSED = \"\".concat(SECTION, \"-collapsed\");\nexport var SECTION_HEADER = \"\".concat(SECTION, \"-header\");\nexport var SECTION_HEADER_LEFT = \"\".concat(SECTION_HEADER, \"-left\");\nexport var SECTION_HEADER_TITLE = \"\".concat(SECTION_HEADER, \"-title\");\nexport var SECTION_HEADER_SUB_TITLE = \"\".concat(SECTION_HEADER, \"-sub-title\");\nexport var SECTION_HEADER_DIVIDER = \"\".concat(SECTION_HEADER, \"-divider\");\nexport var SECTION_HEADER_TABS = \"\".concat(SECTION_HEADER, \"-tabs\");\nexport var SECTION_HEADER_RIGHT = \"\".concat(SECTION_HEADER, \"-right\");\nexport var SECTION_CARD = \"\".concat(SECTION, \"-card\");\nexport var NAVBAR = \"\".concat(NS, \"-navbar\");\nexport var NAVBAR_GROUP = \"\".concat(NAVBAR, \"-group\");\nexport var NAVBAR_HEADING = \"\".concat(NAVBAR, \"-heading\");\nexport var NAVBAR_DIVIDER = \"\".concat(NAVBAR, \"-divider\");\nexport var NON_IDEAL_STATE = \"\".concat(NS, \"-non-ideal-state\");\nexport var NON_IDEAL_STATE_VISUAL = \"\".concat(NON_IDEAL_STATE, \"-visual\");\nexport var NON_IDEAL_STATE_TEXT = \"\".concat(NON_IDEAL_STATE, \"-text\");\nexport var NUMERIC_INPUT = \"\".concat(NS, \"-numeric-input\");\nexport var OVERFLOW_LIST = \"\".concat(NS, \"-overflow-list\");\nexport var OVERFLOW_LIST_SPACER = \"\".concat(OVERFLOW_LIST, \"-spacer\");\nexport var OVERLAY = \"\".concat(NS, \"-overlay\");\nexport var OVERLAY_BACKDROP = \"\".concat(OVERLAY, \"-backdrop\");\nexport var OVERLAY_CONTAINER = \"\".concat(OVERLAY, \"-container\");\nexport var OVERLAY_CONTENT = \"\".concat(OVERLAY, \"-content\");\nexport var OVERLAY_INLINE = \"\".concat(OVERLAY, \"-inline\");\nexport var OVERLAY_OPEN = \"\".concat(OVERLAY, \"-open\");\nexport var OVERLAY_SCROLL_CONTAINER = \"\".concat(OVERLAY, \"-scroll-container\");\nexport var OVERLAY_START_FOCUS_TRAP = \"\".concat(OVERLAY, \"-start-focus-trap\");\nexport var OVERLAY_END_FOCUS_TRAP = \"\".concat(OVERLAY, \"-end-focus-trap\");\nexport var PANEL_STACK = \"\".concat(NS, \"-panel-stack\");\nexport var PANEL_STACK_HEADER = \"\".concat(PANEL_STACK, \"-header\");\nexport var PANEL_STACK_HEADER_BACK = \"\".concat(PANEL_STACK, \"-header-back\");\nexport var PANEL_STACK_VIEW = \"\".concat(PANEL_STACK, \"-view\");\nexport var PANEL_STACK2 = \"\".concat(NS, \"-panel-stack2\");\nexport var PANEL_STACK2_HEADER = \"\".concat(PANEL_STACK, \"-header\");\nexport var PANEL_STACK2_HEADER_BACK = \"\".concat(PANEL_STACK, \"-header-back\");\nexport var PANEL_STACK2_VIEW = \"\".concat(PANEL_STACK, \"-view\");\nexport var POPOVER = \"\".concat(NS, \"-popover\");\nexport var POPOVER_ARROW = \"\".concat(POPOVER, \"-arrow\");\nexport var POPOVER_BACKDROP = \"\".concat(POPOVER, \"-backdrop\");\nexport var POPOVER_CAPTURING_DISMISS = \"\".concat(POPOVER, \"-capturing-dismiss\");\nexport var POPOVER_CONTENT = \"\".concat(POPOVER, \"-content\");\nexport var POPOVER_CONTENT_PLACEMENT = \"\".concat(POPOVER, \"-placement\");\nexport var POPOVER_CONTENT_SIZING = \"\".concat(POPOVER_CONTENT, \"-sizing\");\nexport var POPOVER_DISMISS = \"\".concat(POPOVER, \"-dismiss\");\nexport var POPOVER_DISMISS_OVERRIDE = \"\".concat(POPOVER_DISMISS, \"-override\");\nexport var POPOVER_MATCH_TARGET_WIDTH = \"\".concat(POPOVER, \"-match-target-width\");\nexport var POPOVER_OPEN = \"\".concat(POPOVER, \"-open\");\nexport var POPOVER_POPPER_ESCAPED = \"\".concat(POPOVER, \"-popper-escaped\");\nexport var POPOVER_REFERENCE_HIDDEN = \"\".concat(POPOVER, \"-reference-hidden\");\nexport var POPOVER_TARGET = \"\".concat(POPOVER, \"-target\");\nexport var POPOVER_TRANSITION_CONTAINER = \"\".concat(POPOVER, \"-transition-container\");\n/** @deprecated, no longer used in Blueprint v5.x */\nexport var POPOVER_WRAPPER = \"\".concat(POPOVER, \"-wrapper\");\nexport var PROGRESS_BAR = \"\".concat(NS, \"-progress-bar\");\nexport var PROGRESS_METER = \"\".concat(NS, \"-progress-meter\");\nexport var PROGRESS_NO_STRIPES = \"\".concat(NS, \"-no-stripes\");\nexport var PROGRESS_NO_ANIMATION = \"\".concat(NS, \"-no-animation\");\nexport var PORTAL = \"\".concat(NS, \"-portal\");\nexport var SKELETON = \"\".concat(NS, \"-skeleton\");\nexport var SLIDER = \"\".concat(NS, \"-slider\");\nexport var SLIDER_AXIS = \"\".concat(SLIDER, \"-axis\");\nexport var SLIDER_HANDLE = \"\".concat(SLIDER, \"-handle\");\nexport var SLIDER_LABEL = \"\".concat(SLIDER, \"-label\");\nexport var SLIDER_TRACK = \"\".concat(SLIDER, \"-track\");\nexport var SLIDER_PROGRESS = \"\".concat(SLIDER, \"-progress\");\nexport var START = \"\".concat(NS, \"-start\");\nexport var END = \"\".concat(NS, \"-end\");\nexport var SPINNER = \"\".concat(NS, \"-spinner\");\nexport var SPINNER_ANIMATION = \"\".concat(SPINNER, \"-animation\");\nexport var SPINNER_HEAD = \"\".concat(SPINNER, \"-head\");\nexport var SPINNER_NO_SPIN = \"\".concat(NS, \"-no-spin\");\nexport var SPINNER_TRACK = \"\".concat(SPINNER, \"-track\");\nexport var SEGMENTED_CONTROL = \"\".concat(NS, \"-segmented-control\");\nexport var TAB = \"\".concat(NS, \"-tab\");\nexport var TAB_ICON = \"\".concat(TAB, \"-icon\");\nexport var TAB_TAG = \"\".concat(TAB, \"-tag\");\nexport var TAB_INDICATOR = \"\".concat(TAB, \"-indicator\");\nexport var TAB_INDICATOR_WRAPPER = \"\".concat(TAB_INDICATOR, \"-wrapper\");\nexport var TAB_LIST = \"\".concat(TAB, \"-list\");\nexport var TAB_PANEL = \"\".concat(TAB, \"-panel\");\nexport var TABS = \"\".concat(TAB, \"s\");\nexport var TAG = \"\".concat(NS, \"-tag\");\nexport var TAG_REMOVE = \"\".concat(TAG, \"-remove\");\nexport var TAG_INPUT = \"\".concat(NS, \"-tag-input\");\nexport var TAG_INPUT_ICON = \"\".concat(TAG_INPUT, \"-icon\");\nexport var TAG_INPUT_VALUES = \"\".concat(TAG_INPUT, \"-values\");\nexport var TOAST = \"\".concat(NS, \"-toast\");\nexport var TOAST_CONTAINER = \"\".concat(TOAST, \"-container\");\nexport var TOAST_MESSAGE = \"\".concat(TOAST, \"-message\");\nexport var TOOLTIP = \"\".concat(NS, \"-tooltip\");\nexport var TOOLTIP_INDICATOR = \"\".concat(TOOLTIP, \"-indicator\");\nexport var TREE = \"\".concat(NS, \"-tree\");\nexport var TREE_NODE = \"\".concat(NS, \"-tree-node\");\nexport var TREE_NODE_CARET = \"\".concat(TREE_NODE, \"-caret\");\nexport var TREE_NODE_CARET_CLOSED = \"\".concat(TREE_NODE_CARET, \"-closed\");\nexport var TREE_NODE_CARET_NONE = \"\".concat(TREE_NODE_CARET, \"-none\");\nexport var TREE_NODE_CARET_OPEN = \"\".concat(TREE_NODE_CARET, \"-open\");\nexport var TREE_NODE_CONTENT = \"\".concat(TREE_NODE, \"-content\");\nexport var TREE_NODE_EXPANDED = \"\".concat(TREE_NODE, \"-expanded\");\nexport var TREE_NODE_ICON = \"\".concat(TREE_NODE, \"-icon\");\nexport var TREE_NODE_LABEL = \"\".concat(TREE_NODE, \"-label\");\nexport var TREE_NODE_LIST = \"\".concat(TREE_NODE, \"-list\");\nexport var TREE_NODE_SECONDARY_LABEL = \"\".concat(TREE_NODE, \"-secondary-label\");\nexport var TREE_NODE_SELECTED = \"\".concat(TREE_NODE, \"-selected\");\nexport var TREE_ROOT = \"\".concat(NS, \"-tree-root\");\nexport var ICON = \"\".concat(NS, \"-icon\");\nexport var ICON_STANDARD = \"\".concat(ICON, \"-standard\");\nexport var ICON_LARGE = \"\".concat(ICON, \"-large\");\n/**\n * Returns the namespace prefix for all Blueprint CSS classes.\n * Customize this namespace at build time by defining it with `webpack.DefinePlugin`.\n */\nexport function getClassNamespace() {\n return NS;\n}\n/** Return CSS class for alignment. */\nexport function alignmentClass(alignment) {\n switch (alignment) {\n case Alignment.LEFT:\n return ALIGN_LEFT;\n case Alignment.RIGHT:\n return ALIGN_RIGHT;\n default:\n return undefined;\n }\n}\nexport function elevationClass(elevation) {\n if (elevation === undefined) {\n return undefined;\n }\n return \"\".concat(NS, \"-elevation-\").concat(elevation);\n}\nexport function iconClass(iconName) {\n if (iconName == null) {\n return undefined;\n }\n return iconName.indexOf(\"\".concat(NS, \"-icon-\")) === 0 ? iconName : \"\".concat(NS, \"-icon-\").concat(iconName);\n}\nexport function intentClass(intent) {\n if (intent == null || intent === Intent.NONE) {\n return undefined;\n }\n return \"\".concat(NS, \"-intent-\").concat(intent.toLowerCase());\n}\nexport function positionClass(position) {\n if (position === undefined) {\n return undefined;\n }\n return \"\".concat(NS, \"-position-\").concat(position);\n}\n//# sourceMappingURL=classes.js.map","/*\n * Copyright 2016 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* istanbul ignore next */\n/**\n * A nifty little class that maintains event handlers to add a class to the container element\n * when entering \"mouse mode\" (on a `mousedown` event) and remove it when entering \"keyboard mode\"\n * (on a `tab` key `keydown` event).\n */\nvar InteractionModeEngine = /** @class */ (function () {\n function InteractionModeEngine(container, className) {\n var _this = this;\n this.container = container;\n this.className = className;\n this.isRunning = false;\n this.handleKeyDown = function (e) {\n if (e.key === \"Tab\") {\n _this.reset();\n _this.container.addEventListener(\"mousedown\", _this.handleMouseDown);\n }\n };\n this.handleMouseDown = function () {\n _this.reset();\n _this.container.classList.add(_this.className);\n _this.container.addEventListener(\"keydown\", _this.handleKeyDown);\n };\n }\n /** Returns whether the engine is currently running. */\n InteractionModeEngine.prototype.isActive = function () {\n return this.isRunning;\n };\n /** Enable behavior which applies the given className when in mouse mode. */\n InteractionModeEngine.prototype.start = function () {\n this.container.addEventListener(\"mousedown\", this.handleMouseDown);\n this.isRunning = true;\n };\n /** Disable interaction mode behavior and remove className from container. */\n InteractionModeEngine.prototype.stop = function () {\n this.reset();\n this.isRunning = false;\n };\n InteractionModeEngine.prototype.reset = function () {\n this.container.classList.remove(this.className);\n this.container.removeEventListener(\"keydown\", this.handleKeyDown);\n this.container.removeEventListener(\"mousedown\", this.handleMouseDown);\n };\n return InteractionModeEngine;\n}());\nexport { InteractionModeEngine };\n//# sourceMappingURL=interactionMode.js.map","/*\n * Copyright 2016 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { FOCUS_DISABLED } from \"../common/classes\";\nimport { InteractionModeEngine } from \"../common/interactionMode\";\nvar fakeFocusEngine = {\n isActive: function () { return true; },\n start: function () { return true; },\n stop: function () { return true; },\n};\nvar focusEngine = typeof document !== \"undefined\"\n ? new InteractionModeEngine(document.documentElement, FOCUS_DISABLED)\n : fakeFocusEngine;\nexport var FocusStyleManager = {\n alwaysShowFocus: function () { return focusEngine.stop(); },\n isActive: function () { return focusEngine.isActive(); },\n onlyShowFocusOnTabs: function () { return focusEngine.start(); },\n};\n//# sourceMappingURL=focusStyleManager.js.map","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","/*\n * Copyright 2017 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * Returns true if the arrays are equal. Elements will be shallowly compared by\n * default, or they will be compared using the custom `compare` function if one\n * is provided.\n */\nexport function arraysEqual(arrA, arrB, compare) {\n if (compare === void 0) { compare = function (a, b) { return a === b; }; }\n // treat `null` and `undefined` as the same\n if (arrA == null && arrB == null) {\n return true;\n }\n else if (arrA == null || arrB == null || arrA.length !== arrB.length) {\n return false;\n }\n else {\n return arrA.every(function (a, i) { return compare(a, arrB[i]); });\n }\n}\n/**\n * Shallow comparison between objects. If `keys` is provided, just that subset\n * of keys will be compared; otherwise, all keys will be compared.\n *\n * @returns true if items are equal.\n */\nexport function shallowCompareKeys(objA, objB, keys) {\n // treat `null` and `undefined` as the same\n if (objA == null && objB == null) {\n return true;\n }\n else if (objA == null || objB == null) {\n return false;\n }\n else if (Array.isArray(objA) || Array.isArray(objB)) {\n return false;\n }\n else if (keys != null) {\n return shallowCompareKeysImpl(objA, objB, keys);\n }\n else {\n // shallowly compare all keys from both objects\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n return (shallowCompareKeysImpl(objA, objB, { include: keysA }) &&\n shallowCompareKeysImpl(objA, objB, { include: keysB }));\n }\n}\n/**\n * Deep comparison between objects. If `keys` is provided, just that subset of\n * keys will be compared; otherwise, all keys will be compared.\n *\n * @returns true if items are equal.\n */\nexport function deepCompareKeys(objA, objB, keys) {\n if (objA === objB) {\n return true;\n }\n else if (objA == null && objB == null) {\n // treat `null` and `undefined` as the same\n return true;\n }\n else if (objA == null || objB == null) {\n return false;\n }\n else if (Array.isArray(objA) || Array.isArray(objB)) {\n return arraysEqual(objA, objB, deepCompareKeys);\n }\n else if (isSimplePrimitiveType(objA) || isSimplePrimitiveType(objB)) {\n return objA === objB;\n }\n else if (keys != null) {\n return deepCompareKeysImpl(objA, objB, keys);\n }\n else if (objA.constructor !== objB.constructor) {\n return false;\n }\n else {\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n if (keysA == null || keysB == null) {\n return false;\n }\n if (keysA.length === 0 && keysB.length === 0) {\n return true;\n }\n return arraysEqual(keysA, keysB) && deepCompareKeysImpl(objA, objB, keysA);\n }\n}\n/**\n * Returns a descriptive object for each key whose values are deeply unequal\n * between two provided objects. Useful for debugging shouldComponentUpdate.\n */\nexport function getDeepUnequalKeyValues(objA, objB, keys) {\n if (objA === void 0) { objA = {}; }\n if (objB === void 0) { objB = {}; }\n var filteredKeys = keys == null ? unionKeys(objA, objB) : keys;\n return getUnequalKeyValues(objA, objB, filteredKeys, function (a, b, key) {\n return deepCompareKeys(a, b, [key]);\n });\n}\n// Private helpers\n// ===============\n/**\n * Partial shallow comparison between objects using the given list of keys.\n */\nfunction shallowCompareKeysImpl(objA, objB, keys) {\n return filterKeys(objA, objB, keys).every(function (key) {\n return objA.hasOwnProperty(key) === objB.hasOwnProperty(key) && objA[key] === objB[key];\n });\n}\n/**\n * Partial deep comparison between objects using the given list of keys.\n */\nfunction deepCompareKeysImpl(objA, objB, keys) {\n return keys.every(function (key) {\n return objA.hasOwnProperty(key) === objB.hasOwnProperty(key) && deepCompareKeys(objA[key], objB[key]);\n });\n}\nfunction isSimplePrimitiveType(value) {\n return typeof value === \"number\" || typeof value === \"string\" || typeof value === \"boolean\";\n}\nfunction filterKeys(objA, objB, keys) {\n if (isAllowlist(keys)) {\n return keys.include;\n }\n else if (isDenylist(keys)) {\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n // merge keys from both objects into a big set for quick access\n var keySet_1 = arrayToObject(keysA.concat(keysB));\n // delete denied keys from the key set\n keys.exclude.forEach(function (key) { return delete keySet_1[key]; });\n // return the remaining keys as an array\n return Object.keys(keySet_1);\n }\n return [];\n}\nfunction isAllowlist(keys) {\n return keys != null && keys.include != null;\n}\nfunction isDenylist(keys) {\n return keys != null && keys.exclude != null;\n}\nfunction arrayToObject(arr) {\n return arr.reduce(function (obj, element) {\n obj[element] = true;\n return obj;\n }, {});\n}\nfunction getUnequalKeyValues(objA, objB, keys, compareFn) {\n var unequalKeys = keys.filter(function (key) { return !compareFn(objA, objB, key); });\n var unequalKeyValues = unequalKeys.map(function (key) { return ({\n key: key,\n valueA: objA[key],\n valueB: objB[key],\n }); });\n return unequalKeyValues;\n}\nfunction unionKeys(objA, objB) {\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n var concatKeys = keysA.concat(keysB);\n var keySet = arrayToObject(concatKeys);\n return Object.keys(keySet);\n}\n//# sourceMappingURL=compareUtils.js.map","/*\n * Copyright 2020 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign } from \"tslib\";\nexport function elementIsOrContains(element, testElement) {\n return element === testElement || element.contains(testElement);\n}\n/**\n * Checks whether the given element is inside something that looks like a text input.\n * This is particularly useful to determine if a keyboard event inside this element should take priority over hotkey\n * bindings / keyboard shortcut handlers.\n *\n * @returns true if the element is inside a text input\n */\nexport function elementIsTextInput(elem) {\n // we check these cases for unit testing, but this should not happen\n // during normal operation\n if (elem == null || elem.closest == null) {\n return false;\n }\n var editable = elem.closest(\"input, textarea, [contenteditable=true]\");\n if (editable == null) {\n return false;\n }\n // don't let checkboxes, switches, and radio buttons prevent hotkey behavior\n if (editable.tagName.toLowerCase() === \"input\") {\n var inputType = editable.type;\n if (inputType === \"checkbox\" || inputType === \"radio\") {\n return false;\n }\n }\n // don't let read-only fields prevent hotkey behavior\n if (editable.readOnly) {\n return false;\n }\n return true;\n}\n/**\n * Gets the active element in the document or shadow root (if an element is provided, and it's in the shadow DOM).\n */\nexport function getActiveElement(element, options) {\n var _a;\n if (element == null) {\n return document.activeElement;\n }\n var rootNode = ((_a = element.getRootNode(options)) !== null && _a !== void 0 ? _a : document);\n return rootNode.activeElement;\n}\n/**\n * Throttle an event on an EventTarget by wrapping it in a\n * `requestAnimationFrame` call. Returns the event handler that was bound to\n * given eventName so you can clean up after yourself.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/Events/scroll\n */\n/* istanbul ignore next */\nexport function throttleEvent(target, eventName, newEventName) {\n var throttledFunc = throttleImpl(function (event) {\n target.dispatchEvent(new CustomEvent(newEventName, event));\n });\n target.addEventListener(eventName, throttledFunc);\n return throttledFunc;\n}\n/**\n * Throttle a callback by wrapping it in a `requestAnimationFrame` call. Returns\n * the throttled function.\n *\n * @see https://www.html5rocks.com/en/tutorials/speed/animations/\n */\nexport function throttleReactEventCallback(callback, options) {\n if (options === void 0) { options = {}; }\n var throttledFunc = throttleImpl(callback, function (event2) {\n if (options.preventDefault) {\n event2.preventDefault();\n }\n }, \n // prevent React from reclaiming the event object before we reference it\n function (event2) { return event2.persist(); });\n return throttledFunc;\n}\n/**\n * Throttle a method by wrapping it in a `requestAnimationFrame` call. Returns\n * the throttled function.\n */\n/* istanbul ignore next */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function throttle(method) {\n return throttleImpl(method);\n}\n// eslint-disable-next-line @typescript-eslint/ban-types\nfunction throttleImpl(onAnimationFrameRequested, onBeforeIsRunningCheck, onAfterIsRunningCheck) {\n var isRunning = false;\n var func = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n onBeforeIsRunningCheck === null || onBeforeIsRunningCheck === void 0 ? void 0 : onBeforeIsRunningCheck.apply(void 0, args);\n if (isRunning) {\n return;\n }\n isRunning = true;\n onAfterIsRunningCheck === null || onAfterIsRunningCheck === void 0 ? void 0 : onAfterIsRunningCheck.apply(void 0, args);\n requestAnimationFrame(function () {\n onAnimationFrameRequested.apply(void 0, args);\n isRunning = false;\n });\n };\n return func;\n}\nexport function clickElementOnKeyPress(keys) {\n return function (e) {\n return keys.some(function (key) { return e.key === key; }) && e.target.dispatchEvent(new MouseEvent(\"click\", __assign(__assign({}, e), { view: undefined })));\n };\n}\n//# sourceMappingURL=domUtils.js.map","/*\n * Copyright 2020 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/** Returns whether the value is a function. Acts as a type guard. */\n/* istanbul ignore next */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function isFunction(value) {\n return typeof value === \"function\";\n}\n//# sourceMappingURL=functionUtils.js.map","/*\n * Copyright 2015 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar ns = \"[Blueprint]\";\nexport var CLAMP_MIN_MAX = ns + \" clamp: max cannot be less than min\";\nexport var ALERT_WARN_CANCEL_PROPS = ns + \" <Alert> cancelButtonText and onCancel should be set together.\";\nexport var ALERT_WARN_CANCEL_ESCAPE_KEY = ns + \" <Alert> canEscapeKeyCancel enabled without onCancel or onClose handler.\";\nexport var ALERT_WARN_CANCEL_OUTSIDE_CLICK = ns + \" <Alert> canOutsideClickCancel enabled without onCancel or onClose handler.\";\nexport var HOTKEYS_HOTKEY_CHILDREN = ns + \" <Hotkeys> only accepts <Hotkey> children.\";\nexport var HOTKEYS_PROVIDER_NOT_FOUND = ns +\n \" useHotkeys() was used outside of a <HotkeysProvider> context. These hotkeys will not be shown in the hotkeys help dialog.\";\nexport var HOTKEYS_TARGET_CHILDREN_LOCAL_HOTKEYS = ns +\n \" <HotkeysTarget2> was configured with local hotkeys, but you did not use the generated event handlers to bind their event handlers. Try using a render function as the child of this component.\";\nexport var INPUT_WARN_LEFT_ELEMENT_LEFT_ICON_MUTEX = ns + \" <InputGroup> leftElement and leftIcon prop are mutually exclusive, with leftElement taking priority.\";\nexport var NUMERIC_INPUT_MIN_MAX = ns + \" <NumericInput> requires min to be no greater than max if both are defined.\";\nexport var NUMERIC_INPUT_MINOR_STEP_SIZE_BOUND = ns + \" <NumericInput> requires minorStepSize to be no greater than stepSize.\";\nexport var NUMERIC_INPUT_MAJOR_STEP_SIZE_BOUND = ns + \" <NumericInput> requires stepSize to be no greater than majorStepSize.\";\nexport var NUMERIC_INPUT_MINOR_STEP_SIZE_NON_POSITIVE = ns + \" <NumericInput> requires minorStepSize to be strictly greater than zero.\";\nexport var NUMERIC_INPUT_MAJOR_STEP_SIZE_NON_POSITIVE = ns + \" <NumericInput> requires majorStepSize to be strictly greater than zero.\";\nexport var NUMERIC_INPUT_STEP_SIZE_NON_POSITIVE = ns + \" <NumericInput> requires stepSize to be strictly greater than zero.\";\nexport var NUMERIC_INPUT_CONTROLLED_VALUE_INVALID = ns + \" <NumericInput> controlled value prop does not adhere to stepSize, min, and/or max constraints.\";\nexport var PANEL_STACK_INITIAL_PANEL_STACK_MUTEX = ns + \" <PanelStack> requires exactly one of initialPanel and stack prop\";\nexport var PANEL_STACK_REQUIRES_PANEL = ns + \" <PanelStack> requires at least one panel in the stack\";\nexport var OVERFLOW_LIST_OBSERVE_PARENTS_CHANGED = ns + \" <OverflowList> does not support changing observeParents after mounting.\";\nexport var POPOVER_REQUIRES_TARGET = \"\".concat(ns, \" <Popover> requires renderTarget prop or a child element.\");\nexport var POPOVER_HAS_BACKDROP_INTERACTION = \"\".concat(ns, \" <Popover hasBackdrop={true}> requires interactionKind=\\\"click\\\".\");\nexport var POPOVER_WARN_TOO_MANY_CHILDREN = \"\".concat(ns, \" <Popover> supports only one child which is rendered as its target; additional children are ignored.\");\nexport var POPOVER_WARN_DOUBLE_TARGET = ns + \" <Popover> with children ignores renderTarget prop; use either prop or children.\";\nexport var POPOVER_WARN_EMPTY_CONTENT = ns + \" Disabling <Popover> with empty/whitespace content...\";\nexport var POPOVER_WARN_HAS_BACKDROP_INLINE = ns + \" <Popover usePortal={false}> ignores hasBackdrop\";\nexport var POPOVER_WARN_PLACEMENT_AND_POSITION_MUTEX = ns + \" <Popover> supports either placement or position prop, not both.\";\nexport var POPOVER_WARN_UNCONTROLLED_ONINTERACTION = ns + \" <Popover> onInteraction is ignored when uncontrolled.\";\nexport var POPOVER_WARN_TARGET_PROPS_WITH_RENDER_TARGET = ns + \" <Popover> targetProps value is ignored when renderTarget API is used.\";\nexport var PORTAL_CONTEXT_CLASS_NAME_STRING = ns + \" <Portal> context blueprintPortalClassName must be string\";\nexport var PORTAL_LEGACY_CONTEXT_API = ns + \" setting blueprintPortalClassName via legacy React context API is deprecated, use <PortalProvider> instead.\";\nexport var RADIOGROUP_WARN_CHILDREN_OPTIONS_MUTEX = ns + \" <RadioGroup> children and options prop are mutually exclusive, with options taking priority.\";\nexport var SLIDER_ZERO_STEP = ns + \" <Slider> stepSize must be greater than zero.\";\nexport var SLIDER_ZERO_LABEL_STEP = ns + \" <Slider> labelStepSize must be greater than zero.\";\nexport var SLIDER_MIN = ns + \" <Slider> min prop must be a finite number.\";\nexport var SLIDER_MAX = ns + \" <Slider> max prop must be a finite number.\";\nexport var RANGESLIDER_NULL_VALUE = ns + \" <RangeSlider> value prop must be an array of two non-null numbers.\";\nexport var MULTISLIDER_INVALID_CHILD = ns + \" <MultiSlider> children must be <SliderHandle>s or <SliderTrackStop>s\";\nexport var MULTISLIDER_WARN_LABEL_STEP_SIZE_LABEL_VALUES_MUTEX = ns +\n \" <MultiSlider> labelStepSize and labelValues prop are mutually exclusive, with labelStepSize taking priority.\";\nexport var SPINNER_WARN_CLASSES_SIZE = ns + \" <Spinner> Classes.SMALL/LARGE are ignored if size prop is set.\";\nexport var TOASTER_CREATE_NULL = ns +\n \" OverlayToaster.create() is not supported inside React lifecycle methods in React 16.\" +\n \" See usage example on the docs site.\";\nexport var TOASTER_MAX_TOASTS_INVALID = ns + \" <OverlayToaster> maxToasts is set to an invalid number, must be greater than 0\";\nexport var TOASTER_WARN_INLINE = ns + \" OverlayToaster.create() ignores inline prop as it always creates a new element.\";\nexport var DIALOG_WARN_NO_HEADER_ICON = ns + \" <Dialog> iconName is ignored if title is omitted.\";\nexport var DIALOG_WARN_NO_HEADER_CLOSE_BUTTON = ns + \" <Dialog> isCloseButtonShown prop is ignored if title is omitted.\";\nexport var DRAWER_ANGLE_POSITIONS_ARE_CASTED = ns + \" <Drawer> all angle positions are casted into pure position (TOP, BOTTOM, LEFT or RIGHT)\";\n//# sourceMappingURL=errors.js.map","/*\n * Copyright 2020 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { CLAMP_MIN_MAX } from \"../errors\";\n/** Returns whether bundler-injected variable `NODE_ENV` equals `env`. */\nexport function isNodeEnv(env) {\n return typeof NODE_ENV !== \"undefined\" && NODE_ENV === env;\n}\n/**\n * Returns the difference in length between two arrays. A `null` argument is\n * considered an empty list. The return value will be positive if `a` is longer\n * than `b`, negative if the opposite is true, and zero if their lengths are\n * equal.\n */\nexport function arrayLengthCompare(a, b) {\n if (a === void 0) { a = []; }\n if (b === void 0) { b = []; }\n return a.length - b.length;\n}\n/**\n * Returns true if the two numbers are within the given tolerance of each other.\n * This is useful to correct for floating point precision issues, less useful\n * for integers.\n */\nexport function approxEqual(a, b, tolerance) {\n if (tolerance === void 0) { tolerance = 0.00001; }\n return Math.abs(a - b) <= tolerance;\n}\n/**\n * Clamps the given number between min and max values. Returns value if within\n * range, or closest bound.\n */\nexport function clamp(val, min, max) {\n if (val == null) {\n return val;\n }\n if (max < min) {\n throw new Error(CLAMP_MIN_MAX);\n }\n return Math.min(Math.max(val, min), max);\n}\n/** Returns the number of decimal places in the given number. */\nexport function countDecimalPlaces(num) {\n if (!isFinite(num)) {\n return 0;\n }\n var e = 1;\n var p = 0;\n while (Math.round(num * e) / e !== num) {\n e *= 10;\n p++;\n }\n return p;\n}\nvar uniqueCountForNamespace = new Map();\n/** Generate a unique ID within a given namespace, using a simple counter-based implementation to avoid collisions. */\nexport function uniqueId(namespace) {\n var _a;\n var curCount = (_a = uniqueCountForNamespace.get(namespace)) !== null && _a !== void 0 ? _a : 0;\n uniqueCountForNamespace.set(namespace, curCount + 1);\n return \"\".concat(namespace, \"-\").concat(curCount);\n}\n//# sourceMappingURL=jsUtils.js.map","/*\n * Copyright 2020 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport * as React from \"react\";\n/**\n * Returns true if `node` is null/undefined, false, empty string, or an array\n * composed of those. If `node` is an array, only one level of the array is\n * checked, for performance reasons.\n */\nexport function isReactNodeEmpty(node, skipArray) {\n if (skipArray === void 0) { skipArray = false; }\n return (node == null ||\n node === \"\" ||\n node === false ||\n (!skipArray &&\n Array.isArray(node) &&\n // only recurse one level through arrays, for performance\n (node.length === 0 || node.every(function (n) { return isReactNodeEmpty(n, true); }))));\n}\n/**\n * Returns true if children are a mappable children array\n *\n * @internal\n */\nexport function isReactChildrenElementOrElements(children) {\n return !isReactNodeEmpty(children, true) && children !== true;\n}\n/**\n * Converts a React node to an element: non-empty string or number or\n * `React.Fragment` (React 16.3+) is wrapped in given tag name; empty strings\n * and booleans are discarded.\n */\nexport function ensureElement(child, tagName) {\n if (tagName === void 0) { tagName = \"span\"; }\n if (child == null || typeof child === \"boolean\") {\n return undefined;\n }\n else if (typeof child === \"string\") {\n // cull whitespace strings\n return child.trim().length > 0 ? React.createElement(tagName, {}, child) : undefined;\n }\n else if (typeof child === \"number\" || typeof child.type === \"symbol\" || Array.isArray(child)) {\n // React.Fragment has a symbol type, ReactNodeArray extends from Array\n return React.createElement(tagName, {}, child);\n }\n else if (isReactElement(child)) {\n return child;\n }\n else {\n // child is inferred as {}\n return undefined;\n }\n}\nfunction isReactElement(child) {\n return (typeof child === \"object\" &&\n typeof child.type !== \"undefined\" &&\n typeof child.props !== \"undefined\");\n}\n/**\n * Returns true if the given JSX element matches the given component type.\n *\n * NOTE: This function only checks equality of `displayName` for performance and\n * to tolerate multiple minor versions of a component being included in one\n * application bundle.\n *\n * @param element JSX element in question\n * @param ComponentType desired component type of element\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function isElementOfType(element, ComponentType) {\n return (element != null &&\n element.type != null &&\n element.type.displayName != null &&\n element.type.displayName === ComponentType.displayName);\n}\n//# sourceMappingURL=reactUtils.js.map","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * Returns whether the keyboard event was triggered by Enter or Space, the two keys that are expected to trigger\n * interactive elements like buttons.\n */\nexport function isKeyboardClick(event) {\n return event.key === \"Enter\" || event.key === \" \";\n}\nexport function isArrowKey(event) {\n return [\"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\"].indexOf(event.key) >= 0;\n}\n//# sourceMappingURL=keyboardUtils.js.map","/*\n * Copyright 2020 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nexport function isRefObject(value) {\n return value != null && typeof value !== \"function\";\n}\nexport function isRefCallback(value) {\n return typeof value === \"function\";\n}\n/**\n * Assign the given ref to a target, either a React ref object or a callback which takes the ref as its first argument.\n */\nexport function setRef(refTarget, ref) {\n if (isRefObject(refTarget)) {\n // HACKHACK: .current property is readonly\n refTarget.current = ref;\n }\n else if (isRefCallback(refTarget)) {\n refTarget(ref);\n }\n}\n/**\n * Utility for merging refs into one singular callback ref.\n * If using in a functional component, would recomend using `useMemo` to preserve function identity.\n */\nexport function mergeRefs() {\n var refs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n refs[_i] = arguments[_i];\n }\n return function (value) {\n refs.forEach(function (ref) {\n setRef(ref, value);\n });\n };\n}\nexport function getRef(ref) {\n var _a;\n if (ref === null) {\n return null;\n }\n return (_a = ref.current) !== null && _a !== void 0 ? _a : ref;\n}\n/**\n * Creates a ref handler which assigns the ref returned by React for a mounted component to a field on the target object.\n * The target object is usually a component class.\n *\n * If provided, it will also update the given `refProp` with the value of the ref.\n */\nexport function refHandler(refTargetParent, refTargetKey, refProp) {\n return function (ref) {\n refTargetParent[refTargetKey] = ref;\n setRef(refProp, ref);\n };\n}\n//# sourceMappingURL=refs.js.map","/*\n * Copyright 2019 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __extends } from \"tslib\";\nimport * as React from \"react\";\nimport { isNodeEnv } from \"./utils\";\n/**\n * An abstract component that Blueprint components can extend\n * in order to add some common functionality like runtime props validation.\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nvar AbstractComponent = /** @class */ (function (_super) {\n __extends(AbstractComponent, _super);\n function AbstractComponent(props) {\n var _this = _super.call(this, props) || this;\n // Not bothering to remove entries when their timeouts finish because clearing invalid ID is a no-op\n _this.timeoutIds = [];\n _this.requestIds = [];\n /**\n * Clear all known timeouts.\n */\n _this.clearTimeouts = function () {\n if (_this.timeoutIds.length > 0) {\n for (var _i = 0, _a = _this.timeoutIds; _i < _a.length; _i++) {\n var timeoutId = _a[_i];\n window.clearTimeout(timeoutId);\n }\n _this.timeoutIds = [];\n }\n };\n /**\n * Clear all known animation frame requests.\n */\n _this.cancelAnimationFrames = function () {\n if (_this.requestIds.length > 0) {\n for (var _i = 0, _a = _this.requestIds; _i < _a.length; _i++) {\n var requestId = _a[_i];\n window.cancelAnimationFrame(requestId);\n }\n _this.requestIds = [];\n }\n };\n if (!isNodeEnv(\"production\")) {\n _this.validateProps(_this.props);\n }\n return _this;\n }\n AbstractComponent.prototype.componentDidUpdate = function (_prevProps, _prevState, _snapshot) {\n if (!isNodeEnv(\"production\")) {\n this.validateProps(this.props);\n }\n };\n AbstractComponent.prototype.componentWillUnmount = function () {\n this.clearTimeouts();\n this.cancelAnimationFrames();\n };\n /**\n * Request an animation frame and remember its ID.\n * All pending requests will be canceled when component unmounts.\n *\n * @returns a \"cancel\" function that will cancel the request when invoked.\n */\n AbstractComponent.prototype.requestAnimationFrame = function (callback) {\n var handle = window.requestAnimationFrame(callback);\n this.requestIds.push(handle);\n return function () { return window.cancelAnimationFrame(handle); };\n };\n /**\n * Set a timeout and remember its ID.\n * All stored timeouts will be cleared when component unmounts.\n *\n * @returns a \"cancel\" function that will clear timeout when invoked.\n */\n AbstractComponent.prototype.setTimeout = function (callback, timeout) {\n var handle = window.setTimeout(callback, timeout);\n this.timeoutIds.push(handle);\n return function () { return window.clearTimeout(handle); };\n };\n /**\n * Ensures that the props specified for a component are valid.\n * Implementations should check that props are valid and usually throw an Error if they are not.\n * Implementations should not duplicate checks that the type system already guarantees.\n *\n * This method should be used instead of React's\n * [propTypes](https://facebook.github.io/react/docs/reusable-components.html#prop-validation) feature.\n * Like propTypes, these runtime checks run only in development mode.\n */\n AbstractComponent.prototype.validateProps = function (_props) {\n // implement in subclass\n };\n return AbstractComponent;\n}(React.Component));\nexport { AbstractComponent };\n//# sourceMappingURL=abstractComponent.js.map","/*\n * Copyright 2019 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __extends } from \"tslib\";\nimport * as React from \"react\";\nimport { isNodeEnv } from \"./utils\";\n/**\n * An abstract component that Blueprint components can extend\n * in order to add some common functionality like runtime props validation.\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nvar AbstractPureComponent = /** @class */ (function (_super) {\n __extends(AbstractPureComponent, _super);\n function AbstractPureComponent(props) {\n var _this = _super.call(this, props) || this;\n // Not bothering to remove entries when their timeouts finish because clearing invalid ID is a no-op\n _this.timeoutIds = [];\n _this.requestIds = [];\n /**\n * Clear all known timeouts.\n */\n _this.clearTimeouts = function () {\n if (_this.timeoutIds.length > 0) {\n for (var _i = 0, _a = _this.timeoutIds; _i < _a.length; _i++) {\n var timeoutId = _a[_i];\n window.clearTimeout(timeoutId);\n }\n _this.timeoutIds = [];\n }\n };\n /**\n * Clear all known animation frame requests.\n */\n _this.cancelAnimationFrames = function () {\n if (_this.requestIds.length > 0) {\n for (var _i = 0, _a = _this.requestIds; _i < _a.length; _i++) {\n var requestId = _a[_i];\n window.cancelAnimationFrame(requestId);\n }\n _this.requestIds = [];\n }\n };\n if (!isNodeEnv(\"production\")) {\n _this.validateProps(_this.props);\n }\n return _this;\n }\n AbstractPureComponent.prototype.componentDidUpdate = function (_prevProps, _prevState, _snapshot) {\n if (!isNodeEnv(\"production\")) {\n this.validateProps(this.props);\n }\n };\n AbstractPureComponent.prototype.componentWillUnmount = function () {\n this.clearTimeouts();\n this.cancelAnimationFrames();\n };\n /**\n * Request an animation frame and remember its ID.\n * All pending requests will be canceled when component unmounts.\n *\n * @returns a \"cancel\" function that will cancel the request when invoked.\n */\n AbstractPureComponent.prototype.requestAnimationFrame = function (callback) {\n var handle = window.requestAnimationFrame(callback);\n this.requestIds.push(handle);\n return function () { return window.cancelAnimationFrame(handle); };\n };\n /**\n * Set a timeout and remember its ID.\n * All pending timeouts will be cleared when component unmounts.\n *\n * @returns a \"cancel\" function that will clear timeout when invoked.\n */\n AbstractPureComponent.prototype.setTimeout = function (callback, timeout) {\n var handle = window.setTimeout(callback, timeout);\n this.timeoutIds.push(handle);\n return function () { return window.clearTimeout(handle); };\n };\n /**\n * Ensures that the props specified for a component are valid.\n * Implementations should check that props are valid and usually throw an Error if they are not.\n * Implementations should not duplicate checks that the type system already guarantees.\n *\n * This method should be used instead of React's\n * [propTypes](https://facebook.github.io/react/docs/reusable-components.html#prop-validation) feature.\n * Like propTypes, these runtime checks run only in development mode.\n */\n AbstractPureComponent.prototype.validateProps = function (_props) {\n // implement in subclass\n };\n return AbstractPureComponent;\n}(React.PureComponent));\nexport { AbstractPureComponent };\n//# sourceMappingURL=abstractPureComponent.js.map","/*\n * Copyright 2015 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign } from \"tslib\";\nexport var DISPLAYNAME_PREFIX = \"Blueprint5\";\n/** A collection of curated prop keys used across our Components which are not valid HTMLElement props. */\nvar INVALID_PROPS = [\n \"active\",\n \"alignText\",\n \"asyncControl\",\n \"containerRef\",\n \"current\",\n \"elementRef\",\n \"fill\",\n \"icon\",\n \"iconSize\",\n \"inputClassName\",\n \"inputRef\",\n \"intent\",\n \"inline\",\n \"large\",\n \"loading\",\n \"leftElement\",\n \"leftIcon\",\n \"minimal\",\n \"onRemove\",\n \"outlined\",\n \"panel\",\n \"panelClassName\",\n \"popoverProps\",\n \"rightElement\",\n \"rightIcon\",\n \"round\",\n \"size\",\n \"small\",\n \"tagName\",\n \"text\",\n \"textClassName\", // ButtonProps\n];\n/**\n * Typically applied to HTMLElements to filter out disallowed props. When applied to a Component,\n * can filter props from being passed down to the children. Can also filter by a combined list of\n * supplied prop keys and the denylist (only appropriate for HTMLElements).\n *\n * @param props The original props object to filter down.\n * @param {string[]} invalidProps If supplied, overwrites the default denylist.\n * @param {boolean} shouldMerge If true, will merge supplied invalidProps and denylist together.\n */\nexport function removeNonHTMLProps(props, invalidProps, shouldMerge) {\n if (invalidProps === void 0) { invalidProps = INVALID_PROPS; }\n if (shouldMerge === void 0) { shouldMerge = false; }\n if (shouldMerge) {\n invalidProps = invalidProps.concat(INVALID_PROPS);\n }\n return invalidProps.reduce(function (prev, curr) {\n // Props with hyphens (e.g. data-*) are always considered html props\n if (curr.indexOf(\"-\") !== -1) {\n return prev;\n }\n if (prev.hasOwnProperty(curr)) {\n delete prev[curr];\n }\n return prev;\n }, __assign({}, props));\n}\n//# sourceMappingURL=props.js.map","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","/**\n * Source: ftp://ftp.unicode.org/Public/UCD/latest/ucd/SpecialCasing.txt\n */\nvar SUPPORTED_LOCALE = {\n tr: {\n regexp: /\\u0130|\\u0049|\\u0049\\u0307/g,\n map: {\n İ: \"\\u0069\",\n I: \"\\u0131\",\n İ: \"\\u0069\",\n },\n },\n az: {\n regexp: /\\u0130/g,\n map: {\n İ: \"\\u0069\",\n I: \"\\u0131\",\n İ: \"\\u0069\",\n },\n },\n lt: {\n regexp: /\\u0049|\\u004A|\\u012E|\\u00CC|\\u00CD|\\u0128/g,\n map: {\n I: \"\\u0069\\u0307\",\n J: \"\\u006A\\u0307\",\n Į: \"\\u012F\\u0307\",\n Ì: \"\\u0069\\u0307\\u0300\",\n Í: \"\\u0069\\u0307\\u0301\",\n Ĩ: \"\\u0069\\u0307\\u0303\",\n },\n },\n};\n/**\n * Localized lower case.\n */\nexport function localeLowerCase(str, locale) {\n var lang = SUPPORTED_LOCALE[locale.toLowerCase()];\n if (lang)\n return lowerCase(str.replace(lang.regexp, function (m) { return lang.map[m]; }));\n return lowerCase(str);\n}\n/**\n * Lower case as a function.\n */\nexport function lowerCase(str) {\n return str.toLowerCase();\n}\n//# sourceMappingURL=index.js.map","import { lowerCase } from \"lower-case\";\n// Support camel case (\"camelCase\" -> \"camel Case\" and \"CAMELCase\" -> \"CAMEL Case\").\nvar DEFAULT_SPLIT_REGEXP = [/([a-z0-9])([A-Z])/g, /([A-Z])([A-Z][a-z])/g];\n// Remove all non-word characters.\nvar DEFAULT_STRIP_REGEXP = /[^A-Z0-9]+/gi;\n/**\n * Normalize the string into something other libraries can manipulate easier.\n */\nexport function noCase(input, options) {\n if (options === void 0) { options = {}; }\n var _a = options.splitRegexp, splitRegexp = _a === void 0 ? DEFAULT_SPLIT_REGEXP : _a, _b = options.stripRegexp, stripRegexp = _b === void 0 ? DEFAULT_STRIP_REGEXP : _b, _c = options.transform, transform = _c === void 0 ? lowerCase : _c, _d = options.delimiter, delimiter = _d === void 0 ? \" \" : _d;\n var result = replace(replace(input, splitRegexp, \"$1\\0$2\"), stripRegexp, \"\\0\");\n var start = 0;\n var end = result.length;\n // Trim the delimiter from around the output string.\n while (result.charAt(start) === \"\\0\")\n start++;\n while (result.charAt(end - 1) === \"\\0\")\n end--;\n // Transform each token independently.\n return result.slice(start, end).split(\"\\0\").map(transform).join(delimiter);\n}\n/**\n * Replace `re` in the input string with the replacement value.\n */\nfunction replace(input, re, value) {\n if (re instanceof RegExp)\n return input.replace(re, value);\n return re.reduce(function (input, re) { return input.replace(re, value); }, input);\n}\n//# sourceMappingURL=index.js.map","import { __assign } from \"tslib\";\nimport { noCase } from \"no-case\";\nexport function pascalCaseTransform(input, index) {\n var firstChar = input.charAt(0);\n var lowerChars = input.substr(1).toLowerCase();\n if (index > 0 && firstChar >= \"0\" && firstChar <= \"9\") {\n return \"_\" + firstChar + lowerChars;\n }\n return \"\" + firstChar.toUpperCase() + lowerChars;\n}\nexport function pascalCaseTransformMerge(input) {\n return input.charAt(0).toUpperCase() + input.slice(1).toLowerCase();\n}\nexport function pascalCase(input, options) {\n if (options === void 0) { options = {}; }\n return noCase(input, __assign({ delimiter: \"\", transform: pascalCaseTransform }, options));\n}\n//# sourceMappingURL=index.js.map","import { __assign } from \"tslib\";\nimport { noCase } from \"no-case\";\nexport function dotCase(input, options) {\n if (options === void 0) { options = {}; }\n return noCase(input, __assign({ delimiter: \".\" }, options));\n}\n//# sourceMappingURL=index.js.map","import { __assign } from \"tslib\";\nimport { dotCase } from \"dot-case\";\nexport function snakeCase(input, options) {\n if (options === void 0) { options = {}; }\n return dotCase(input, __assign({ delimiter: \"_\" }, options));\n}\n//# sourceMappingURL=index.js.map","/*\n * Copyright 2022 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nexport var IconSize;\n(function (IconSize) {\n IconSize[IconSize[\"STANDARD\"] = 16] = \"STANDARD\";\n IconSize[IconSize[\"LARGE\"] = 20] = \"LARGE\";\n})(IconSize || (IconSize = {}));\n//# sourceMappingURL=iconTypes.js.map","var _a;\nexport var BlueprintIcons_16;\n(function (BlueprintIcons_16) {\n BlueprintIcons_16[\"AddClip\"] = \"add-clip\";\n BlueprintIcons_16[\"AddColumnLeft\"] = \"add-column-left\";\n BlueprintIcons_16[\"AddColumnRight\"] = \"add-column-right\";\n BlueprintIcons_16[\"AddLocation\"] = \"add-location\";\n BlueprintIcons_16[\"AddRowBottom\"] = \"add-row-bottom\";\n BlueprintIcons_16[\"AddRowTop\"] = \"add-row-top\";\n BlueprintIcons_16[\"AddToArtifact\"] = \"add-to-artifact\";\n BlueprintIcons_16[\"AddToFolder\"] = \"add-to-folder\";\n BlueprintIcons_16[\"Add\"] = \"add\";\n BlueprintIcons_16[\"AimpointsTarget\"] = \"aimpoints-target\";\n BlueprintIcons_16[\"Airplane\"] = \"airplane\";\n BlueprintIcons_16[\"AlignCenter\"] = \"align-center\";\n BlueprintIcons_16[\"AlignJustify\"] = \"align-justify\";\n BlueprintIcons_16[\"AlignLeft\"] = \"align-left\";\n BlueprintIcons_16[\"AlignRight\"] = \"align-right\";\n BlueprintIcons_16[\"AlignmentBottom\"] = \"alignment-bottom\";\n BlueprintIcons_16[\"AlignmentHorizontalCenter\"] = \"alignment-horizontal-center\";\n BlueprintIcons_16[\"AlignmentLeft\"] = \"alignment-left\";\n BlueprintIcons_16[\"AlignmentRight\"] = \"alignment-right\";\n BlueprintIcons_16[\"AlignmentTop\"] = \"alignment-top\";\n BlueprintIcons_16[\"AlignmentVerticalCenter\"] = \"alignment-vertical-center\";\n BlueprintIcons_16[\"Ammunition\"] = \"ammunition\";\n BlueprintIcons_16[\"Anchor\"] = \"anchor\";\n BlueprintIcons_16[\"Annotation\"] = \"annotation\";\n BlueprintIcons_16[\"Antenna\"] = \"antenna\";\n BlueprintIcons_16[\"AppHeader\"] = \"app-header\";\n BlueprintIcons_16[\"Application\"] = \"application\";\n BlueprintIcons_16[\"Applications\"] = \"applications\";\n BlueprintIcons_16[\"Archive\"] = \"archive\";\n BlueprintIcons_16[\"AreaOfInterest\"] = \"area-of-interest\";\n BlueprintIcons_16[\"ArrayBoolean\"] = \"array-boolean\";\n BlueprintIcons_16[\"ArrayDate\"] = \"array-date\";\n BlueprintIcons_16[\"ArrayFloatingPoint\"] = \"array-floating-point\";\n BlueprintIcons_16[\"ArrayNumeric\"] = \"array-numeric\";\n BlueprintIcons_16[\"ArrayString\"] = \"array-string\";\n BlueprintIcons_16[\"ArrayTimestamp\"] = \"array-timestamp\";\n BlueprintIcons_16[\"Array\"] = \"array\";\n BlueprintIcons_16[\"ArrowBottomLeft\"] = \"arrow-bottom-left\";\n BlueprintIcons_16[\"ArrowBottomRight\"] = \"arrow-bottom-right\";\n BlueprintIcons_16[\"ArrowDown\"] = \"arrow-down\";\n BlueprintIcons_16[\"ArrowLeft\"] = \"arrow-left\";\n BlueprintIcons_16[\"ArrowRight\"] = \"arrow-right\";\n BlueprintIcons_16[\"ArrowTopLeft\"] = \"arrow-top-left\";\n BlueprintIcons_16[\"ArrowTopRight\"] = \"arrow-top-right\";\n BlueprintIcons_16[\"ArrowUp\"] = \"arrow-up\";\n BlueprintIcons_16[\"ArrowsHorizontal\"] = \"arrows-horizontal\";\n BlueprintIcons_16[\"ArrowsVertical\"] = \"arrows-vertical\";\n BlueprintIcons_16[\"Asterisk\"] = \"asterisk\";\n BlueprintIcons_16[\"At\"] = \"at\";\n BlueprintIcons_16[\"AutomaticUpdates\"] = \"automatic-updates\";\n BlueprintIcons_16[\"Axle\"] = \"axle\";\n BlueprintIcons_16[\"Backlink\"] = \"backlink\";\n BlueprintIcons_16[\"Badge\"] = \"badge\";\n BlueprintIcons_16[\"BanCircle\"] = \"ban-circle\";\n BlueprintIcons_16[\"BankAccount\"] = \"bank-account\";\n BlueprintIcons_16[\"Barcode\"] = \"barcode\";\n BlueprintIcons_16[\"Blank\"] = \"blank\";\n BlueprintIcons_16[\"BlockedPerson\"] = \"blocked-person\";\n BlueprintIcons_16[\"Bold\"] = \"bold\";\n BlueprintIcons_16[\"Book\"] = \"book\";\n BlueprintIcons_16[\"Bookmark\"] = \"bookmark\";\n BlueprintIcons_16[\"Box\"] = \"box\";\n BlueprintIcons_16[\"Briefcase\"] = \"briefcase\";\n BlueprintIcons_16[\"BringData\"] = \"bring-data\";\n BlueprintIcons_16[\"Bug\"] = \"bug\";\n BlueprintIcons_16[\"Buggy\"] = \"buggy\";\n BlueprintIcons_16[\"Build\"] = \"build\";\n BlueprintIcons_16[\"Calculator\"] = \"calculator\";\n BlueprintIcons_16[\"Calendar\"] = \"calendar\";\n BlueprintIcons_16[\"Camera\"] = \"camera\";\n BlueprintIcons_16[\"CaretDown\"] = \"caret-down\";\n BlueprintIcons_16[\"CaretLeft\"] = \"caret-left\";\n BlueprintIcons_16[\"CaretRight\"] = \"caret-right\";\n BlueprintIcons_16[\"CaretUp\"] = \"caret-up\";\n BlueprintIcons_16[\"CargoShip\"] = \"cargo-ship\";\n BlueprintIcons_16[\"CellTower\"] = \"cell-tower\";\n BlueprintIcons_16[\"Changes\"] = \"changes\";\n BlueprintIcons_16[\"Chart\"] = \"chart\";\n BlueprintIcons_16[\"Chat\"] = \"chat\";\n BlueprintIcons_16[\"ChevronBackward\"] = \"chevron-backward\";\n BlueprintIcons_16[\"ChevronDown\"] = \"chevron-down\";\n BlueprintIcons_16[\"ChevronForward\"] = \"chevron-forward\";\n BlueprintIcons_16[\"ChevronLeft\"] = \"chevron-left\";\n BlueprintIcons_16[\"ChevronRight\"] = \"chevron-right\";\n BlueprintIcons_16[\"ChevronUp\"] = \"chevron-up\";\n BlueprintIcons_16[\"CircleArrowDown\"] = \"circle-arrow-down\";\n BlueprintIcons_16[\"CircleArrowLeft\"] = \"circle-arrow-left\";\n BlueprintIcons_16[\"CircleArrowRight\"] = \"circle-arrow-right\";\n BlueprintIcons_16[\"CircleArrowUp\"] = \"circle-arrow-up\";\n BlueprintIcons_16[\"Circle\"] = \"circle\";\n BlueprintIcons_16[\"Citation\"] = \"citation\";\n BlueprintIcons_16[\"Clean\"] = \"clean\";\n BlueprintIcons_16[\"Clip\"] = \"clip\";\n BlueprintIcons_16[\"Clipboard\"] = \"clipboard\";\n BlueprintIcons_16[\"CloudDownload\"] = \"cloud-download\";\n BlueprintIcons_16[\"CloudUpload\"] = \"cloud-upload\";\n BlueprintIcons_16[\"Cloud\"] = \"cloud\";\n BlueprintIcons_16[\"CodeBlock\"] = \"code-block\";\n BlueprintIcons_16[\"Code\"] = \"code\";\n BlueprintIcons_16[\"Cog\"] = \"cog\";\n BlueprintIcons_16[\"CollapseAll\"] = \"collapse-all\";\n BlueprintIcons_16[\"ColorFill\"] = \"color-fill\";\n BlueprintIcons_16[\"ColumnLayout\"] = \"column-layout\";\n BlueprintIcons_16[\"Comment\"] = \"comment\";\n BlueprintIcons_16[\"Comparison\"] = \"comparison\";\n BlueprintIcons_16[\"Compass\"] = \"compass\";\n BlueprintIcons_16[\"Compressed\"] = \"compressed\";\n BlueprintIcons_16[\"Confirm\"] = \"confirm\";\n BlueprintIcons_16[\"Console\"] = \"console\";\n BlueprintIcons_16[\"Contrast\"] = \"contrast\";\n BlueprintIcons_16[\"Control\"] = \"control\";\n BlueprintIcons_16[\"CreditCard\"] = \"credit-card\";\n BlueprintIcons_16[\"CrossCircle\"] = \"cross-circle\";\n BlueprintIcons_16[\"Cross\"] = \"cross\";\n BlueprintIcons_16[\"Crown\"] = \"crown\";\n BlueprintIcons_16[\"CubeAdd\"] = \"cube-add\";\n BlueprintIcons_16[\"CubeRemove\"] = \"cube-remove\";\n BlueprintIcons_16[\"Cube\"] = \"cube\";\n BlueprintIcons_16[\"CurvedRangeChart\"] = \"curved-range-chart\";\n BlueprintIcons_16[\"Cut\"] = \"cut\";\n BlueprintIcons_16[\"Cycle\"] = \"cycle\";\n BlueprintIcons_16[\"Dashboard\"] = \"dashboard\";\n BlueprintIcons_16[\"DataConnection\"] = \"data-connection\";\n BlueprintIcons_16[\"DataLineage\"] = \"data-lineage\";\n BlueprintIcons_16[\"Database\"] = \"database\";\n BlueprintIcons_16[\"Delete\"] = \"delete\";\n BlueprintIcons_16[\"Delta\"] = \"delta\";\n BlueprintIcons_16[\"DeriveColumn\"] = \"derive-column\";\n BlueprintIcons_16[\"Desktop\"] = \"desktop\";\n BlueprintIcons_16[\"Detection\"] = \"detection\";\n BlueprintIcons_16[\"Diagnosis\"] = \"diagnosis\";\n BlueprintIcons_16[\"DiagramTree\"] = \"diagram-tree\";\n BlueprintIcons_16[\"DirectionLeft\"] = \"direction-left\";\n BlueprintIcons_16[\"DirectionRight\"] = \"direction-right\";\n BlueprintIcons_16[\"Disable\"] = \"disable\";\n BlueprintIcons_16[\"Divide\"] = \"divide\";\n BlueprintIcons_16[\"DocumentOpen\"] = \"document-open\";\n BlueprintIcons_16[\"DocumentShare\"] = \"document-share\";\n BlueprintIcons_16[\"Document\"] = \"document\";\n BlueprintIcons_16[\"Dollar\"] = \"dollar\";\n BlueprintIcons_16[\"Dot\"] = \"dot\";\n BlueprintIcons_16[\"DoubleCaretHorizontal\"] = \"double-caret-horizontal\";\n BlueprintIcons_16[\"DoubleCaretVertical\"] = \"double-caret-vertical\";\n BlueprintIcons_16[\"DoubleChevronDown\"] = \"double-chevron-down\";\n BlueprintIcons_16[\"DoubleChevronLeft\"] = \"double-chevron-left\";\n BlueprintIcons_16[\"DoubleChevronRight\"] = \"double-chevron-right\";\n BlueprintIcons_16[\"DoubleChevronUp\"] = \"double-chevron-up\";\n BlueprintIcons_16[\"DoughnutChart\"] = \"doughnut-chart\";\n BlueprintIcons_16[\"Download\"] = \"download\";\n BlueprintIcons_16[\"DragHandleHorizontal\"] = \"drag-handle-horizontal\";\n BlueprintIcons_16[\"DragHandleVertical\"] = \"drag-handle-vertical\";\n BlueprintIcons_16[\"Draw\"] = \"draw\";\n BlueprintIcons_16[\"DrawerLeftFilled\"] = \"drawer-left-filled\";\n BlueprintIcons_16[\"DrawerLeft\"] = \"drawer-left\";\n BlueprintIcons_16[\"DrawerRightFilled\"] = \"drawer-right-filled\";\n BlueprintIcons_16[\"DrawerRight\"] = \"drawer-right\";\n BlueprintIcons_16[\"DriveTime\"] = \"drive-time\";\n BlueprintIcons_16[\"Duplicate\"] = \"duplicate\";\n BlueprintIcons_16[\"Edit\"] = \"edit\";\n BlueprintIcons_16[\"Eject\"] = \"eject\";\n BlueprintIcons_16[\"Emoji\"] = \"emoji\";\n BlueprintIcons_16[\"Endorsed\"] = \"endorsed\";\n BlueprintIcons_16[\"Envelope\"] = \"envelope\";\n BlueprintIcons_16[\"Equals\"] = \"equals\";\n BlueprintIcons_16[\"Eraser\"] = \"eraser\";\n BlueprintIcons_16[\"Error\"] = \"error\";\n BlueprintIcons_16[\"Euro\"] = \"euro\";\n BlueprintIcons_16[\"Exchange\"] = \"exchange\";\n BlueprintIcons_16[\"ExcludeRow\"] = \"exclude-row\";\n BlueprintIcons_16[\"ExpandAll\"] = \"expand-all\";\n BlueprintIcons_16[\"Explain\"] = \"explain\";\n BlueprintIcons_16[\"Export\"] = \"export\";\n BlueprintIcons_16[\"EyeOff\"] = \"eye-off\";\n BlueprintIcons_16[\"EyeOn\"] = \"eye-on\";\n BlueprintIcons_16[\"EyeOpen\"] = \"eye-open\";\n BlueprintIcons_16[\"FastBackward\"] = \"fast-backward\";\n BlueprintIcons_16[\"FastForward\"] = \"fast-forward\";\n BlueprintIcons_16[\"FeedSubscribed\"] = \"feed-subscribed\";\n BlueprintIcons_16[\"Feed\"] = \"feed\";\n BlueprintIcons_16[\"Film\"] = \"film\";\n BlueprintIcons_16[\"FilterKeep\"] = \"filter-keep\";\n BlueprintIcons_16[\"FilterList\"] = \"filter-list\";\n BlueprintIcons_16[\"FilterOpen\"] = \"filter-open\";\n BlueprintIcons_16[\"FilterRemove\"] = \"filter-remove\";\n BlueprintIcons_16[\"Filter\"] = \"filter\";\n BlueprintIcons_16[\"Flag\"] = \"flag\";\n BlueprintIcons_16[\"Flame\"] = \"flame\";\n BlueprintIcons_16[\"Flash\"] = \"flash\";\n BlueprintIcons_16[\"FloatingPoint\"] = \"floating-point\";\n BlueprintIcons_16[\"FloppyDisk\"] = \"floppy-disk\";\n BlueprintIcons_16[\"FlowBranch\"] = \"flow-branch\";\n BlueprintIcons_16[\"FlowEnd\"] = \"flow-end\";\n BlueprintIcons_16[\"FlowLinear\"] = \"flow-linear\";\n BlueprintIcons_16[\"FlowReviewBranch\"] = \"flow-review-branch\";\n BlueprintIcons_16[\"FlowReview\"] = \"flow-review\";\n BlueprintIcons_16[\"Flows\"] = \"flows\";\n BlueprintIcons_16[\"FolderClose\"] = \"folder-close\";\n BlueprintIcons_16[\"FolderNew\"] = \"folder-new\";\n BlueprintIcons_16[\"FolderOpen\"] = \"folder-open\";\n BlueprintIcons_16[\"FolderSharedOpen\"] = \"folder-shared-open\";\n BlueprintIcons_16[\"FolderShared\"] = \"folder-shared\";\n BlueprintIcons_16[\"Follower\"] = \"follower\";\n BlueprintIcons_16[\"Following\"] = \"following\";\n BlueprintIcons_16[\"Font\"] = \"font\";\n BlueprintIcons_16[\"Fork\"] = \"fork\";\n BlueprintIcons_16[\"Form\"] = \"form\";\n BlueprintIcons_16[\"Fuel\"] = \"fuel\";\n BlueprintIcons_16[\"FullCircle\"] = \"full-circle\";\n BlueprintIcons_16[\"FullStackedChart\"] = \"full-stacked-chart\";\n BlueprintIcons_16[\"Fullscreen\"] = \"fullscreen\";\n BlueprintIcons_16[\"Function\"] = \"function\";\n BlueprintIcons_16[\"GanttChart\"] = \"gantt-chart\";\n BlueprintIcons_16[\"Generate\"] = \"generate\";\n BlueprintIcons_16[\"Geofence\"] = \"geofence\";\n BlueprintIcons_16[\"Geolocation\"] = \"geolocation\";\n BlueprintIcons_16[\"Geosearch\"] = \"geosearch\";\n BlueprintIcons_16[\"Geotime\"] = \"geotime\";\n BlueprintIcons_16[\"GitBranch\"] = \"git-branch\";\n BlueprintIcons_16[\"GitCommit\"] = \"git-commit\";\n BlueprintIcons_16[\"GitMerge\"] = \"git-merge\";\n BlueprintIcons_16[\"GitNewBranch\"] = \"git-new-branch\";\n BlueprintIcons_16[\"GitPull\"] = \"git-pull\";\n BlueprintIcons_16[\"GitPush\"] = \"git-push\";\n BlueprintIcons_16[\"GitRepo\"] = \"git-repo\";\n BlueprintIcons_16[\"Glass\"] = \"glass\";\n BlueprintIcons_16[\"GlobeNetwork\"] = \"globe-network\";\n BlueprintIcons_16[\"Globe\"] = \"globe\";\n BlueprintIcons_16[\"GraphRemove\"] = \"graph-remove\";\n BlueprintIcons_16[\"Graph\"] = \"graph\";\n BlueprintIcons_16[\"GreaterThanOrEqualTo\"] = \"greater-than-or-equal-to\";\n BlueprintIcons_16[\"GreaterThan\"] = \"greater-than\";\n BlueprintIcons_16[\"GridView\"] = \"grid-view\";\n BlueprintIcons_16[\"Grid\"] = \"grid\";\n BlueprintIcons_16[\"GroupItem\"] = \"group-item\";\n BlueprintIcons_16[\"GroupObjects\"] = \"group-objects\";\n BlueprintIcons_16[\"GroupedBarChart\"] = \"grouped-bar-chart\";\n BlueprintIcons_16[\"HandDown\"] = \"hand-down\";\n BlueprintIcons_16[\"HandLeft\"] = \"hand-left\";\n BlueprintIcons_16[\"HandRight\"] = \"hand-right\";\n BlueprintIcons_16[\"HandUp\"] = \"hand-up\";\n BlueprintIcons_16[\"Hand\"] = \"hand\";\n BlueprintIcons_16[\"Hat\"] = \"hat\";\n BlueprintIcons_16[\"HeaderOne\"] = \"header-one\";\n BlueprintIcons_16[\"HeaderThree\"] = \"header-three\";\n BlueprintIcons_16[\"HeaderTwo\"] = \"header-two\";\n BlueprintIcons_16[\"Header\"] = \"header\";\n BlueprintIcons_16[\"Headset\"] = \"headset\";\n BlueprintIcons_16[\"HeartBroken\"] = \"heart-broken\";\n BlueprintIcons_16[\"Heart\"] = \"heart\";\n BlueprintIcons_16[\"HeatGrid\"] = \"heat-grid\";\n BlueprintIcons_16[\"Heatmap\"] = \"heatmap\";\n BlueprintIcons_16[\"Helicopter\"] = \"helicopter\";\n BlueprintIcons_16[\"Help\"] = \"help\";\n BlueprintIcons_16[\"HelperManagement\"] = \"helper-management\";\n BlueprintIcons_16[\"HighPriority\"] = \"high-priority\";\n BlueprintIcons_16[\"HighVoltagePole\"] = \"high-voltage-pole\";\n BlueprintIcons_16[\"Highlight\"] = \"highlight\";\n BlueprintIcons_16[\"History\"] = \"history\";\n BlueprintIcons_16[\"Home\"] = \"home\";\n BlueprintIcons_16[\"HorizontalBarChartAsc\"] = \"horizontal-bar-chart-asc\";\n BlueprintIcons_16[\"HorizontalBarChartDesc\"] = \"horizontal-bar-chart-desc\";\n BlueprintIcons_16[\"HorizontalBarChart\"] = \"horizontal-bar-chart\";\n BlueprintIcons_16[\"HorizontalDistribution\"] = \"horizontal-distribution\";\n BlueprintIcons_16[\"HorizontalInbetween\"] = \"horizontal-inbetween\";\n BlueprintIcons_16[\"Hurricane\"] = \"hurricane\";\n BlueprintIcons_16[\"IdNumber\"] = \"id-number\";\n BlueprintIcons_16[\"ImageRotateLeft\"] = \"image-rotate-left\";\n BlueprintIcons_16[\"ImageRotateRight\"] = \"image-rotate-right\";\n BlueprintIcons_16[\"Import\"] = \"import\";\n BlueprintIcons_16[\"InboxFiltered\"] = \"inbox-filtered\";\n BlueprintIcons_16[\"InboxGeo\"] = \"inbox-geo\";\n BlueprintIcons_16[\"InboxSearch\"] = \"inbox-search\";\n BlueprintIcons_16[\"InboxUpdate\"] = \"inbox-update\";\n BlueprintIcons_16[\"Inbox\"] = \"inbox\";\n BlueprintIcons_16[\"InfoSign\"] = \"info-sign\";\n BlueprintIcons_16[\"Inheritance\"] = \"inheritance\";\n BlueprintIcons_16[\"InheritedGroup\"] = \"inherited-group\";\n BlueprintIcons_16[\"InnerJoin\"] = \"inner-join\";\n BlueprintIcons_16[\"Input\"] = \"input\";\n BlueprintIcons_16[\"Insert\"] = \"insert\";\n BlueprintIcons_16[\"Intelligence\"] = \"intelligence\";\n BlueprintIcons_16[\"Intersection\"] = \"intersection\";\n BlueprintIcons_16[\"IpAddress\"] = \"ip-address\";\n BlueprintIcons_16[\"IssueClosed\"] = \"issue-closed\";\n BlueprintIcons_16[\"IssueNew\"] = \"issue-new\";\n BlueprintIcons_16[\"Issue\"] = \"issue\";\n BlueprintIcons_16[\"Italic\"] = \"italic\";\n BlueprintIcons_16[\"JoinTable\"] = \"join-table\";\n BlueprintIcons_16[\"KeyBackspace\"] = \"key-backspace\";\n BlueprintIcons_16[\"KeyCommand\"] = \"key-command\";\n BlueprintIcons_16[\"KeyControl\"] = \"key-control\";\n BlueprintIcons_16[\"KeyDelete\"] = \"key-delete\";\n BlueprintIcons_16[\"KeyEnter\"] = \"key-enter\";\n BlueprintIcons_16[\"KeyEscape\"] = \"key-escape\";\n BlueprintIcons_16[\"KeyOption\"] = \"key-option\";\n BlueprintIcons_16[\"KeyShift\"] = \"key-shift\";\n BlueprintIcons_16[\"KeyTab\"] = \"key-tab\";\n BlueprintIcons_16[\"Key\"] = \"key\";\n BlueprintIcons_16[\"KnownVehicle\"] = \"known-vehicle\";\n BlueprintIcons_16[\"LabTest\"] = \"lab-test\";\n BlueprintIcons_16[\"Label\"] = \"label\";\n BlueprintIcons_16[\"LayerOutline\"] = \"layer-outline\";\n BlueprintIcons_16[\"Layer\"] = \"layer\";\n BlueprintIcons_16[\"Layers\"] = \"layers\";\n BlueprintIcons_16[\"LayoutAuto\"] = \"layout-auto\";\n BlueprintIcons_16[\"LayoutBalloon\"] = \"layout-balloon\";\n BlueprintIcons_16[\"LayoutCircle\"] = \"layout-circle\";\n BlueprintIcons_16[\"LayoutGrid\"] = \"layout-grid\";\n BlueprintIcons_16[\"LayoutGroupBy\"] = \"layout-group-by\";\n BlueprintIcons_16[\"LayoutHierarchy\"] = \"layout-hierarchy\";\n BlueprintIcons_16[\"LayoutLinear\"] = \"layout-linear\";\n BlueprintIcons_16[\"LayoutSkewGrid\"] = \"layout-skew-grid\";\n BlueprintIcons_16[\"LayoutSortedClusters\"] = \"layout-sorted-clusters\";\n BlueprintIcons_16[\"Layout\"] = \"layout\";\n BlueprintIcons_16[\"Learning\"] = \"learning\";\n BlueprintIcons_16[\"LeftJoin\"] = \"left-join\";\n BlueprintIcons_16[\"LengthenText\"] = \"lengthen-text\";\n BlueprintIcons_16[\"LessThanOrEqualTo\"] = \"less-than-or-equal-to\";\n BlueprintIcons_16[\"LessThan\"] = \"less-than\";\n BlueprintIcons_16[\"Lifesaver\"] = \"lifesaver\";\n BlueprintIcons_16[\"Lightbulb\"] = \"lightbulb\";\n BlueprintIcons_16[\"Lightning\"] = \"lightning\";\n BlueprintIcons_16[\"Link\"] = \"link\";\n BlueprintIcons_16[\"ListColumns\"] = \"list-columns\";\n BlueprintIcons_16[\"ListDetailView\"] = \"list-detail-view\";\n BlueprintIcons_16[\"List\"] = \"list\";\n BlueprintIcons_16[\"Locate\"] = \"locate\";\n BlueprintIcons_16[\"Lock\"] = \"lock\";\n BlueprintIcons_16[\"Locomotive\"] = \"locomotive\";\n BlueprintIcons_16[\"LogIn\"] = \"log-in\";\n BlueprintIcons_16[\"LogOut\"] = \"log-out\";\n BlueprintIcons_16[\"LowVoltagePole\"] = \"low-voltage-pole\";\n BlueprintIcons_16[\"Manual\"] = \"manual\";\n BlueprintIcons_16[\"ManuallyEnteredData\"] = \"manually-entered-data\";\n BlueprintIcons_16[\"ManyToMany\"] = \"many-to-many\";\n BlueprintIcons_16[\"ManyToOne\"] = \"many-to-one\";\n BlueprintIcons_16[\"MapCreate\"] = \"map-create\";\n BlueprintIcons_16[\"MapMarker\"] = \"map-marker\";\n BlueprintIcons_16[\"Map\"] = \"map\";\n BlueprintIcons_16[\"Maximize\"] = \"maximize\";\n BlueprintIcons_16[\"Media\"] = \"media\";\n BlueprintIcons_16[\"MenuClosed\"] = \"menu-closed\";\n BlueprintIcons_16[\"MenuOpen\"] = \"menu-open\";\n BlueprintIcons_16[\"Menu\"] = \"menu\";\n BlueprintIcons_16[\"MergeColumns\"] = \"merge-columns\";\n BlueprintIcons_16[\"MergeLinks\"] = \"merge-links\";\n BlueprintIcons_16[\"Microphone\"] = \"microphone\";\n BlueprintIcons_16[\"Minimize\"] = \"minimize\";\n BlueprintIcons_16[\"Minus\"] = \"minus\";\n BlueprintIcons_16[\"MobilePhone\"] = \"mobile-phone\";\n BlueprintIcons_16[\"MobileVideo\"] = \"mobile-video\";\n BlueprintIcons_16[\"ModalFilled\"] = \"modal-filled\";\n BlueprintIcons_16[\"Modal\"] = \"modal\";\n BlueprintIcons_16[\"Model\"] = \"model\";\n BlueprintIcons_16[\"Moon\"] = \"moon\";\n BlueprintIcons_16[\"More\"] = \"more\";\n BlueprintIcons_16[\"Mountain\"] = \"mountain\";\n BlueprintIcons_16[\"Move\"] = \"move\";\n BlueprintIcons_16[\"Mugshot\"] = \"mugshot\";\n BlueprintIcons_16[\"MultiSelect\"] = \"multi-select\";\n BlueprintIcons_16[\"Music\"] = \"music\";\n BlueprintIcons_16[\"Nest\"] = \"nest\";\n BlueprintIcons_16[\"NewDrawing\"] = \"new-drawing\";\n BlueprintIcons_16[\"NewGridItem\"] = \"new-grid-item\";\n BlueprintIcons_16[\"NewLayer\"] = \"new-layer\";\n BlueprintIcons_16[\"NewLayers\"] = \"new-layers\";\n BlueprintIcons_16[\"NewLink\"] = \"new-link\";\n BlueprintIcons_16[\"NewObject\"] = \"new-object\";\n BlueprintIcons_16[\"NewPerson\"] = \"new-person\";\n BlueprintIcons_16[\"NewPrescription\"] = \"new-prescription\";\n BlueprintIcons_16[\"NewShield\"] = \"new-shield\";\n BlueprintIcons_16[\"NewTextBox\"] = \"new-text-box\";\n BlueprintIcons_16[\"Ninja\"] = \"ninja\";\n BlueprintIcons_16[\"NotEqualTo\"] = \"not-equal-to\";\n BlueprintIcons_16[\"NotificationsSnooze\"] = \"notifications-snooze\";\n BlueprintIcons_16[\"NotificationsUpdated\"] = \"notifications-updated\";\n BlueprintIcons_16[\"Notifications\"] = \"notifications\";\n BlueprintIcons_16[\"NumberedList\"] = \"numbered-list\";\n BlueprintIcons_16[\"Numerical\"] = \"numerical\";\n BlueprintIcons_16[\"Office\"] = \"office\";\n BlueprintIcons_16[\"Offline\"] = \"offline\";\n BlueprintIcons_16[\"OilField\"] = \"oil-field\";\n BlueprintIcons_16[\"OneColumn\"] = \"one-column\";\n BlueprintIcons_16[\"OneToMany\"] = \"one-to-many\";\n BlueprintIcons_16[\"OneToOne\"] = \"one-to-one\";\n BlueprintIcons_16[\"OpenApplication\"] = \"open-application\";\n BlueprintIcons_16[\"Outdated\"] = \"outdated\";\n BlueprintIcons_16[\"PageLayout\"] = \"page-layout\";\n BlueprintIcons_16[\"PanelStats\"] = \"panel-stats\";\n BlueprintIcons_16[\"PanelTable\"] = \"panel-table\";\n BlueprintIcons_16[\"Paperclip\"] = \"paperclip\";\n BlueprintIcons_16[\"Paragraph\"] = \"paragraph\";\n BlueprintIcons_16[\"PasteVariable\"] = \"paste-variable\";\n BlueprintIcons_16[\"PathSearch\"] = \"path-search\";\n BlueprintIcons_16[\"Path\"] = \"path\";\n BlueprintIcons_16[\"Pause\"] = \"pause\";\n BlueprintIcons_16[\"People\"] = \"people\";\n BlueprintIcons_16[\"Percentage\"] = \"percentage\";\n BlueprintIcons_16[\"Person\"] = \"person\";\n BlueprintIcons_16[\"PhoneCall\"] = \"phone-call\";\n BlueprintIcons_16[\"PhoneForward\"] = \"phone-forward\";\n BlueprintIcons_16[\"Phone\"] = \"phone\";\n BlueprintIcons_16[\"PieChart\"] = \"pie-chart\";\n BlueprintIcons_16[\"Pin\"] = \"pin\";\n BlueprintIcons_16[\"PivotTable\"] = \"pivot-table\";\n BlueprintIcons_16[\"Pivot\"] = \"pivot\";\n BlueprintIcons_16[\"Play\"] = \"play\";\n BlueprintIcons_16[\"Playbook\"] = \"playbook\";\n BlueprintIcons_16[\"Plus\"] = \"plus\";\n BlueprintIcons_16[\"PolygonFilter\"] = \"polygon-filter\";\n BlueprintIcons_16[\"Power\"] = \"power\";\n BlueprintIcons_16[\"PredictiveAnalysis\"] = \"predictive-analysis\";\n BlueprintIcons_16[\"Prescription\"] = \"prescription\";\n BlueprintIcons_16[\"Presentation\"] = \"presentation\";\n BlueprintIcons_16[\"Print\"] = \"print\";\n BlueprintIcons_16[\"Projects\"] = \"projects\";\n BlueprintIcons_16[\"Properties\"] = \"properties\";\n BlueprintIcons_16[\"Property\"] = \"property\";\n BlueprintIcons_16[\"PublishFunction\"] = \"publish-function\";\n BlueprintIcons_16[\"Pulse\"] = \"pulse\";\n BlueprintIcons_16[\"Rain\"] = \"rain\";\n BlueprintIcons_16[\"Random\"] = \"random\";\n BlueprintIcons_16[\"Record\"] = \"record\";\n BlueprintIcons_16[\"RectHeight\"] = \"rect-height\";\n BlueprintIcons_16[\"RectWidth\"] = \"rect-width\";\n BlueprintIcons_16[\"Rectangle\"] = \"rectangle\";\n BlueprintIcons_16[\"Redo\"] = \"redo\";\n BlueprintIcons_16[\"Refresh\"] = \"refresh\";\n BlueprintIcons_16[\"Regex\"] = \"regex\";\n BlueprintIcons_16[\"RegressionChart\"] = \"regression-chart\";\n BlueprintIcons_16[\"RemoveColumnLeft\"] = \"remove-column-left\";\n BlueprintIcons_16[\"RemoveColumnRight\"] = \"remove-column-right\";\n BlueprintIcons_16[\"RemoveColumn\"] = \"remove-column\";\n BlueprintIcons_16[\"RemoveRowBottom\"] = \"remove-row-bottom\";\n BlueprintIcons_16[\"RemoveRowTop\"] = \"remove-row-top\";\n BlueprintIcons_16[\"Remove\"] = \"remove\";\n BlueprintIcons_16[\"Repeat\"] = \"repeat\";\n BlueprintIcons_16[\"Reset\"] = \"reset\";\n BlueprintIcons_16[\"Resolve\"] = \"resolve\";\n BlueprintIcons_16[\"Rig\"] = \"rig\";\n BlueprintIcons_16[\"RightJoin\"] = \"right-join\";\n BlueprintIcons_16[\"Ring\"] = \"ring\";\n BlueprintIcons_16[\"RocketSlant\"] = \"rocket-slant\";\n BlueprintIcons_16[\"Rocket\"] = \"rocket\";\n BlueprintIcons_16[\"RotateDocument\"] = \"rotate-document\";\n BlueprintIcons_16[\"RotatePage\"] = \"rotate-page\";\n BlueprintIcons_16[\"Route\"] = \"route\";\n BlueprintIcons_16[\"Satellite\"] = \"satellite\";\n BlueprintIcons_16[\"Saved\"] = \"saved\";\n BlueprintIcons_16[\"ScatterPlot\"] = \"scatter-plot\";\n BlueprintIcons_16[\"SearchAround\"] = \"search-around\";\n BlueprintIcons_16[\"SearchTemplate\"] = \"search-template\";\n BlueprintIcons_16[\"SearchText\"] = \"search-text\";\n BlueprintIcons_16[\"Search\"] = \"search\";\n BlueprintIcons_16[\"SegmentedControl\"] = \"segmented-control\";\n BlueprintIcons_16[\"Select\"] = \"select\";\n BlueprintIcons_16[\"Selection\"] = \"selection\";\n BlueprintIcons_16[\"SendMessage\"] = \"send-message\";\n BlueprintIcons_16[\"SendToGraph\"] = \"send-to-graph\";\n BlueprintIcons_16[\"SendToMap\"] = \"send-to-map\";\n BlueprintIcons_16[\"SendTo\"] = \"send-to\";\n BlueprintIcons_16[\"Sensor\"] = \"sensor\";\n BlueprintIcons_16[\"SeriesAdd\"] = \"series-add\";\n BlueprintIcons_16[\"SeriesConfiguration\"] = \"series-configuration\";\n BlueprintIcons_16[\"SeriesDerived\"] = \"series-derived\";\n BlueprintIcons_16[\"SeriesFiltered\"] = \"series-filtered\";\n BlueprintIcons_16[\"SeriesSearch\"] = \"series-search\";\n BlueprintIcons_16[\"Settings\"] = \"settings\";\n BlueprintIcons_16[\"Shapes\"] = \"shapes\";\n BlueprintIcons_16[\"Share\"] = \"share\";\n BlueprintIcons_16[\"SharedFilter\"] = \"shared-filter\";\n BlueprintIcons_16[\"Shield\"] = \"shield\";\n BlueprintIcons_16[\"Ship\"] = \"ship\";\n BlueprintIcons_16[\"Shop\"] = \"shop\";\n BlueprintIcons_16[\"ShoppingCart\"] = \"shopping-cart\";\n BlueprintIcons_16[\"ShortenText\"] = \"shorten-text\";\n BlueprintIcons_16[\"SignalSearch\"] = \"signal-search\";\n BlueprintIcons_16[\"SimCard\"] = \"sim-card\";\n BlueprintIcons_16[\"Slash\"] = \"slash\";\n BlueprintIcons_16[\"SmallCross\"] = \"small-cross\";\n BlueprintIcons_16[\"SmallInfoSign\"] = \"small-info-sign\";\n BlueprintIcons_16[\"SmallMinus\"] = \"small-minus\";\n BlueprintIcons_16[\"SmallPlus\"] = \"small-plus\";\n BlueprintIcons_16[\"SmallSquare\"] = \"small-square\";\n BlueprintIcons_16[\"SmallTick\"] = \"small-tick\";\n BlueprintIcons_16[\"Snowflake\"] = \"snowflake\";\n BlueprintIcons_16[\"SocialMedia\"] = \"social-media\";\n BlueprintIcons_16[\"SortAlphabeticalDesc\"] = \"sort-alphabetical-desc\";\n BlueprintIcons_16[\"SortAlphabetical\"] = \"sort-alphabetical\";\n BlueprintIcons_16[\"SortAsc\"] = \"sort-asc\";\n BlueprintIcons_16[\"SortDesc\"] = \"sort-desc\";\n BlueprintIcons_16[\"SortNumericalDesc\"] = \"sort-numerical-desc\";\n BlueprintIcons_16[\"SortNumerical\"] = \"sort-numerical\";\n BlueprintIcons_16[\"Sort\"] = \"sort\";\n BlueprintIcons_16[\"SpellCheck\"] = \"spell-check\";\n BlueprintIcons_16[\"SplitColumns\"] = \"split-columns\";\n BlueprintIcons_16[\"Square\"] = \"square\";\n BlueprintIcons_16[\"StackedChart\"] = \"stacked-chart\";\n BlueprintIcons_16[\"StadiumGeometry\"] = \"stadium-geometry\";\n BlueprintIcons_16[\"StarEmpty\"] = \"star-empty\";\n BlueprintIcons_16[\"Star\"] = \"star\";\n BlueprintIcons_16[\"StepBackward\"] = \"step-backward\";\n BlueprintIcons_16[\"StepChart\"] = \"step-chart\";\n BlueprintIcons_16[\"StepForward\"] = \"step-forward\";\n BlueprintIcons_16[\"Stop\"] = \"stop\";\n BlueprintIcons_16[\"Stopwatch\"] = \"stopwatch\";\n BlueprintIcons_16[\"Strikethrough\"] = \"strikethrough\";\n BlueprintIcons_16[\"Style\"] = \"style\";\n BlueprintIcons_16[\"Subscript\"] = \"subscript\";\n BlueprintIcons_16[\"Superscript\"] = \"superscript\";\n BlueprintIcons_16[\"SwapHorizontal\"] = \"swap-horizontal\";\n BlueprintIcons_16[\"SwapVertical\"] = \"swap-vertical\";\n BlueprintIcons_16[\"Switch\"] = \"switch\";\n BlueprintIcons_16[\"SymbolCircle\"] = \"symbol-circle\";\n BlueprintIcons_16[\"SymbolCross\"] = \"symbol-cross\";\n BlueprintIcons_16[\"SymbolDiamond\"] = \"symbol-diamond\";\n BlueprintIcons_16[\"SymbolRectangle\"] = \"symbol-rectangle\";\n BlueprintIcons_16[\"SymbolSquare\"] = \"symbol-square\";\n BlueprintIcons_16[\"SymbolTriangleDown\"] = \"symbol-triangle-down\";\n BlueprintIcons_16[\"SymbolTriangleUp\"] = \"symbol-triangle-up\";\n BlueprintIcons_16[\"Syringe\"] = \"syringe\";\n BlueprintIcons_16[\"Tag\"] = \"tag\";\n BlueprintIcons_16[\"TakeAction\"] = \"take-action\";\n BlueprintIcons_16[\"Tank\"] = \"tank\";\n BlueprintIcons_16[\"Target\"] = \"target\";\n BlueprintIcons_16[\"Taxi\"] = \"taxi\";\n BlueprintIcons_16[\"Temperature\"] = \"temperature\";\n BlueprintIcons_16[\"TextHighlight\"] = \"text-highlight\";\n BlueprintIcons_16[\"ThDerived\"] = \"th-derived\";\n BlueprintIcons_16[\"ThDisconnect\"] = \"th-disconnect\";\n BlueprintIcons_16[\"ThFiltered\"] = \"th-filtered\";\n BlueprintIcons_16[\"ThList\"] = \"th-list\";\n BlueprintIcons_16[\"Th\"] = \"th\";\n BlueprintIcons_16[\"ThirdParty\"] = \"third-party\";\n BlueprintIcons_16[\"ThumbsDown\"] = \"thumbs-down\";\n BlueprintIcons_16[\"ThumbsUp\"] = \"thumbs-up\";\n BlueprintIcons_16[\"TickCircle\"] = \"tick-circle\";\n BlueprintIcons_16[\"Tick\"] = \"tick\";\n BlueprintIcons_16[\"Time\"] = \"time\";\n BlueprintIcons_16[\"TimelineAreaChart\"] = \"timeline-area-chart\";\n BlueprintIcons_16[\"TimelineBarChart\"] = \"timeline-bar-chart\";\n BlueprintIcons_16[\"TimelineEvents\"] = \"timeline-events\";\n BlueprintIcons_16[\"TimelineLineChart\"] = \"timeline-line-chart\";\n BlueprintIcons_16[\"Tint\"] = \"tint\";\n BlueprintIcons_16[\"Torch\"] = \"torch\";\n BlueprintIcons_16[\"Tractor\"] = \"tractor\";\n BlueprintIcons_16[\"Train\"] = \"train\";\n BlueprintIcons_16[\"Translate\"] = \"translate\";\n BlueprintIcons_16[\"Trash\"] = \"trash\";\n BlueprintIcons_16[\"Tree\"] = \"tree\";\n BlueprintIcons_16[\"TrendingDown\"] = \"trending-down\";\n BlueprintIcons_16[\"TrendingUp\"] = \"trending-up\";\n BlueprintIcons_16[\"Truck\"] = \"truck\";\n BlueprintIcons_16[\"TwoColumns\"] = \"two-columns\";\n BlueprintIcons_16[\"Unarchive\"] = \"unarchive\";\n BlueprintIcons_16[\"Underline\"] = \"underline\";\n BlueprintIcons_16[\"Undo\"] = \"undo\";\n BlueprintIcons_16[\"UngroupObjects\"] = \"ungroup-objects\";\n BlueprintIcons_16[\"UnknownVehicle\"] = \"unknown-vehicle\";\n BlueprintIcons_16[\"Unlink\"] = \"unlink\";\n BlueprintIcons_16[\"Unlock\"] = \"unlock\";\n BlueprintIcons_16[\"Unpin\"] = \"unpin\";\n BlueprintIcons_16[\"Unresolve\"] = \"unresolve\";\n BlueprintIcons_16[\"Updated\"] = \"updated\";\n BlueprintIcons_16[\"Upload\"] = \"upload\";\n BlueprintIcons_16[\"User\"] = \"user\";\n BlueprintIcons_16[\"Variable\"] = \"variable\";\n BlueprintIcons_16[\"VerticalBarChartAsc\"] = \"vertical-bar-chart-asc\";\n BlueprintIcons_16[\"VerticalBarChartDesc\"] = \"vertical-bar-chart-desc\";\n BlueprintIcons_16[\"VerticalDistribution\"] = \"vertical-distribution\";\n BlueprintIcons_16[\"VerticalInbetween\"] = \"vertical-inbetween\";\n BlueprintIcons_16[\"Video\"] = \"video\";\n BlueprintIcons_16[\"Virus\"] = \"virus\";\n BlueprintIcons_16[\"VolumeDown\"] = \"volume-down\";\n BlueprintIcons_16[\"VolumeOff\"] = \"volume-off\";\n BlueprintIcons_16[\"VolumeUp\"] = \"volume-up\";\n BlueprintIcons_16[\"Walk\"] = \"walk\";\n BlueprintIcons_16[\"WarningSign\"] = \"warning-sign\";\n BlueprintIcons_16[\"WaterfallChart\"] = \"waterfall-chart\";\n BlueprintIcons_16[\"Waves\"] = \"waves\";\n BlueprintIcons_16[\"WidgetButton\"] = \"widget-button\";\n BlueprintIcons_16[\"WidgetFooter\"] = \"widget-footer\";\n BlueprintIcons_16[\"WidgetHeader\"] = \"widget-header\";\n BlueprintIcons_16[\"Widget\"] = \"widget\";\n BlueprintIcons_16[\"Wind\"] = \"wind\";\n BlueprintIcons_16[\"Wrench\"] = \"wrench\";\n BlueprintIcons_16[\"ZoomIn\"] = \"zoom-in\";\n BlueprintIcons_16[\"ZoomOut\"] = \"zoom-out\";\n BlueprintIcons_16[\"ZoomToFit\"] = \"zoom-to-fit\";\n})(BlueprintIcons_16 || (BlueprintIcons_16 = {}));\nexport var BLUEPRINT_ICONS_16_CODEPOINTS = (_a = {},\n _a[BlueprintIcons_16.AddClip] = \"61697\",\n _a[BlueprintIcons_16.AddColumnLeft] = \"61698\",\n _a[BlueprintIcons_16.AddColumnRight] = \"61699\",\n _a[BlueprintIcons_16.AddLocation] = \"61700\",\n _a[BlueprintIcons_16.AddRowBottom] = \"61701\",\n _a[BlueprintIcons_16.AddRowTop] = \"61702\",\n _a[BlueprintIcons_16.AddToArtifact] = \"61703\",\n _a[BlueprintIcons_16.AddToFolder] = \"61704\",\n _a[BlueprintIcons_16.Add] = \"61705\",\n _a[BlueprintIcons_16.AimpointsTarget] = \"62261\",\n _a[BlueprintIcons_16.Airplane] = \"61706\",\n _a[BlueprintIcons_16.AlignCenter] = \"61707\",\n _a[BlueprintIcons_16.AlignJustify] = \"61708\",\n _a[BlueprintIcons_16.AlignLeft] = \"61709\",\n _a[BlueprintIcons_16.AlignRight] = \"61710\",\n _a[BlueprintIcons_16.AlignmentBottom] = \"61711\",\n _a[BlueprintIcons_16.AlignmentHorizontalCenter] = \"61712\",\n _a[BlueprintIcons_16.AlignmentLeft] = \"61713\",\n _a[BlueprintIcons_16.AlignmentRight] = \"61714\",\n _a[BlueprintIcons_16.AlignmentTop] = \"61715\",\n _a[BlueprintIcons_16.AlignmentVerticalCenter] = \"61716\",\n _a[BlueprintIcons_16.Ammunition] = \"62274\",\n _a[BlueprintIcons_16.Anchor] = \"62256\",\n _a[BlueprintIcons_16.Annotation] = \"61717\",\n _a[BlueprintIcons_16.Antenna] = \"61718\",\n _a[BlueprintIcons_16.AppHeader] = \"61719\",\n _a[BlueprintIcons_16.Application] = \"61720\",\n _a[BlueprintIcons_16.Applications] = \"61721\",\n _a[BlueprintIcons_16.Archive] = \"61722\",\n _a[BlueprintIcons_16.AreaOfInterest] = \"61723\",\n _a[BlueprintIcons_16.ArrayBoolean] = \"61724\",\n _a[BlueprintIcons_16.ArrayDate] = \"61725\",\n _a[BlueprintIcons_16.ArrayFloatingPoint] = \"62253\",\n _a[BlueprintIcons_16.ArrayNumeric] = \"61726\",\n _a[BlueprintIcons_16.ArrayString] = \"61727\",\n _a[BlueprintIcons_16.ArrayTimestamp] = \"61728\",\n _a[BlueprintIcons_16.Array] = \"61729\",\n _a[BlueprintIcons_16.ArrowBottomLeft] = \"61730\",\n _a[BlueprintIcons_16.ArrowBottomRight] = \"61731\",\n _a[BlueprintIcons_16.ArrowDown] = \"61732\",\n _a[BlueprintIcons_16.ArrowLeft] = \"61733\",\n _a[BlueprintIcons_16.ArrowRight] = \"61734\",\n _a[BlueprintIcons_16.ArrowTopLeft] = \"61735\",\n _a[BlueprintIcons_16.ArrowTopRight] = \"61736\",\n _a[BlueprintIcons_16.ArrowUp] = \"61737\",\n _a[BlueprintIcons_16.ArrowsHorizontal] = \"61738\",\n _a[BlueprintIcons_16.ArrowsVertical] = \"61739\",\n _a[BlueprintIcons_16.Asterisk] = \"61740\",\n _a[BlueprintIcons_16.At] = \"62257\",\n _a[BlueprintIcons_16.AutomaticUpdates] = \"61741\",\n _a[BlueprintIcons_16.Axle] = \"62264\",\n _a[BlueprintIcons_16.Backlink] = \"61742\",\n _a[BlueprintIcons_16.Badge] = \"61743\",\n _a[BlueprintIcons_16.BanCircle] = \"61744\",\n _a[BlueprintIcons_16.BankAccount] = \"61745\",\n _a[BlueprintIcons_16.Barcode] = \"61746\",\n _a[BlueprintIcons_16.Blank] = \"61747\",\n _a[BlueprintIcons_16.BlockedPerson] = \"61748\",\n _a[BlueprintIcons_16.Bold] = \"61749\",\n _a[BlueprintIcons_16.Book] = \"61750\",\n _a[BlueprintIcons_16.Bookmark] = \"61751\",\n _a[BlueprintIcons_16.Box] = \"61752\",\n _a[BlueprintIcons_16.Briefcase] = \"61753\",\n _a[BlueprintIcons_16.BringData] = \"61754\",\n _a[BlueprintIcons_16.Bug] = \"62254\",\n _a[BlueprintIcons_16.Buggy] = \"61755\",\n _a[BlueprintIcons_16.Build] = \"61756\",\n _a[BlueprintIcons_16.Calculator] = \"61757\",\n _a[BlueprintIcons_16.Calendar] = \"61758\",\n _a[BlueprintIcons_16.Camera] = \"61759\",\n _a[BlueprintIcons_16.CaretDown] = \"61760\",\n _a[BlueprintIcons_16.CaretLeft] = \"61761\",\n _a[BlueprintIcons_16.CaretRight] = \"61762\",\n _a[BlueprintIcons_16.CaretUp] = \"61763\",\n _a[BlueprintIcons_16.CargoShip] = \"61764\",\n _a[BlueprintIcons_16.CellTower] = \"61765\",\n _a[BlueprintIcons_16.Changes] = \"61766\",\n _a[BlueprintIcons_16.Chart] = \"61767\",\n _a[BlueprintIcons_16.Chat] = \"61768\",\n _a[BlueprintIcons_16.ChevronBackward] = \"61769\",\n _a[BlueprintIcons_16.ChevronDown] = \"61770\",\n _a[BlueprintIcons_16.ChevronForward] = \"61771\",\n _a[BlueprintIcons_16.ChevronLeft] = \"61772\",\n _a[BlueprintIcons_16.ChevronRight] = \"61773\",\n _a[BlueprintIcons_16.ChevronUp] = \"61774\",\n _a[BlueprintIcons_16.CircleArrowDown] = \"61775\",\n _a[BlueprintIcons_16.CircleArrowLeft] = \"61776\",\n _a[BlueprintIcons_16.CircleArrowRight] = \"61777\",\n _a[BlueprintIcons_16.CircleArrowUp] = \"61778\",\n _a[BlueprintIcons_16.Circle] = \"61779\",\n _a[BlueprintIcons_16.Citation] = \"61780\",\n _a[BlueprintIcons_16.Clean] = \"61781\",\n _a[BlueprintIcons_16.Clip] = \"61782\",\n _a[BlueprintIcons_16.Clipboard] = \"61783\",\n _a[BlueprintIcons_16.CloudDownload] = \"61784\",\n _a[BlueprintIcons_16.CloudUpload] = \"61785\",\n _a[BlueprintIcons_16.Cloud] = \"61786\",\n _a[BlueprintIcons_16.CodeBlock] = \"61787\",\n _a[BlueprintIcons_16.Code] = \"61788\",\n _a[BlueprintIcons_16.Cog] = \"61789\",\n _a[BlueprintIcons_16.CollapseAll] = \"61790\",\n _a[BlueprintIcons_16.ColorFill] = \"62248\",\n _a[BlueprintIcons_16.ColumnLayout] = \"61791\",\n _a[BlueprintIcons_16.Comment] = \"61792\",\n _a[BlueprintIcons_16.Comparison] = \"61793\",\n _a[BlueprintIcons_16.Compass] = \"61794\",\n _a[BlueprintIcons_16.Compressed] = \"61795\",\n _a[BlueprintIcons_16.Confirm] = \"61796\",\n _a[BlueprintIcons_16.Console] = \"61797\",\n _a[BlueprintIcons_16.Contrast] = \"61798\",\n _a[BlueprintIcons_16.Control] = \"61799\",\n _a[BlueprintIcons_16.CreditCard] = \"61800\",\n _a[BlueprintIcons_16.CrossCircle] = \"62262\",\n _a[BlueprintIcons_16.Cross] = \"61801\",\n _a[BlueprintIcons_16.Crown] = \"61802\",\n _a[BlueprintIcons_16.CubeAdd] = \"61803\",\n _a[BlueprintIcons_16.CubeRemove] = \"61804\",\n _a[BlueprintIcons_16.Cube] = \"61805\",\n _a[BlueprintIcons_16.CurvedRangeChart] = \"61806\",\n _a[BlueprintIcons_16.Cut] = \"61807\",\n _a[BlueprintIcons_16.Cycle] = \"61808\",\n _a[BlueprintIcons_16.Dashboard] = \"61809\",\n _a[BlueprintIcons_16.DataConnection] = \"61810\",\n _a[BlueprintIcons_16.DataLineage] = \"61811\",\n _a[BlueprintIcons_16.Database] = \"61812\",\n _a[BlueprintIcons_16.Delete] = \"61813\",\n _a[BlueprintIcons_16.Delta] = \"61814\",\n _a[BlueprintIcons_16.DeriveColumn] = \"61815\",\n _a[BlueprintIcons_16.Desktop] = \"61816\",\n _a[BlueprintIcons_16.Detection] = \"62273\",\n _a[BlueprintIcons_16.Diagnosis] = \"61817\",\n _a[BlueprintIcons_16.DiagramTree] = \"61818\",\n _a[BlueprintIcons_16.DirectionLeft] = \"61819\",\n _a[BlueprintIcons_16.DirectionRight] = \"61820\",\n _a[BlueprintIcons_16.Disable] = \"61821\",\n _a[BlueprintIcons_16.Divide] = \"62247\",\n _a[BlueprintIcons_16.DocumentOpen] = \"61822\",\n _a[BlueprintIcons_16.DocumentShare] = \"61823\",\n _a[BlueprintIcons_16.Document] = \"61824\",\n _a[BlueprintIcons_16.Dollar] = \"61825\",\n _a[BlueprintIcons_16.Dot] = \"61826\",\n _a[BlueprintIcons_16.DoubleCaretHorizontal] = \"61827\",\n _a[BlueprintIcons_16.DoubleCaretVertical] = \"61828\",\n _a[BlueprintIcons_16.DoubleChevronDown] = \"61829\",\n _a[BlueprintIcons_16.DoubleChevronLeft] = \"61830\",\n _a[BlueprintIcons_16.DoubleChevronRight] = \"61831\",\n _a[BlueprintIcons_16.DoubleChevronUp] = \"61832\",\n _a[BlueprintIcons_16.DoughnutChart] = \"61833\",\n _a[BlueprintIcons_16.Download] = \"61834\",\n _a[BlueprintIcons_16.DragHandleHorizontal] = \"61835\",\n _a[BlueprintIcons_16.DragHandleVertical] = \"61836\",\n _a[BlueprintIcons_16.Draw] = \"61837\",\n _a[BlueprintIcons_16.DrawerLeftFilled] = \"61838\",\n _a[BlueprintIcons_16.DrawerLeft] = \"61839\",\n _a[BlueprintIcons_16.DrawerRightFilled] = \"61840\",\n _a[BlueprintIcons_16.DrawerRight] = \"61841\",\n _a[BlueprintIcons_16.DriveTime] = \"61842\",\n _a[BlueprintIcons_16.Duplicate] = \"61843\",\n _a[BlueprintIcons_16.Edit] = \"61844\",\n _a[BlueprintIcons_16.Eject] = \"61845\",\n _a[BlueprintIcons_16.Emoji] = \"61846\",\n _a[BlueprintIcons_16.Endorsed] = \"61847\",\n _a[BlueprintIcons_16.Envelope] = \"61848\",\n _a[BlueprintIcons_16.Equals] = \"61849\",\n _a[BlueprintIcons_16.Eraser] = \"61850\",\n _a[BlueprintIcons_16.Error] = \"61851\",\n _a[BlueprintIcons_16.Euro] = \"61852\",\n _a[BlueprintIcons_16.Exchange] = \"61853\",\n _a[BlueprintIcons_16.ExcludeRow] = \"61854\",\n _a[BlueprintIcons_16.ExpandAll] = \"61855\",\n _a[BlueprintIcons_16.Explain] = \"62285\",\n _a[BlueprintIcons_16.Export] = \"61856\",\n _a[BlueprintIcons_16.EyeOff] = \"61857\",\n _a[BlueprintIcons_16.EyeOn] = \"61858\",\n _a[BlueprintIcons_16.EyeOpen] = \"61859\",\n _a[BlueprintIcons_16.FastBackward] = \"61860\",\n _a[BlueprintIcons_16.FastForward] = \"61861\",\n _a[BlueprintIcons_16.FeedSubscribed] = \"61862\",\n _a[BlueprintIcons_16.Feed] = \"61863\",\n _a[BlueprintIcons_16.Film] = \"61864\",\n _a[BlueprintIcons_16.FilterKeep] = \"61865\",\n _a[BlueprintIcons_16.FilterList] = \"61866\",\n _a[BlueprintIcons_16.FilterOpen] = \"61867\",\n _a[BlueprintIcons_16.FilterRemove] = \"61868\",\n _a[BlueprintIcons_16.Filter] = \"61869\",\n _a[BlueprintIcons_16.Flag] = \"61870\",\n _a[BlueprintIcons_16.Flame] = \"61871\",\n _a[BlueprintIcons_16.Flash] = \"61872\",\n _a[BlueprintIcons_16.FloatingPoint] = \"62252\",\n _a[BlueprintIcons_16.FloppyDisk] = \"61873\",\n _a[BlueprintIcons_16.FlowBranch] = \"61874\",\n _a[BlueprintIcons_16.FlowEnd] = \"61875\",\n _a[BlueprintIcons_16.FlowLinear] = \"61876\",\n _a[BlueprintIcons_16.FlowReviewBranch] = \"61877\",\n _a[BlueprintIcons_16.FlowReview] = \"61878\",\n _a[BlueprintIcons_16.Flows] = \"61879\",\n _a[BlueprintIcons_16.FolderClose] = \"61880\",\n _a[BlueprintIcons_16.FolderNew] = \"61881\",\n _a[BlueprintIcons_16.FolderOpen] = \"61882\",\n _a[BlueprintIcons_16.FolderSharedOpen] = \"61883\",\n _a[BlueprintIcons_16.FolderShared] = \"61884\",\n _a[BlueprintIcons_16.Follower] = \"61885\",\n _a[BlueprintIcons_16.Following] = \"61886\",\n _a[BlueprintIcons_16.Font] = \"61887\",\n _a[BlueprintIcons_16.Fork] = \"61888\",\n _a[BlueprintIcons_16.Form] = \"61889\",\n _a[BlueprintIcons_16.Fuel] = \"62243\",\n _a[BlueprintIcons_16.FullCircle] = \"61890\",\n _a[BlueprintIcons_16.FullStackedChart] = \"61891\",\n _a[BlueprintIcons_16.Fullscreen] = \"61892\",\n _a[BlueprintIcons_16.Function] = \"61893\",\n _a[BlueprintIcons_16.GanttChart] = \"61894\",\n _a[BlueprintIcons_16.Generate] = \"62284\",\n _a[BlueprintIcons_16.Geofence] = \"61895\",\n _a[BlueprintIcons_16.Geolocation] = \"61896\",\n _a[BlueprintIcons_16.Geosearch] = \"61897\",\n _a[BlueprintIcons_16.Geotime] = \"62276\",\n _a[BlueprintIcons_16.GitBranch] = \"61898\",\n _a[BlueprintIcons_16.GitCommit] = \"61899\",\n _a[BlueprintIcons_16.GitMerge] = \"61900\",\n _a[BlueprintIcons_16.GitNewBranch] = \"61901\",\n _a[BlueprintIcons_16.GitPull] = \"61902\",\n _a[BlueprintIcons_16.GitPush] = \"61903\",\n _a[BlueprintIcons_16.GitRepo] = \"61904\",\n _a[BlueprintIcons_16.Glass] = \"61905\",\n _a[BlueprintIcons_16.GlobeNetwork] = \"61906\",\n _a[BlueprintIcons_16.Globe] = \"61907\",\n _a[BlueprintIcons_16.GraphRemove] = \"61908\",\n _a[BlueprintIcons_16.Graph] = \"61909\",\n _a[BlueprintIcons_16.GreaterThanOrEqualTo] = \"61910\",\n _a[BlueprintIcons_16.GreaterThan] = \"61911\",\n _a[BlueprintIcons_16.GridView] = \"61912\",\n _a[BlueprintIcons_16.Grid] = \"61913\",\n _a[BlueprintIcons_16.GroupItem] = \"62282\",\n _a[BlueprintIcons_16.GroupObjects] = \"61914\",\n _a[BlueprintIcons_16.GroupedBarChart] = \"61915\",\n _a[BlueprintIcons_16.HandDown] = \"61916\",\n _a[BlueprintIcons_16.HandLeft] = \"61917\",\n _a[BlueprintIcons_16.HandRight] = \"61918\",\n _a[BlueprintIcons_16.HandUp] = \"61919\",\n _a[BlueprintIcons_16.Hand] = \"61920\",\n _a[BlueprintIcons_16.Hat] = \"61921\",\n _a[BlueprintIcons_16.HeaderOne] = \"61922\",\n _a[BlueprintIcons_16.HeaderThree] = \"61923\",\n _a[BlueprintIcons_16.HeaderTwo] = \"61924\",\n _a[BlueprintIcons_16.Header] = \"61925\",\n _a[BlueprintIcons_16.Headset] = \"61926\",\n _a[BlueprintIcons_16.HeartBroken] = \"61927\",\n _a[BlueprintIcons_16.Heart] = \"61928\",\n _a[BlueprintIcons_16.HeatGrid] = \"61929\",\n _a[BlueprintIcons_16.Heatmap] = \"61930\",\n _a[BlueprintIcons_16.Helicopter] = \"61931\",\n _a[BlueprintIcons_16.Help] = \"61932\",\n _a[BlueprintIcons_16.HelperManagement] = \"61933\",\n _a[BlueprintIcons_16.HighPriority] = \"61934\",\n _a[BlueprintIcons_16.HighVoltagePole] = \"62259\",\n _a[BlueprintIcons_16.Highlight] = \"61935\",\n _a[BlueprintIcons_16.History] = \"61936\",\n _a[BlueprintIcons_16.Home] = \"61937\",\n _a[BlueprintIcons_16.HorizontalBarChartAsc] = \"61938\",\n _a[BlueprintIcons_16.HorizontalBarChartDesc] = \"61939\",\n _a[BlueprintIcons_16.HorizontalBarChart] = \"61940\",\n _a[BlueprintIcons_16.HorizontalDistribution] = \"61941\",\n _a[BlueprintIcons_16.HorizontalInbetween] = \"62249\",\n _a[BlueprintIcons_16.Hurricane] = \"61942\",\n _a[BlueprintIcons_16.IdNumber] = \"61943\",\n _a[BlueprintIcons_16.ImageRotateLeft] = \"61944\",\n _a[BlueprintIcons_16.ImageRotateRight] = \"61945\",\n _a[BlueprintIcons_16.Import] = \"61946\",\n _a[BlueprintIcons_16.InboxFiltered] = \"61947\",\n _a[BlueprintIcons_16.InboxGeo] = \"61948\",\n _a[BlueprintIcons_16.InboxSearch] = \"61949\",\n _a[BlueprintIcons_16.InboxUpdate] = \"61950\",\n _a[BlueprintIcons_16.Inbox] = \"61951\",\n _a[BlueprintIcons_16.InfoSign] = \"61952\",\n _a[BlueprintIcons_16.Inheritance] = \"61953\",\n _a[BlueprintIcons_16.InheritedGroup] = \"61954\",\n _a[BlueprintIcons_16.InnerJoin] = \"61955\",\n _a[BlueprintIcons_16.Input] = \"62283\",\n _a[BlueprintIcons_16.Insert] = \"61956\",\n _a[BlueprintIcons_16.Intelligence] = \"62263\",\n _a[BlueprintIcons_16.Intersection] = \"61957\",\n _a[BlueprintIcons_16.IpAddress] = \"61958\",\n _a[BlueprintIcons_16.IssueClosed] = \"61959\",\n _a[BlueprintIcons_16.IssueNew] = \"61960\",\n _a[BlueprintIcons_16.Issue] = \"61961\",\n _a[BlueprintIcons_16.Italic] = \"61962\",\n _a[BlueprintIcons_16.JoinTable] = \"61963\",\n _a[BlueprintIcons_16.KeyBackspace] = \"61964\",\n _a[BlueprintIcons_16.KeyCommand] = \"61965\",\n _a[BlueprintIcons_16.KeyControl] = \"61966\",\n _a[BlueprintIcons_16.KeyDelete] = \"61967\",\n _a[BlueprintIcons_16.KeyEnter] = \"61968\",\n _a[BlueprintIcons_16.KeyEscape] = \"61969\",\n _a[BlueprintIcons_16.KeyOption] = \"61970\",\n _a[BlueprintIcons_16.KeyShift] = \"61971\",\n _a[BlueprintIcons_16.KeyTab] = \"61972\",\n _a[BlueprintIcons_16.Key] = \"61973\",\n _a[BlueprintIcons_16.KnownVehicle] = \"61974\",\n _a[BlueprintIcons_16.LabTest] = \"61975\",\n _a[BlueprintIcons_16.Label] = \"61976\",\n _a[BlueprintIcons_16.LayerOutline] = \"61977\",\n _a[BlueprintIcons_16.Layer] = \"61978\",\n _a[BlueprintIcons_16.Layers] = \"61979\",\n _a[BlueprintIcons_16.LayoutAuto] = \"61980\",\n _a[BlueprintIcons_16.LayoutBalloon] = \"61981\",\n _a[BlueprintIcons_16.LayoutCircle] = \"61982\",\n _a[BlueprintIcons_16.LayoutGrid] = \"61983\",\n _a[BlueprintIcons_16.LayoutGroupBy] = \"61984\",\n _a[BlueprintIcons_16.LayoutHierarchy] = \"61985\",\n _a[BlueprintIcons_16.LayoutLinear] = \"61986\",\n _a[BlueprintIcons_16.LayoutSkewGrid] = \"61987\",\n _a[BlueprintIcons_16.LayoutSortedClusters] = \"61988\",\n _a[BlueprintIcons_16.Layout] = \"61989\",\n _a[BlueprintIcons_16.Learning] = \"61990\",\n _a[BlueprintIcons_16.LeftJoin] = \"61991\",\n _a[BlueprintIcons_16.LengthenText] = \"62270\",\n _a[BlueprintIcons_16.LessThanOrEqualTo] = \"61992\",\n _a[BlueprintIcons_16.LessThan] = \"61993\",\n _a[BlueprintIcons_16.Lifesaver] = \"61994\",\n _a[BlueprintIcons_16.Lightbulb] = \"61995\",\n _a[BlueprintIcons_16.Lightning] = \"61996\",\n _a[BlueprintIcons_16.Link] = \"61997\",\n _a[BlueprintIcons_16.ListColumns] = \"61998\",\n _a[BlueprintIcons_16.ListDetailView] = \"61999\",\n _a[BlueprintIcons_16.List] = \"62000\",\n _a[BlueprintIcons_16.Locate] = \"62001\",\n _a[BlueprintIcons_16.Lock] = \"62002\",\n _a[BlueprintIcons_16.Locomotive] = \"62267\",\n _a[BlueprintIcons_16.LogIn] = \"62003\",\n _a[BlueprintIcons_16.LogOut] = \"62004\",\n _a[BlueprintIcons_16.LowVoltagePole] = \"62258\",\n _a[BlueprintIcons_16.Manual] = \"62005\",\n _a[BlueprintIcons_16.ManuallyEnteredData] = \"62006\",\n _a[BlueprintIcons_16.ManyToMany] = \"62007\",\n _a[BlueprintIcons_16.ManyToOne] = \"62008\",\n _a[BlueprintIcons_16.MapCreate] = \"62009\",\n _a[BlueprintIcons_16.MapMarker] = \"62010\",\n _a[BlueprintIcons_16.Map] = \"62011\",\n _a[BlueprintIcons_16.Maximize] = \"62012\",\n _a[BlueprintIcons_16.Media] = \"62013\",\n _a[BlueprintIcons_16.MenuClosed] = \"62014\",\n _a[BlueprintIcons_16.MenuOpen] = \"62015\",\n _a[BlueprintIcons_16.Menu] = \"62016\",\n _a[BlueprintIcons_16.MergeColumns] = \"62017\",\n _a[BlueprintIcons_16.MergeLinks] = \"62018\",\n _a[BlueprintIcons_16.Microphone] = \"62275\",\n _a[BlueprintIcons_16.Minimize] = \"62019\",\n _a[BlueprintIcons_16.Minus] = \"62020\",\n _a[BlueprintIcons_16.MobilePhone] = \"62021\",\n _a[BlueprintIcons_16.MobileVideo] = \"62022\",\n _a[BlueprintIcons_16.ModalFilled] = \"62023\",\n _a[BlueprintIcons_16.Modal] = \"62024\",\n _a[BlueprintIcons_16.Model] = \"62269\",\n _a[BlueprintIcons_16.Moon] = \"62025\",\n _a[BlueprintIcons_16.More] = \"62026\",\n _a[BlueprintIcons_16.Mountain] = \"62027\",\n _a[BlueprintIcons_16.Move] = \"62028\",\n _a[BlueprintIcons_16.Mugshot] = \"62029\",\n _a[BlueprintIcons_16.MultiSelect] = \"62030\",\n _a[BlueprintIcons_16.Music] = \"62031\",\n _a[BlueprintIcons_16.Nest] = \"62032\",\n _a[BlueprintIcons_16.NewDrawing] = \"62033\",\n _a[BlueprintIcons_16.NewGridItem] = \"62034\",\n _a[BlueprintIcons_16.NewLayer] = \"62035\",\n _a[BlueprintIcons_16.NewLayers] = \"62036\",\n _a[BlueprintIcons_16.NewLink] = \"62037\",\n _a[BlueprintIcons_16.NewObject] = \"62038\",\n _a[BlueprintIcons_16.NewPerson] = \"62039\",\n _a[BlueprintIcons_16.NewPrescription] = \"62040\",\n _a[BlueprintIcons_16.NewShield] = \"62281\",\n _a[BlueprintIcons_16.NewTextBox] = \"62041\",\n _a[BlueprintIcons_16.Ninja] = \"62042\",\n _a[BlueprintIcons_16.NotEqualTo] = \"62043\",\n _a[BlueprintIcons_16.NotificationsSnooze] = \"62044\",\n _a[BlueprintIcons_16.NotificationsUpdated] = \"62045\",\n _a[BlueprintIcons_16.Notifications] = \"62046\",\n _a[BlueprintIcons_16.NumberedList] = \"62047\",\n _a[BlueprintIcons_16.Numerical] = \"62048\",\n _a[BlueprintIcons_16.Office] = \"62049\",\n _a[BlueprintIcons_16.Offline] = \"62050\",\n _a[BlueprintIcons_16.OilField] = \"62051\",\n _a[BlueprintIcons_16.OneColumn] = \"62052\",\n _a[BlueprintIcons_16.OneToMany] = \"62053\",\n _a[BlueprintIcons_16.OneToOne] = \"62054\",\n _a[BlueprintIcons_16.OpenApplication] = \"62251\",\n _a[BlueprintIcons_16.Outdated] = \"62055\",\n _a[BlueprintIcons_16.PageLayout] = \"62056\",\n _a[BlueprintIcons_16.PanelStats] = \"62057\",\n _a[BlueprintIcons_16.PanelTable] = \"62058\",\n _a[BlueprintIcons_16.Paperclip] = \"62059\",\n _a[BlueprintIcons_16.Paragraph] = \"62060\",\n _a[BlueprintIcons_16.PasteVariable] = \"62278\",\n _a[BlueprintIcons_16.PathSearch] = \"62061\",\n _a[BlueprintIcons_16.Path] = \"62062\",\n _a[BlueprintIcons_16.Pause] = \"62063\",\n _a[BlueprintIcons_16.People] = \"62064\",\n _a[BlueprintIcons_16.Percentage] = \"62065\",\n _a[BlueprintIcons_16.Person] = \"62066\",\n _a[BlueprintIcons_16.PhoneCall] = \"62279\",\n _a[BlueprintIcons_16.PhoneForward] = \"62280\",\n _a[BlueprintIcons_16.Phone] = \"62067\",\n _a[BlueprintIcons_16.PieChart] = \"62068\",\n _a[BlueprintIcons_16.Pin] = \"62069\",\n _a[BlueprintIcons_16.PivotTable] = \"62070\",\n _a[BlueprintIcons_16.Pivot] = \"62071\",\n _a[BlueprintIcons_16.Play] = \"62072\",\n _a[BlueprintIcons_16.Playbook] = \"62244\",\n _a[BlueprintIcons_16.Plus] = \"62073\",\n _a[BlueprintIcons_16.PolygonFilter] = \"62074\",\n _a[BlueprintIcons_16.Power] = \"62075\",\n _a[BlueprintIcons_16.PredictiveAnalysis] = \"62076\",\n _a[BlueprintIcons_16.Prescription] = \"62077\",\n _a[BlueprintIcons_16.Presentation] = \"62078\",\n _a[BlueprintIcons_16.Print] = \"62079\",\n _a[BlueprintIcons_16.Projects] = \"62080\",\n _a[BlueprintIcons_16.Properties] = \"62081\",\n _a[BlueprintIcons_16.Property] = \"62082\",\n _a[BlueprintIcons_16.PublishFunction] = \"62083\",\n _a[BlueprintIcons_16.Pulse] = \"62084\",\n _a[BlueprintIcons_16.Rain] = \"62085\",\n _a[BlueprintIcons_16.Random] = \"62086\",\n _a[BlueprintIcons_16.Record] = \"62087\",\n _a[BlueprintIcons_16.RectHeight] = \"62245\",\n _a[BlueprintIcons_16.RectWidth] = \"62246\",\n _a[BlueprintIcons_16.Rectangle] = \"62241\",\n _a[BlueprintIcons_16.Redo] = \"62088\",\n _a[BlueprintIcons_16.Refresh] = \"62089\",\n _a[BlueprintIcons_16.Regex] = \"62255\",\n _a[BlueprintIcons_16.RegressionChart] = \"62090\",\n _a[BlueprintIcons_16.RemoveColumnLeft] = \"62091\",\n _a[BlueprintIcons_16.RemoveColumnRight] = \"62092\",\n _a[BlueprintIcons_16.RemoveColumn] = \"62093\",\n _a[BlueprintIcons_16.RemoveRowBottom] = \"62094\",\n _a[BlueprintIcons_16.RemoveRowTop] = \"62095\",\n _a[BlueprintIcons_16.Remove] = \"62096\",\n _a[BlueprintIcons_16.Repeat] = \"62097\",\n _a[BlueprintIcons_16.Reset] = \"62098\",\n _a[BlueprintIcons_16.Resolve] = \"62099\",\n _a[BlueprintIcons_16.Rig] = \"62100\",\n _a[BlueprintIcons_16.RightJoin] = \"62101\",\n _a[BlueprintIcons_16.Ring] = \"62102\",\n _a[BlueprintIcons_16.RocketSlant] = \"62103\",\n _a[BlueprintIcons_16.Rocket] = \"62104\",\n _a[BlueprintIcons_16.RotateDocument] = \"62105\",\n _a[BlueprintIcons_16.RotatePage] = \"62106\",\n _a[BlueprintIcons_16.Route] = \"62107\",\n _a[BlueprintIcons_16.Satellite] = \"62108\",\n _a[BlueprintIcons_16.Saved] = \"62109\",\n _a[BlueprintIcons_16.ScatterPlot] = \"62110\",\n _a[BlueprintIcons_16.SearchAround] = \"62111\",\n _a[BlueprintIcons_16.SearchTemplate] = \"62112\",\n _a[BlueprintIcons_16.SearchText] = \"62113\",\n _a[BlueprintIcons_16.Search] = \"62114\",\n _a[BlueprintIcons_16.SegmentedControl] = \"62115\",\n _a[BlueprintIcons_16.Select] = \"62116\",\n _a[BlueprintIcons_16.Selection] = \"62117\",\n _a[BlueprintIcons_16.SendMessage] = \"62118\",\n _a[BlueprintIcons_16.SendToGraph] = \"62119\",\n _a[BlueprintIcons_16.SendToMap] = \"62120\",\n _a[BlueprintIcons_16.SendTo] = \"62121\",\n _a[BlueprintIcons_16.Sensor] = \"62268\",\n _a[BlueprintIcons_16.SeriesAdd] = \"62122\",\n _a[BlueprintIcons_16.SeriesConfiguration] = \"62123\",\n _a[BlueprintIcons_16.SeriesDerived] = \"62124\",\n _a[BlueprintIcons_16.SeriesFiltered] = \"62125\",\n _a[BlueprintIcons_16.SeriesSearch] = \"62126\",\n _a[BlueprintIcons_16.Settings] = \"62127\",\n _a[BlueprintIcons_16.Shapes] = \"62128\",\n _a[BlueprintIcons_16.Share] = \"62129\",\n _a[BlueprintIcons_16.SharedFilter] = \"62130\",\n _a[BlueprintIcons_16.Shield] = \"62131\",\n _a[BlueprintIcons_16.Ship] = \"62132\",\n _a[BlueprintIcons_16.Shop] = \"62133\",\n _a[BlueprintIcons_16.ShoppingCart] = \"62134\",\n _a[BlueprintIcons_16.ShortenText] = \"62271\",\n _a[BlueprintIcons_16.SignalSearch] = \"62135\",\n _a[BlueprintIcons_16.SimCard] = \"62136\",\n _a[BlueprintIcons_16.Slash] = \"62137\",\n _a[BlueprintIcons_16.SmallCross] = \"62138\",\n _a[BlueprintIcons_16.SmallInfoSign] = \"62260\",\n _a[BlueprintIcons_16.SmallMinus] = \"62139\",\n _a[BlueprintIcons_16.SmallPlus] = \"62140\",\n _a[BlueprintIcons_16.SmallSquare] = \"62141\",\n _a[BlueprintIcons_16.SmallTick] = \"62142\",\n _a[BlueprintIcons_16.Snowflake] = \"62143\",\n _a[BlueprintIcons_16.SocialMedia] = \"62144\",\n _a[BlueprintIcons_16.SortAlphabeticalDesc] = \"62145\",\n _a[BlueprintIcons_16.SortAlphabetical] = \"62146\",\n _a[BlueprintIcons_16.SortAsc] = \"62147\",\n _a[BlueprintIcons_16.SortDesc] = \"62148\",\n _a[BlueprintIcons_16.SortNumericalDesc] = \"62149\",\n _a[BlueprintIcons_16.SortNumerical] = \"62150\",\n _a[BlueprintIcons_16.Sort] = \"62151\",\n _a[BlueprintIcons_16.SpellCheck] = \"62272\",\n _a[BlueprintIcons_16.SplitColumns] = \"62152\",\n _a[BlueprintIcons_16.Square] = \"62153\",\n _a[BlueprintIcons_16.StackedChart] = \"62154\",\n _a[BlueprintIcons_16.StadiumGeometry] = \"62155\",\n _a[BlueprintIcons_16.StarEmpty] = \"62156\",\n _a[BlueprintIcons_16.Star] = \"62157\",\n _a[BlueprintIcons_16.StepBackward] = \"62158\",\n _a[BlueprintIcons_16.StepChart] = \"62159\",\n _a[BlueprintIcons_16.StepForward] = \"62160\",\n _a[BlueprintIcons_16.Stop] = \"62161\",\n _a[BlueprintIcons_16.Stopwatch] = \"62162\",\n _a[BlueprintIcons_16.Strikethrough] = \"62163\",\n _a[BlueprintIcons_16.Style] = \"62164\",\n _a[BlueprintIcons_16.Subscript] = \"62265\",\n _a[BlueprintIcons_16.Superscript] = \"62266\",\n _a[BlueprintIcons_16.SwapHorizontal] = \"62165\",\n _a[BlueprintIcons_16.SwapVertical] = \"62166\",\n _a[BlueprintIcons_16.Switch] = \"62167\",\n _a[BlueprintIcons_16.SymbolCircle] = \"62168\",\n _a[BlueprintIcons_16.SymbolCross] = \"62169\",\n _a[BlueprintIcons_16.SymbolDiamond] = \"62170\",\n _a[BlueprintIcons_16.SymbolRectangle] = \"62242\",\n _a[BlueprintIcons_16.SymbolSquare] = \"62171\",\n _a[BlueprintIcons_16.SymbolTriangleDown] = \"62172\",\n _a[BlueprintIcons_16.SymbolTriangleUp] = \"62173\",\n _a[BlueprintIcons_16.Syringe] = \"62174\",\n _a[BlueprintIcons_16.Tag] = \"62175\",\n _a[BlueprintIcons_16.TakeAction] = \"62176\",\n _a[BlueprintIcons_16.Tank] = \"62177\",\n _a[BlueprintIcons_16.Target] = \"62178\",\n _a[BlueprintIcons_16.Taxi] = \"62179\",\n _a[BlueprintIcons_16.Temperature] = \"62180\",\n _a[BlueprintIcons_16.TextHighlight] = \"62181\",\n _a[BlueprintIcons_16.ThDerived] = \"62182\",\n _a[BlueprintIcons_16.ThDisconnect] = \"62183\",\n _a[BlueprintIcons_16.ThFiltered] = \"62184\",\n _a[BlueprintIcons_16.ThList] = \"62185\",\n _a[BlueprintIcons_16.Th] = \"62186\",\n _a[BlueprintIcons_16.ThirdParty] = \"62187\",\n _a[BlueprintIcons_16.ThumbsDown] = \"62188\",\n _a[BlueprintIcons_16.ThumbsUp] = \"62189\",\n _a[BlueprintIcons_16.TickCircle] = \"62190\",\n _a[BlueprintIcons_16.Tick] = \"62191\",\n _a[BlueprintIcons_16.Time] = \"62192\",\n _a[BlueprintIcons_16.TimelineAreaChart] = \"62193\",\n _a[BlueprintIcons_16.TimelineBarChart] = \"62194\",\n _a[BlueprintIcons_16.TimelineEvents] = \"62195\",\n _a[BlueprintIcons_16.TimelineLineChart] = \"62196\",\n _a[BlueprintIcons_16.Tint] = \"62197\",\n _a[BlueprintIcons_16.Torch] = \"62198\",\n _a[BlueprintIcons_16.Tractor] = \"62199\",\n _a[BlueprintIcons_16.Train] = \"62200\",\n _a[BlueprintIcons_16.Translate] = \"62201\",\n _a[BlueprintIcons_16.Trash] = \"62202\",\n _a[BlueprintIcons_16.Tree] = \"62203\",\n _a[BlueprintIcons_16.TrendingDown] = \"62204\",\n _a[BlueprintIcons_16.TrendingUp] = \"62205\",\n _a[BlueprintIcons_16.Truck] = \"62206\",\n _a[BlueprintIcons_16.TwoColumns] = \"62207\",\n _a[BlueprintIcons_16.Unarchive] = \"62208\",\n _a[BlueprintIcons_16.Underline] = \"62209\",\n _a[BlueprintIcons_16.Undo] = \"62210\",\n _a[BlueprintIcons_16.UngroupObjects] = \"62211\",\n _a[BlueprintIcons_16.UnknownVehicle] = \"62212\",\n _a[BlueprintIcons_16.Unlink] = \"62277\",\n _a[BlueprintIcons_16.Unlock] = \"62213\",\n _a[BlueprintIcons_16.Unpin] = \"62214\",\n _a[BlueprintIcons_16.Unresolve] = \"62215\",\n _a[BlueprintIcons_16.Updated] = \"62216\",\n _a[BlueprintIcons_16.Upload] = \"62217\",\n _a[BlueprintIcons_16.User] = \"62218\",\n _a[BlueprintIcons_16.Variable] = \"62219\",\n _a[BlueprintIcons_16.VerticalBarChartAsc] = \"62220\",\n _a[BlueprintIcons_16.VerticalBarChartDesc] = \"62221\",\n _a[BlueprintIcons_16.VerticalDistribution] = \"62222\",\n _a[BlueprintIcons_16.VerticalInbetween] = \"62250\",\n _a[BlueprintIcons_16.Video] = \"62223\",\n _a[BlueprintIcons_16.Virus] = \"62224\",\n _a[BlueprintIcons_16.VolumeDown] = \"62225\",\n _a[BlueprintIcons_16.VolumeOff] = \"62226\",\n _a[BlueprintIcons_16.VolumeUp] = \"62227\",\n _a[BlueprintIcons_16.Walk] = \"62228\",\n _a[BlueprintIcons_16.WarningSign] = \"62229\",\n _a[BlueprintIcons_16.WaterfallChart] = \"62230\",\n _a[BlueprintIcons_16.Waves] = \"62231\",\n _a[BlueprintIcons_16.WidgetButton] = \"62232\",\n _a[BlueprintIcons_16.WidgetFooter] = \"62233\",\n _a[BlueprintIcons_16.WidgetHeader] = \"62234\",\n _a[BlueprintIcons_16.Widget] = \"62235\",\n _a[BlueprintIcons_16.Wind] = \"62236\",\n _a[BlueprintIcons_16.Wrench] = \"62237\",\n _a[BlueprintIcons_16.ZoomIn] = \"62238\",\n _a[BlueprintIcons_16.ZoomOut] = \"62239\",\n _a[BlueprintIcons_16.ZoomToFit] = \"62240\",\n _a);\n//# sourceMappingURL=blueprint-icons-16.js.map","/*\n * Copyright 2021 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign } from \"tslib\";\n/* eslint-disable camelcase */\nimport { pascalCase, snakeCase } from \"change-case\";\n// The two icon sets are identical aside from SVG paths, so we only need to import info for the 16px set\nimport { BlueprintIcons_16 } from \"./generated/16px/blueprint-icons-16\";\nvar IconNamesNew = {};\nvar IconNamesLegacy = {};\nfor (var _i = 0, _a = Object.values(BlueprintIcons_16); _i < _a.length; _i++) {\n var name_1 = _a[_i];\n IconNamesNew[pascalCase(name_1)] = name_1;\n IconNamesLegacy[snakeCase(name_1).toUpperCase()] = name_1;\n}\nexport var IconNames = __assign(__assign({}, IconNamesNew), IconNamesLegacy);\nexport var IconNamesSet = new Set(Object.values(IconNames));\n//# sourceMappingURL=iconNames.js.map","/*\n * Copyright 2021 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __awaiter, __generator } from \"tslib\";\n/** Returns whether bundler-injected variable `NODE_ENV` equals `env`. */\nfunction isNodeEnv(env) {\n return typeof NODE_ENV !== \"undefined\" && NODE_ENV === env;\n}\n/**\n * Wraps an async task with a performance timer. Only logs to console in development.\n */\nexport function wrapWithTimer(taskDescription, task) {\n return __awaiter(this, void 0, void 0, function () {\n var shouldMeasure, start, time;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n shouldMeasure = isNodeEnv(\"development\") && typeof performance !== \"undefined\";\n /* eslint-disable no-console */\n if (shouldMeasure) {\n start = performance.now();\n console.info(\"Started '\".concat(taskDescription, \"'...\"));\n }\n return [4 /*yield*/, task()];\n case 1:\n _a.sent();\n if (shouldMeasure) {\n time = Math.round(performance.now() - start);\n console.info(\"Finished '\".concat(taskDescription, \"' in \").concat(time, \"ms\"));\n }\n return [2 /*return*/];\n }\n });\n });\n}\n//# sourceMappingURL=loaderUtils.js.map","/*\n * Copyright 2021 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __awaiter, __generator } from \"tslib\";\nimport { IconNames, IconNamesSet } from \"./iconNames\";\nimport { IconSize } from \"./iconTypes\";\nimport { wrapWithTimer } from \"./loaderUtils\";\nfunction getLoaderFn(options) {\n return __awaiter(this, void 0, void 0, function () {\n var _a, loader;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _a = options.loader, loader = _a === void 0 ? singleton.defaultLoader : _a;\n if (!(typeof loader === \"function\")) return [3 /*break*/, 1];\n return [2 /*return*/, loader];\n case 1:\n if (!(loader === \"all\")) return [3 /*break*/, 3];\n return [4 /*yield*/, import(\n /* webpackChunkName: \"blueprint-icons-all-paths-loader\" */\n \"./paths-loaders/allPathsLoader\")];\n case 2: return [2 /*return*/, (_b.sent()).allPathsLoader];\n case 3: return [4 /*yield*/, import(\n /* webpackChunkName: \"blueprint-icons-split-paths-by-size-loader\" */\n \"./paths-loaders/splitPathsBySizeLoader\")];\n case 4: return [2 /*return*/, (_b.sent()).splitPathsBySizeLoader];\n }\n });\n });\n}\n/**\n * Blueprint icons loader.\n */\nvar Icons = /** @class */ (function () {\n function Icons() {\n /** @internal */\n this.defaultLoader = \"split-by-size\";\n /** @internal */\n this.loadedIconPaths16 = new Map();\n /** @internal */\n this.loadedIconPaths20 = new Map();\n }\n /**\n * Set global icon loading options for all subsequent `Icons.load()` calls.\n */\n Icons.setLoaderOptions = function (options) {\n if (options.loader !== undefined) {\n singleton.defaultLoader = options.loader;\n }\n };\n Icons.load = function (icons, size, options) {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!Array.isArray(icons)) {\n icons = [icons];\n }\n return [4 /*yield*/, Promise.all(icons.map(function (icon) { return _this.loadImpl(icon, size, options); }))];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Load all available icons for use in Blueprint components.\n */\n Icons.loadAll = function (options) {\n return __awaiter(this, void 0, void 0, function () {\n var allIcons;\n var _this = this;\n return __generator(this, function (_a) {\n allIcons = Object.values(IconNames);\n wrapWithTimer(\"[Blueprint] loading all icons\", function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, Promise.all([\n this.load(allIcons, IconSize.STANDARD, options),\n this.load(allIcons, IconSize.LARGE, options),\n ])];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); });\n return [2 /*return*/];\n });\n });\n };\n /**\n * Get the icon SVG paths. Returns `undefined` if the icon has not been loaded yet.\n */\n Icons.getPaths = function (icon, size) {\n if (!this.isValidIconName(icon)) {\n // don't warn, since this.load() will have warned already\n return undefined;\n }\n var loadedIcons = size < IconSize.LARGE ? singleton.loadedIconPaths16 : singleton.loadedIconPaths20;\n return loadedIcons.get(icon);\n };\n Icons.loadImpl = function (icon, size, options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n var loadedIcons, loaderFn, supportedSize, paths, e_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!this.isValidIconName(icon)) {\n console.error(\"[Blueprint] Unknown icon '\".concat(icon, \"'\"));\n return [2 /*return*/];\n }\n loadedIcons = size < IconSize.LARGE ? singleton.loadedIconPaths16 : singleton.loadedIconPaths20;\n if (loadedIcons.has(icon)) {\n // already loaded, no-op\n return [2 /*return*/];\n }\n return [4 /*yield*/, getLoaderFn(options)];\n case 1:\n loaderFn = _a.sent();\n _a.label = 2;\n case 2:\n _a.trys.push([2, 4, , 5]);\n supportedSize = size < IconSize.LARGE ? IconSize.STANDARD : IconSize.LARGE;\n return [4 /*yield*/, loaderFn(icon, supportedSize)];\n case 3:\n paths = _a.sent();\n loadedIcons.set(icon, paths);\n return [3 /*break*/, 5];\n case 4:\n e_1 = _a.sent();\n console.error(\"[Blueprint] Unable to load \".concat(size, \"px icon '\").concat(icon, \"'\"), e_1);\n return [3 /*break*/, 5];\n case 5: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * @returns true if the given string is a valid {@link IconName}\n */\n Icons.isValidIconName = function (iconName) {\n return IconNamesSet.has(iconName);\n };\n return Icons;\n}());\nexport { Icons };\nvar singleton = new Icons();\n//# sourceMappingURL=iconLoader.js.map","/*\n * Copyright 2021 Palantir Technologies, Inc. All rights reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar NS = \"bp5\";\nexport var ICON = \"\".concat(NS, \"-icon\");\n//# sourceMappingURL=classes.js.map","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar uniqueCountForNamespace = new Map();\n/** Generate a unique ID within a given namespace, using a simple counter-based implementation to avoid collisions. */\nexport function uniqueId(namespace) {\n var _a;\n var curCount = (_a = uniqueCountForNamespace.get(namespace)) !== null && _a !== void 0 ? _a : 0;\n uniqueCountForNamespace.set(namespace, curCount + 1);\n return \"\".concat(namespace, \"-\").concat(curCount);\n}\n//# sourceMappingURL=jsUtils.js.map","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign, __rest } from \"tslib\";\nimport classNames from \"classnames\";\nimport * as React from \"react\";\nimport * as Classes from \"./classes\";\nimport { IconSize } from \"./iconTypes\";\nimport { uniqueId } from \"./jsUtils\";\n// eslint-disable-next-line prefer-arrow-callback\nexport var SVGIconContainer = React.forwardRef(function (props, ref) {\n var children = props.children, className = props.className, color = props.color, htmlTitle = props.htmlTitle, iconName = props.iconName, _a = props.size, size = _a === void 0 ? IconSize.STANDARD : _a, svgProps = props.svgProps, _b = props.tagName, tagName = _b === void 0 ? \"span\" : _b, title = props.title, htmlProps = __rest(props, [\"children\", \"className\", \"color\", \"htmlTitle\", \"iconName\", \"size\", \"svgProps\", \"tagName\", \"title\"]);\n var isLarge = size >= IconSize.LARGE;\n var pixelGridSize = isLarge ? IconSize.LARGE : IconSize.STANDARD;\n var viewBox = \"0 0 \".concat(pixelGridSize, \" \").concat(pixelGridSize);\n var titleId = uniqueId(\"iconTitle\");\n var sharedSvgProps = __assign({ \"data-icon\": iconName, fill: color, height: size, role: \"img\", viewBox: viewBox, width: size }, svgProps);\n if (tagName === null) {\n return (React.createElement(\"svg\", __assign({ \"aria-labelledby\": title ? titleId : undefined, ref: ref }, sharedSvgProps, htmlProps),\n title && React.createElement(\"title\", { id: titleId }, title),\n children));\n }\n else {\n return React.createElement(tagName, __assign(__assign({ \"aria-hidden\": title ? undefined : true }, htmlProps), { className: classNames(Classes.ICON, \"\".concat(Classes.ICON, \"-\").concat(iconName), className), ref: ref, title: htmlTitle }), React.createElement(\"svg\", __assign({}, sharedSvgProps),\n title && React.createElement(\"title\", null, title),\n children));\n }\n});\nSVGIconContainer.displayName = \"Blueprint5.SVGIconContainer\";\n//# sourceMappingURL=svgIconContainer.js.map","/*\n * Copyright 2021 Palantir Technologies, Inc. All rights reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign } from \"tslib\";\nimport * as React from \"react\";\nimport { IconSize } from \"../../iconTypes\";\nimport { SVGIconContainer } from \"../../svgIconContainer\";\nexport var CaretDown = React.forwardRef(function (props, ref) {\n var isLarge = props.size >= IconSize.LARGE;\n var pixelGridSize = isLarge ? IconSize.LARGE : IconSize.STANDARD;\n var translation = \"\".concat(-1 * pixelGridSize / 0.05 / 2);\n return (React.createElement(SVGIconContainer, __assign({ iconName: \"caret-down\", ref: ref }, props),\n React.createElement(\"path\", { d: isLarge ? \"M320 260C320 271 311 280 300 280H100C89 280 80 271 80 260C80 255.2 82 250.8 84.8 247.4L84.6 247.2L184.6 127.2L184.8 127.4C188.6 123 193.8 120 200 120S211.4 123 215.2 127.4L215.4 127.2L315.4 247.2L315.2 247.4C318 250.8 320 255.2 320 260z\" : \"M240 190C240 195.6 235.6 200 230 200H90C84.4 200 80 195.6 80 190C80 187.4 81 185.2 82.6 183.4C82.6 183.4 82.6 183.4 82.6 183.4L152.6 103.4L152.6 103.4C154.4 101.4 157 100 160 100S165.6 101.4 167.4 103.4L167.4 103.4L237.4 183.4L237.4 183.4C239 185.2 240 187.4 240 190z\", fillRule: \"evenodd\", \"transform-origin\": \"center\", transform: \"scale(0.05, -0.05) translate(\".concat(translation, \", \").concat(translation, \")\") })));\n});\nCaretDown.defaultProps = {\n size: IconSize.STANDARD,\n};\nCaretDown.displayName = \"Blueprint5.Icon.CaretDown\";\nexport default CaretDown;\n//# sourceMappingURL=caret-down.js.map","/*\n * Copyright 2021 Palantir Technologies, Inc. All rights reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign } from \"tslib\";\nimport * as React from \"react\";\nimport { IconSize } from \"../../iconTypes\";\nimport { SVGIconContainer } from \"../../svgIconContainer\";\nexport var CaretRight = React.forwardRef(function (props, ref) {\n var isLarge = props.size >= IconSize.LARGE;\n var pixelGridSize = isLarge ? IconSize.LARGE : IconSize.STANDARD;\n var translation = \"\".concat(-1 * pixelGridSize / 0.05 / 2);\n return (React.createElement(SVGIconContainer, __assign({ iconName: \"caret-right\", ref: ref }, props),\n React.createElement(\"path\", { d: isLarge ? \"M280 200C280 206.2 277 211.4 272.6 215.2L272.8 215.4L152.8 315.4L152.6 315.2C149.2 318 144.8 320 140 320C129 320 120 311 120 300V100C120 89 129 80 140 80C144.8 80 149.2 82 152.6 84.8L152.8 84.6L272.8 184.6L272.6 184.8C277 188.6 280 193.8 280 200z\" : \"M220 160C220 163 218.6 165.6 216.6 167.4L216.6 167.4L136.6 237.4L136.6 237.4C134.8 239 132.6 240 130 240C124.4 240 120 235.6 120 230V90C120 84.4 124.4 80 130 80C132.6 80 134.8 81 136.6 82.6C136.6 82.6 136.6 82.6 136.6 82.6L216.6 152.6L216.6 152.6C218.6 154.4 220 157 220 160z\", fillRule: \"evenodd\", \"transform-origin\": \"center\", transform: \"scale(0.05, -0.05) translate(\".concat(translation, \", \").concat(translation, \")\") })));\n});\nCaretRight.defaultProps = {\n size: IconSize.STANDARD,\n};\nCaretRight.displayName = \"Blueprint5.Icon.CaretRight\";\nexport default CaretRight;\n//# sourceMappingURL=caret-right.js.map","/*\n * Copyright 2021 Palantir Technologies, Inc. All rights reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign } from \"tslib\";\nimport * as React from \"react\";\nimport { IconSize } from \"../../iconTypes\";\nimport { SVGIconContainer } from \"../../svgIconContainer\";\nexport var ChevronDown = React.forwardRef(function (props, ref) {\n var isLarge = props.size >= IconSize.LARGE;\n var pixelGridSize = isLarge ? IconSize.LARGE : IconSize.STANDARD;\n var translation = \"\".concat(-1 * pixelGridSize / 0.05 / 2);\n return (React.createElement(SVGIconContainer, __assign({ iconName: \"chevron-down\", ref: ref }, props),\n React.createElement(\"path\", { d: isLarge ? \"M320 280C314.4000000000001 280 309.4000000000001 277.8 305.8 274.2L200 168.2L94.2 274.2C90.6 277.8 85.6 280 80 280C69 280 60 271 60 260C60 254.4 62.2 249.4 65.8 245.8L185.8 125.8C189.4 122.2 194.4 120 200 120S210.6 122.2 214.2 125.8L334.2000000000001 245.8C337.8 249.4 340 254.4 340 260C340 271 331 280 320 280z\" : \"M240 220C234.4 220 229.4 217.8 225.8 214.2L160 148.2L94.2 214.2C90.6 217.8 85.6 220 80 220C69 220 60 211 60 200C60 194.4 62.2 189.4 65.8 185.8L145.8 105.8C149.4 102.2 154.4 100 160 100S170.6 102.2 174.2 105.8L254.2 185.8C257.8 189.4 260 194.4 260 200C260 211 251 220 240 220z\", fillRule: \"evenodd\", \"transform-origin\": \"center\", transform: \"scale(0.05, -0.05) translate(\".concat(translation, \", \").concat(translation, \")\") })));\n});\nChevronDown.defaultProps = {\n size: IconSize.STANDARD,\n};\nChevronDown.displayName = \"Blueprint5.Icon.ChevronDown\";\nexport default ChevronDown;\n//# sourceMappingURL=chevron-down.js.map","/*\n * Copyright 2021 Palantir Technologies, Inc. All rights reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign } from \"tslib\";\nimport * as React from \"react\";\nimport { IconSize } from \"../../iconTypes\";\nimport { SVGIconContainer } from \"../../svgIconContainer\";\nexport var ChevronRight = React.forwardRef(function (props, ref) {\n var isLarge = props.size >= IconSize.LARGE;\n var pixelGridSize = isLarge ? IconSize.LARGE : IconSize.STANDARD;\n var translation = \"\".concat(-1 * pixelGridSize / 0.05 / 2);\n return (React.createElement(SVGIconContainer, __assign({ iconName: \"chevron-right\", ref: ref }, props),\n React.createElement(\"path\", { d: isLarge ? \"M274.2000000000001 214.2L154.2 334.2000000000001C150.6 337.8 145.6 340 140 340C129 340 120 331 120 320C120 314.4 122.2 309.4 125.8 305.8L231.8 200L126 94.2000000000001C122.2 90.6 120 85.6 120 80C120 69 129 60 140 60C145.6 60 150.6 62.2 154.2 65.8L274.2000000000001 185.8C277.8 189.4 280 194.4 280 200C280 205.6 277.8 210.6 274.2000000000001 214.2z\" : \"M214.2 174.2L134.2 254.2C130.6 257.8 125.6 260 120 260C109 260 100 251 100 240C100 234.4 102.2 229.4 105.8 225.8L171.8 160L106 94.2C102.2 90.6 100 85.6 100 80C100 69 109 60 120 60C125.6 60 130.6 62.2 134.2 65.8L214.2 145.8C217.8 149.4 220 154.4 220 160C220 165.6 217.8 170.6 214.2 174.2z\", fillRule: \"evenodd\", \"transform-origin\": \"center\", transform: \"scale(0.05, -0.05) translate(\".concat(translation, \", \").concat(translation, \")\") })));\n});\nChevronRight.defaultProps = {\n size: IconSize.STANDARD,\n};\nChevronRight.displayName = \"Blueprint5.Icon.ChevronRight\";\nexport default ChevronRight;\n//# sourceMappingURL=chevron-right.js.map","/*\n * Copyright 2021 Palantir Technologies, Inc. All rights reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign } from \"tslib\";\nimport * as React from \"react\";\nimport { IconSize } from \"../../iconTypes\";\nimport { SVGIconContainer } from \"../../svgIconContainer\";\nexport var ChevronUp = React.forwardRef(function (props, ref) {\n var isLarge = props.size >= IconSize.LARGE;\n var pixelGridSize = isLarge ? IconSize.LARGE : IconSize.STANDARD;\n var translation = \"\".concat(-1 * pixelGridSize / 0.05 / 2);\n return (React.createElement(SVGIconContainer, __assign({ iconName: \"chevron-up\", ref: ref }, props),\n React.createElement(\"path\", { d: isLarge ? \"M334.2000000000001 154.2L214.2 274.2000000000001C210.6 277.8 205.6 280 200 280S189.4 277.8 185.8 274.2L65.8 154.2C62.2 150.6 60 145.6 60 140C60 129 69 120 80 120C85.6 120 90.6 122.2 94.2 125.8L200 231.8L305.8 126C309.4000000000001 122.2 314.4000000000001 120 320 120C331 120 340 129 340 140C340 145.6 337.8 150.6 334.2000000000001 154.2z\" : \"M254.2 134.2L174.2 214.2C170.6 217.8 165.6 220 160 220S149.4 217.8 145.8 214.2L65.8 134.2C62.2 130.6 60 125.6 60 120C60 109 69 100 80 100C85.6 100 90.6 102.2 94.2 105.8L160 171.8L225.8 106C229.4 102.2 234.4 100 240 100C251 100 260 109 260 120C260 125.6 257.8 130.6 254.2 134.2z\", fillRule: \"evenodd\", \"transform-origin\": \"center\", transform: \"scale(0.05, -0.05) translate(\".concat(translation, \", \").concat(translation, \")\") })));\n});\nChevronUp.defaultProps = {\n size: IconSize.STANDARD,\n};\nChevronUp.displayName = \"Blueprint5.Icon.ChevronUp\";\nexport default ChevronUp;\n//# sourceMappingURL=chevron-up.js.map","/*\n * Copyright 2021 Palantir Technologies, Inc. All rights reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign } from \"tslib\";\nimport * as React from \"react\";\nimport { IconSize } from \"../../iconTypes\";\nimport { SVGIconContainer } from \"../../svgIconContainer\";\nexport var Cross = React.forwardRef(function (props, ref) {\n var isLarge = props.size >= IconSize.LARGE;\n var pixelGridSize = isLarge ? IconSize.LARGE : IconSize.STANDARD;\n var translation = \"\".concat(-1 * pixelGridSize / 0.05 / 2);\n return (React.createElement(SVGIconContainer, __assign({ iconName: \"cross\", ref: ref }, props),\n React.createElement(\"path\", { d: isLarge ? \"M228.2 200L314 285.8C317.8 289.4 320 294.4 320 300C320 311 311 320 300 320C294.4000000000001 320 289.4000000000001 317.8 285.8 314.2L200 228.2L114.2 314.2C110.6 317.8 105.6 320 100 320C89 320 80 311 80 300C80 294.4 82.2 289.4 85.8 285.8L171.8 200L86 114.2000000000001C82.2 110.6 80 105.6 80 100C80 89 89 80 100 80C105.6 80 110.6 82.2 114.2 85.8L200 171.8L285.8 86C289.4000000000001 82.2 294.4000000000001 80 300 80C311 80 320 89 320 100C320 105.6 317.8 110.6 314.2000000000001 114.2000000000001L228.2 200z\" : \"M188.2 160L254 225.8C257.8 229.4 260 234.4 260 240C260 251 251 260 240 260C234.4 260 229.4 257.8 225.8 254.2L160 188.2L94.2 254.2C90.6 257.8 85.6 260 80 260C69 260 60 251 60 240C60 234.4 62.2 229.4 65.8 225.8L131.8 160L66 94.2C62.2 90.6 60 85.6 60 80C60 69 69 60 80 60C85.6 60 90.6 62.2 94.2 65.8L160 131.8L225.8 66C229.4 62.2 234.4 60 240 60C251 60 260 69 260 80C260 85.6 257.8 90.6 254.2 94.2L188.2 160z\", fillRule: \"evenodd\", \"transform-origin\": \"center\", transform: \"scale(0.05, -0.05) translate(\".concat(translation, \", \").concat(translation, \")\") })));\n});\nCross.defaultProps = {\n size: IconSize.STANDARD,\n};\nCross.displayName = \"Blueprint5.Icon.Cross\";\nexport default Cross;\n//# sourceMappingURL=cross.js.map","/*\n * Copyright 2021 Palantir Technologies, Inc. All rights reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign } from \"tslib\";\nimport * as React from \"react\";\nimport { IconSize } from \"../../iconTypes\";\nimport { SVGIconContainer } from \"../../svgIconContainer\";\nexport var DoubleCaretVertical = React.forwardRef(function (props, ref) {\n var isLarge = props.size >= IconSize.LARGE;\n var pixelGridSize = isLarge ? IconSize.LARGE : IconSize.STANDARD;\n var translation = \"\".concat(-1 * pixelGridSize / 0.05 / 2);\n return (React.createElement(SVGIconContainer, __assign({ iconName: \"double-caret-vertical\", ref: ref }, props),\n React.createElement(\"path\", { d: isLarge ? \"M100 220H300C311 220 320 229 320 240C320 244.8 318 249.2 315.2 252.6L315.4 252.8L215.4 372.8L215.2 372.6C211.4 377 206.2 380 200 380S188.6 377 184.8 372.6L184.6 372.8L84.6 252.8L84.8 252.6C82 249.2 80 244.8 80 240C80 229 89 220 100 220zM300 180H100C89 180 80 171 80 160C80 155.2 82 150.8 84.8 147.4L84.6 147.2L184.6 27.2L184.8 27.4C188.6 23 193.8 20 200 20S211.4 23 215.2 27.4L215.4 27.2L315.4 147.2L315.2 147.4C318 150.8 320 155.2 320 160C320 171 311 180 300 180z\" : \"M100 180H220C231 180 240 189 240 200C240 205.6 237.8 210.6 234.2 214.2L174.2 274.2C170.6 277.8 165.6 280 160 280S149.4 277.8 145.8 274.2L85.8 214.2C82.2 210.6 80 205.6 80 200C80 189 89 180 100 180zM220 140H100C89 140 80 131 80 120C80 114.4 82.2 109.4 85.8 105.8L145.8 45.8C149.4 42.2 154.4 40 160 40S170.6 42.2 174.2 45.8L234.2 105.8C237.8 109.4 240 114.4 240 120C240 131 231 140 220 140z\", fillRule: \"evenodd\", \"transform-origin\": \"center\", transform: \"scale(0.05, -0.05) translate(\".concat(translation, \", \").concat(translation, \")\") })));\n});\nDoubleCaretVertical.defaultProps = {\n size: IconSize.STANDARD,\n};\nDoubleCaretVertical.displayName = \"Blueprint5.Icon.DoubleCaretVertical\";\nexport default DoubleCaretVertical;\n//# sourceMappingURL=double-caret-vertical.js.map","/*\n * Copyright 2021 Palantir Technologies, Inc. All rights reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign } from \"tslib\";\nimport * as React from \"react\";\nimport { IconSize } from \"../../iconTypes\";\nimport { SVGIconContainer } from \"../../svgIconContainer\";\nexport var Search = React.forwardRef(function (props, ref) {\n var isLarge = props.size >= IconSize.LARGE;\n var pixelGridSize = isLarge ? IconSize.LARGE : IconSize.STANDARD;\n var translation = \"\".concat(-1 * pixelGridSize / 0.05 / 2);\n return (React.createElement(SVGIconContainer, __assign({ iconName: \"search\", ref: ref }, props),\n React.createElement(\"path\", { d: isLarge ? \"M391.2 51.2L292.4 150C309.8 175.8 320 206.6 320 240C320 328.4 248.4 400 160 400S0 328.4 0 240S71.6 80 160 80C193.4 80 224.2 90.2 250 107.6L348.8 8.8C354.2000000000001 3.4 361.8 0 370 0C386.6 0 400 13.4 400 30C400 38.2 396.6 45.8 391.2 51.2zM160 120C93.8 120 40 173.8 40 240S93.8 360 160 360S280 306.2000000000001 280 240S226.2 120 160 120z\" : \"M311 51.4L257.6 105C271.6 126.8 279.8 152.6 279.8 180.2C279.8 257.6 217.2 320.2 139.8 320.2S-0.2 257.6 -0.2 180.2S62.4 40.2 139.8 40.2C167.6 40.2 193.4 48.6 215 62.4L268.6 9C274 3.6 281.6 0.2 289.8 0.2C306.4 0.2 319.8 13.6 319.8 30.2C319.8 38.4 316.4 46 311 51.4zM139.8 80.2C84.6 80.2 39.8 125 39.8 180.2S84.6 280.2 139.8 280.2S239.8 235.4 239.8 180.2S195 80.2 139.8 80.2z\", fillRule: \"evenodd\", \"transform-origin\": \"center\", transform: \"scale(0.05, -0.05) translate(\".concat(translation, \", \").concat(translation, \")\") })));\n});\nSearch.defaultProps = {\n size: IconSize.STANDARD,\n};\nSearch.displayName = \"Blueprint5.Icon.Search\";\nexport default Search;\n//# sourceMappingURL=search.js.map","/*\n * Copyright 2021 Palantir Technologies, Inc. All rights reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign } from \"tslib\";\nimport * as React from \"react\";\nimport { IconSize } from \"../../iconTypes\";\nimport { SVGIconContainer } from \"../../svgIconContainer\";\nexport var SmallTick = React.forwardRef(function (props, ref) {\n var isLarge = props.size >= IconSize.LARGE;\n var pixelGridSize = isLarge ? IconSize.LARGE : IconSize.STANDARD;\n var translation = \"\".concat(-1 * pixelGridSize / 0.05 / 2);\n return (React.createElement(SVGIconContainer, __assign({ iconName: \"small-tick\", ref: ref }, props),\n React.createElement(\"path\", { d: isLarge ? \"M300 300C294.4000000000001 300 289.4000000000001 297.8 285.8 294.2L160 168.2L114.2 214.2C110.6 217.8 105.6 220 100 220C89 220 80 211 80 200C80 194.4 82.2 189.4 85.8 185.8L145.8 125.8C149.4 122.2 154.4 120 160 120S170.6 122.2 174.2 125.8L314.2000000000001 265.8C317.8 269.4 320 274.4 320 280C320 291 311 300 300 300z\" : \"M240 220C234.4 220 229.4 217.8 225.8 214.2L140 128.2L94.2 174.2C90.6 177.8 85.6 180 80 180C69 180 60 171 60 160C60 154.4 62.2 149.4 65.8 145.8L125.8 85.8C129.4 82.2 134.4 80 140 80S150.6 82.2 154.2 85.8L254.2 185.8C257.8 189.4 260 194.4 260 200C260 211 251 220 240 220z\", fillRule: \"evenodd\", \"transform-origin\": \"center\", transform: \"scale(0.05, -0.05) translate(\".concat(translation, \", \").concat(translation, \")\") })));\n});\nSmallTick.defaultProps = {\n size: IconSize.STANDARD,\n};\nSmallTick.displayName = \"Blueprint5.Icon.SmallTick\";\nexport default SmallTick;\n//# sourceMappingURL=small-tick.js.map","/*\n * Copyright 2017 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign, __rest } from \"tslib\";\nimport classNames from \"classnames\";\nimport * as React from \"react\";\nimport { Icons, IconSize, SVGIconContainer, } from \"@blueprintjs/icons\";\nimport { Classes, DISPLAYNAME_PREFIX, removeNonHTMLProps, } from \"../../common\";\n// re-export for convenience, since some users won't be importing from or have a direct dependency on the icons package\nexport { IconSize };\n/**\n * Icon component.\n *\n * @see https://blueprintjs.com/docs/#core/components/icon\n */\n// eslint-disable-next-line prefer-arrow-callback\nexport var Icon = React.forwardRef(function (props, ref) {\n var _a, _b;\n var autoLoad = props.autoLoad, className = props.className, color = props.color, icon = props.icon, intent = props.intent, tagName = props.tagName, svgProps = props.svgProps, title = props.title, htmlTitle = props.htmlTitle, htmlProps = __rest(props, [\"autoLoad\", \"className\", \"color\", \"icon\", \"intent\", \"tagName\", \"svgProps\", \"title\", \"htmlTitle\"]);\n // Preserve Blueprint v4.x behavior: iconSize prop takes predecence, then size prop, then fall back to default value\n // eslint-disable-next-line deprecation/deprecation\n var size = (_b = (_a = props.iconSize) !== null && _a !== void 0 ? _a : props.size) !== null && _b !== void 0 ? _b : IconSize.STANDARD;\n var _c = React.useState(function () {\n return typeof icon === \"string\" ? Icons.getPaths(icon, size) : undefined;\n }), iconPaths = _c[0], setIconPaths = _c[1];\n React.useEffect(function () {\n var shouldCancelIconLoading = false;\n if (typeof icon === \"string\") {\n // The icon may have been loaded already, in which case we can simply grab it.\n // N.B. when `autoLoad={true}`, we can't rely on simply calling Icons.load() here to re-load an icon module\n // which has already been loaded & cached, since it may have been loaded with special loading options which\n // this component knows nothing about.\n var loadedIconPaths = Icons.getPaths(icon, size);\n if (loadedIconPaths !== undefined) {\n setIconPaths(loadedIconPaths);\n }\n else if (autoLoad) {\n Icons.load(icon, size)\n .then(function () {\n // if this effect expired by the time icon loaded, then don't set state\n if (!shouldCancelIconLoading) {\n setIconPaths(Icons.getPaths(icon, size));\n }\n })\n .catch(function (reason) {\n console.error(\"[Blueprint] Icon '\".concat(icon, \"' (\").concat(size, \"px) could not be loaded.\"), reason);\n });\n }\n else {\n console.error(\"[Blueprint] Icon '\".concat(icon, \"' (\").concat(size, \"px) is not loaded yet and autoLoad={false}, did you call Icons.load('\").concat(icon, \"', \").concat(size, \")?\"));\n }\n }\n return function () {\n shouldCancelIconLoading = true;\n };\n }, [autoLoad, icon, size]);\n if (icon == null || typeof icon === \"boolean\") {\n return null;\n }\n else if (typeof icon !== \"string\") {\n return icon;\n }\n if (iconPaths == null) {\n // fall back to icon font if unloaded or unable to load SVG implementation\n var sizeClass = size === IconSize.STANDARD\n ? Classes.ICON_STANDARD\n : size === IconSize.LARGE\n ? Classes.ICON_LARGE\n : undefined;\n return React.createElement(tagName, __assign(__assign({ \"aria-hidden\": title ? undefined : true }, removeNonHTMLProps(htmlProps)), { className: classNames(Classes.ICON, sizeClass, Classes.iconClass(icon), Classes.intentClass(intent), className), \"data-icon\": icon, ref: ref, title: htmlTitle }));\n }\n else {\n var pathElements = iconPaths.map(function (d, i) { return React.createElement(\"path\", { d: d, key: i, fillRule: \"evenodd\" }); });\n // HACKHACK: there is no good way to narrow the type of SVGIconContainerProps here because of the use\n // of a conditional type within the type union that defines that interface. So we cast to <any>.\n // see https://github.com/microsoft/TypeScript/issues/24929, https://github.com/microsoft/TypeScript/issues/33014\n return (React.createElement(SVGIconContainer, __assign({ children: pathElements, \n // don't forward Classes.iconClass(icon) here, since the container will render that class\n className: classNames(Classes.intentClass(intent), className), color: color, htmlTitle: htmlTitle, iconName: icon, ref: ref, size: size, svgProps: svgProps, tagName: tagName, title: title }, removeNonHTMLProps(htmlProps))));\n }\n});\nIcon.defaultProps = {\n autoLoad: true,\n tagName: \"span\",\n};\nIcon.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".Icon\");\n//# sourceMappingURL=icon.js.map","/*\n * Copyright 2015 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign, __extends, __rest } from \"tslib\";\nimport classNames from \"classnames\";\nimport * as React from \"react\";\nimport { AbstractPureComponent, Classes } from \"../../common\";\nimport { SPINNER_WARN_CLASSES_SIZE } from \"../../common/errors\";\nimport { DISPLAYNAME_PREFIX } from \"../../common/props\";\nimport { clamp } from \"../../common/utils\";\nexport var SpinnerSize;\n(function (SpinnerSize) {\n SpinnerSize[SpinnerSize[\"SMALL\"] = 20] = \"SMALL\";\n SpinnerSize[SpinnerSize[\"STANDARD\"] = 50] = \"STANDARD\";\n SpinnerSize[SpinnerSize[\"LARGE\"] = 100] = \"LARGE\";\n})(SpinnerSize || (SpinnerSize = {}));\n// see http://stackoverflow.com/a/18473154/3124288 for calculating arc path\nvar R = 45;\nvar SPINNER_TRACK = \"M 50,50 m 0,-\".concat(R, \" a \").concat(R, \",\").concat(R, \" 0 1 1 0,\").concat(R * 2, \" a \").concat(R, \",\").concat(R, \" 0 1 1 0,-\").concat(R * 2);\n// unitless total length of SVG path, to which stroke-dash* properties are relative.\n// https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/pathLength\n// this value is the result of `<path d={SPINNER_TRACK} />.getTotalLength()` and works in all browsers:\nvar PATH_LENGTH = 280;\nvar MIN_SIZE = 10;\nvar STROKE_WIDTH = 4;\nvar MIN_STROKE_WIDTH = 16;\n/**\n * Spinner component.\n *\n * @see https://blueprintjs.com/docs/#core/components/spinner\n */\nvar Spinner = /** @class */ (function (_super) {\n __extends(Spinner, _super);\n function Spinner() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Spinner.prototype.componentDidUpdate = function (prevProps) {\n if (prevProps.value !== this.props.value) {\n // IE/Edge: re-render after changing value to force SVG update\n this.forceUpdate();\n }\n };\n Spinner.prototype.render = function () {\n var _a;\n var _b = this.props, className = _b.className, intent = _b.intent, value = _b.value, _c = _b.tagName, tagName = _c === void 0 ? \"div\" : _c, htmlProps = __rest(_b, [\"className\", \"intent\", \"value\", \"tagName\"]);\n var size = this.getSize();\n var classes = classNames(Classes.SPINNER, Classes.intentClass(intent), (_a = {}, _a[Classes.SPINNER_NO_SPIN] = value != null, _a), className);\n // keep spinner track width consistent at all sizes (down to about 10px).\n var strokeWidth = Math.min(MIN_STROKE_WIDTH, (STROKE_WIDTH * SpinnerSize.LARGE) / size);\n var strokeOffset = PATH_LENGTH - PATH_LENGTH * (value == null ? 0.25 : clamp(value, 0, 1));\n // multiple DOM elements around SVG are necessary to properly isolate animation:\n // - SVG elements in IE do not support anim/trans so they must be set on a parent HTML element.\n // - SPINNER_ANIMATION isolates svg from parent display and is always centered inside root element.\n return React.createElement(tagName, __assign({ \"aria-label\": \"loading\", \"aria-valuemax\": 100, \"aria-valuemin\": 0, \"aria-valuenow\": value === undefined ? undefined : value * 100, className: classes, role: \"progressbar\" }, htmlProps), React.createElement(tagName, { className: Classes.SPINNER_ANIMATION }, React.createElement(\"svg\", { width: size, height: size, strokeWidth: strokeWidth.toFixed(2), viewBox: this.getViewBox(strokeWidth) },\n React.createElement(\"path\", { className: Classes.SPINNER_TRACK, d: SPINNER_TRACK }),\n React.createElement(\"path\", { className: Classes.SPINNER_HEAD, d: SPINNER_TRACK, pathLength: PATH_LENGTH, strokeDasharray: \"\".concat(PATH_LENGTH, \" \").concat(PATH_LENGTH), strokeDashoffset: strokeOffset }))));\n };\n Spinner.prototype.validateProps = function (_a) {\n var _b = _a.className, className = _b === void 0 ? \"\" : _b, size = _a.size;\n if (size != null && (className.indexOf(Classes.SMALL) >= 0 || className.indexOf(Classes.LARGE) >= 0)) {\n console.warn(SPINNER_WARN_CLASSES_SIZE);\n }\n };\n /**\n * Resolve size to a pixel value.\n * Size can be set by className, props, default, or minimum constant.\n */\n Spinner.prototype.getSize = function () {\n var _a = this.props, _b = _a.className, className = _b === void 0 ? \"\" : _b, size = _a.size;\n if (size == null) {\n // allow Classes constants to determine default size.\n if (className.indexOf(Classes.SMALL) >= 0) {\n return SpinnerSize.SMALL;\n }\n else if (className.indexOf(Classes.LARGE) >= 0) {\n return SpinnerSize.LARGE;\n }\n return SpinnerSize.STANDARD;\n }\n return Math.max(MIN_SIZE, size);\n };\n /** Compute viewbox such that stroked track sits exactly at edge of image frame. */\n Spinner.prototype.getViewBox = function (strokeWidth) {\n var radius = R + strokeWidth / 2;\n var viewBoxX = (50 - radius).toFixed(2);\n var viewBoxWidth = (radius * 2).toFixed(2);\n return \"\".concat(viewBoxX, \" \").concat(viewBoxX, \" \").concat(viewBoxWidth, \" \").concat(viewBoxWidth);\n };\n Spinner.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".Spinner\");\n return Spinner;\n}(AbstractPureComponent));\nexport { Spinner };\n//# sourceMappingURL=spinner.js.map","/*\n * Copyright 2017 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign, __rest } from \"tslib\";\nimport classNames from \"classnames\";\nimport * as React from \"react\";\nimport { Classes, mergeRefs } from \"../../common\";\nimport { DISPLAYNAME_PREFIX } from \"../../common/props\";\n/**\n * Text component.\n *\n * @see https://blueprintjs.com/docs/#core/components/text\n */\nexport var Text = React.forwardRef(function (_a, forwardedRef) {\n var _b;\n var children = _a.children, _c = _a.tagName, tagName = _c === void 0 ? \"div\" : _c, title = _a.title, className = _a.className, ellipsize = _a.ellipsize, htmlProps = __rest(_a, [\"children\", \"tagName\", \"title\", \"className\", \"ellipsize\"]);\n var contentMeasuringRef = React.useRef();\n var textRef = React.useMemo(function () { return mergeRefs(contentMeasuringRef, forwardedRef); }, [forwardedRef]);\n var _d = React.useState(\"\"), textContent = _d[0], setTextContent = _d[1];\n var _e = React.useState(), isContentOverflowing = _e[0], setIsContentOverflowing = _e[1];\n // try to be conservative about running this effect, since querying scrollWidth causes the browser to reflow / recalculate styles,\n // which can be very expensive for long lists (for example, in long Menus)\n React.useLayoutEffect(function () {\n var _a;\n if (((_a = contentMeasuringRef.current) === null || _a === void 0 ? void 0 : _a.textContent) != null) {\n setIsContentOverflowing(ellipsize && contentMeasuringRef.current.scrollWidth > contentMeasuringRef.current.clientWidth);\n setTextContent(contentMeasuringRef.current.textContent);\n }\n }, [contentMeasuringRef, children, ellipsize]);\n return React.createElement(tagName, __assign(__assign({}, htmlProps), { className: classNames((_b = {},\n _b[Classes.TEXT_OVERFLOW_ELLIPSIS] = ellipsize,\n _b), className), ref: textRef, title: title !== null && title !== void 0 ? title : (isContentOverflowing ? textContent : undefined) }), children);\n});\nText.defaultProps = {\n ellipsize: false,\n};\nText.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".Text\");\n//# sourceMappingURL=text.js.map","/*\n * Copyright 2016 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign } from \"tslib\";\nimport classNames from \"classnames\";\nimport * as React from \"react\";\nimport { Classes, Utils } from \"../../common\";\nimport { DISPLAYNAME_PREFIX, removeNonHTMLProps } from \"../../common/props\";\nimport { mergeRefs } from \"../../common/refs\";\nimport { Icon } from \"../icon/icon\";\nimport { Spinner, SpinnerSize } from \"../spinner/spinner\";\nimport { Text } from \"../text/text\";\n/**\n * Button component.\n *\n * @see https://blueprintjs.com/docs/#core/components/button\n */\nexport var Button = React.forwardRef(function (props, ref) {\n var commonAttributes = useSharedButtonAttributes(props, ref);\n return (React.createElement(\"button\", __assign({ type: \"button\" }, removeNonHTMLProps(props), commonAttributes), renderButtonContents(props)));\n});\nButton.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".Button\");\n/**\n * AnchorButton component.\n *\n * @see https://blueprintjs.com/docs/#core/components/button\n */\nexport var AnchorButton = React.forwardRef(function (props, ref) {\n var href = props.href, _a = props.tabIndex, tabIndex = _a === void 0 ? 0 : _a;\n var commonProps = useSharedButtonAttributes(props, ref);\n return (React.createElement(\"a\", __assign({ role: \"button\" }, removeNonHTMLProps(props), commonProps, { \"aria-disabled\": commonProps.disabled, href: commonProps.disabled ? undefined : href, tabIndex: commonProps.disabled ? -1 : tabIndex }), renderButtonContents(props)));\n});\nAnchorButton.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".AnchorButton\");\n/**\n * Most of the button logic lives in this shared hook.\n */\nfunction useSharedButtonAttributes(props, ref) {\n var _a;\n var _b = props.active, active = _b === void 0 ? false : _b, alignText = props.alignText, fill = props.fill, large = props.large, _c = props.loading, loading = _c === void 0 ? false : _c, minimal = props.minimal, onBlur = props.onBlur, onKeyDown = props.onKeyDown, onKeyUp = props.onKeyUp, outlined = props.outlined, small = props.small, tabIndex = props.tabIndex;\n var disabled = props.disabled || loading;\n // the current key being pressed\n var _d = React.useState(), currentKeyPressed = _d[0], setCurrentKeyPressed = _d[1];\n // whether the button is in \"active\" state\n var _e = React.useState(false), isActive = _e[0], setIsActive = _e[1];\n // our local ref for the button element, merged with the consumer's own ref (if supplied) in this hook's return value\n var buttonRef = React.useRef(null);\n var handleBlur = React.useCallback(function (e) {\n if (isActive) {\n setIsActive(false);\n }\n onBlur === null || onBlur === void 0 ? void 0 : onBlur(e);\n }, [isActive, onBlur]);\n var handleKeyDown = React.useCallback(function (e) {\n if (Utils.isKeyboardClick(e)) {\n e.preventDefault();\n if (e.key !== currentKeyPressed) {\n setIsActive(true);\n }\n }\n setCurrentKeyPressed(e.key);\n onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(e);\n }, [currentKeyPressed, onKeyDown]);\n var handleKeyUp = React.useCallback(function (e) {\n var _a;\n if (Utils.isKeyboardClick(e)) {\n setIsActive(false);\n (_a = buttonRef.current) === null || _a === void 0 ? void 0 : _a.click();\n }\n setCurrentKeyPressed(undefined);\n onKeyUp === null || onKeyUp === void 0 ? void 0 : onKeyUp(e);\n }, [onKeyUp]);\n var className = classNames(Classes.BUTTON, (_a = {},\n _a[Classes.ACTIVE] = !disabled && (active || isActive),\n _a[Classes.DISABLED] = disabled,\n _a[Classes.FILL] = fill,\n _a[Classes.LARGE] = large,\n _a[Classes.LOADING] = loading,\n _a[Classes.MINIMAL] = minimal,\n _a[Classes.OUTLINED] = outlined,\n _a[Classes.SMALL] = small,\n _a), Classes.alignmentClass(alignText), Classes.intentClass(props.intent), props.className);\n return {\n className: className,\n disabled: disabled,\n onBlur: handleBlur,\n onClick: disabled ? undefined : props.onClick,\n onFocus: disabled ? undefined : props.onFocus,\n onKeyDown: handleKeyDown,\n onKeyUp: handleKeyUp,\n ref: mergeRefs(buttonRef, ref),\n tabIndex: disabled ? -1 : tabIndex,\n };\n}\n/**\n * Shared rendering code for button contents.\n */\nfunction renderButtonContents(props) {\n var children = props.children, ellipsizeText = props.ellipsizeText, icon = props.icon, loading = props.loading, rightIcon = props.rightIcon, text = props.text, textClassName = props.textClassName;\n var hasTextContent = !Utils.isReactNodeEmpty(text) || !Utils.isReactNodeEmpty(children);\n return (React.createElement(React.Fragment, null,\n loading && React.createElement(Spinner, { key: \"loading\", className: Classes.BUTTON_SPINNER, size: SpinnerSize.SMALL }),\n React.createElement(Icon, { key: \"leftIcon\", icon: icon }),\n hasTextContent && (React.createElement(Text, { key: \"text\", className: classNames(Classes.BUTTON_TEXT, textClassName), ellipsize: ellipsizeText, tagName: \"span\" },\n text,\n children)\n // <span key=\"text\" className={classNames(Classes.BUTTON_TEXT, textClassName)}>\n // {text}\n // {children}\n // </span>\n ),\n React.createElement(Icon, { key: \"rightIcon\", icon: rightIcon })));\n}\n//# sourceMappingURL=buttons.js.map","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","/**\n * Checks if a given element has a CSS class.\n * \n * @param element the element\n * @param className the CSS class name\n */\nexport default function hasClass(element, className) {\n if (element.classList) return !!className && element.classList.contains(className);\n return (\" \" + (element.className.baseVal || element.className) + \" \").indexOf(\" \" + className + \" \") !== -1;\n}","import hasClass from './hasClass';\n/**\n * Adds a CSS class to a given element.\n * \n * @param element the element\n * @param className the CSS class name\n */\n\nexport default function addClass(element, className) {\n if (element.classList) element.classList.add(className);else if (!hasClass(element, className)) if (typeof element.className === 'string') element.className = element.className + \" \" + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + \" \" + className);\n}","function replaceClassName(origClass, classToRemove) {\n return origClass.replace(new RegExp(\"(^|\\\\s)\" + classToRemove + \"(?:\\\\s|$)\", 'g'), '$1').replace(/\\s+/g, ' ').replace(/^\\s*|\\s*$/g, '');\n}\n/**\n * Removes a CSS class from a given element.\n * \n * @param element the element\n * @param className the CSS class name\n */\n\n\nexport default function removeClass(element, className) {\n if (element.classList) {\n element.classList.remove(className);\n } else if (typeof element.className === 'string') {\n element.className = replaceClassName(element.className, className);\n } else {\n element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));\n }\n}","export default {\n disabled: false\n};","import React from 'react';\nexport default React.createContext(null);","export var forceReflow = function forceReflow(node) {\n return node.scrollTop;\n};","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport config from './config';\nimport { timeoutsShape } from './utils/PropTypes';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { forceReflow } from './utils/reflow';\nexport var UNMOUNTED = 'unmounted';\nexport var EXITED = 'exited';\nexport var ENTERING = 'entering';\nexport var ENTERED = 'entered';\nexport var EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 1 },\n * entered: { opacity: 1 },\n * exiting: { opacity: 0 },\n * exited: { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * <Transition in={inProp} timeout={duration}>\n * {state => (\n * <div style={{\n * ...defaultStyle,\n * ...transitionStyles[state]\n * }}>\n * I'm a fade Transition!\n * </div>\n * )}\n * </Transition>\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n * <div>\n * <Transition in={inProp} timeout={500}>\n * {state => (\n * // ...\n * )}\n * </Transition>\n * <button onClick={() => setInProp(true)}>\n * Click to Enter\n * </button>\n * </div>\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n } // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n ;\n\n var _proto = Transition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n if (nextStatus === ENTERING) {\n if (this.props.unmountOnExit || this.props.mountOnEnter) {\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this); // https://github.com/reactjs/react-transition-group/pull/749\n // With unmountOnExit or mountOnEnter, the enter animation should happen at the transition between `exited` and `entering`.\n // To make the animation happen, we have to separate each rendering and avoid being processed as batched.\n\n if (node) forceReflow(node);\n }\n\n this.performEnter(mounting);\n } else {\n this.performExit();\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n\n var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n maybeNode = _ref2[0],\n maybeAppearing = _ref2[1];\n\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter || config.disabled) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode);\n });\n return;\n }\n\n this.props.onEnter(maybeNode, maybeAppearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(maybeNode, maybeAppearing);\n\n _this2.onTransitionEnd(enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode, maybeAppearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit() {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts();\n var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n if (!exit || config.disabled) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n return;\n }\n\n this.props.onExit(maybeNode);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(maybeNode);\n\n _this3.onTransitionEnd(timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n this.setNextCallback(handler);\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n maybeNode = _ref3[0],\n maybeNextCallback = _ref3[1];\n\n this.props.addEndListener(maybeNode, maybeNextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n _in = _this$props.in,\n _mountOnEnter = _this$props.mountOnEnter,\n _unmountOnExit = _this$props.unmountOnExit,\n _appear = _this$props.appear,\n _enter = _this$props.enter,\n _exit = _this$props.exit,\n _timeout = _this$props.timeout,\n _addEndListener = _this$props.addEndListener,\n _onEnter = _this$props.onEnter,\n _onEntering = _this$props.onEntering,\n _onEntered = _this$props.onEntered,\n _onExit = _this$props.onExit,\n _onExiting = _this$props.onExiting,\n _onExited = _this$props.onExited,\n _nodeRef = _this$props.nodeRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n return (\n /*#__PURE__*/\n // allows for nested Transitions\n React.createElement(TransitionGroupContext.Provider, {\n value: null\n }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n );\n };\n\n return Transition;\n}(React.Component);\n\nTransition.contextType = TransitionGroupContext;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A React reference to DOM element that need to transition:\n * https://stackoverflow.com/a/51127130/4671932\n *\n * - When `nodeRef` prop is used, `node` is not passed to callback functions\n * (e.g. `onEnter`) because user already has direct access to the node.\n * - When changing `key` prop of `Transition` in a `TransitionGroup` a new\n * `nodeRef` need to be provided to `Transition` with changed `key` prop\n * (see\n * [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).\n */\n nodeRef: PropTypes.shape({\n current: typeof Element === 'undefined' ? PropTypes.any : function (propValue, key, componentName, location, propFullName, secret) {\n var value = propValue[key];\n return PropTypes.instanceOf(value && 'ownerDocument' in value ? value.ownerDocument.defaultView.Element : Element)(propValue, key, componentName, location, propFullName, secret);\n }\n }),\n\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * <Transition in={this.state.in} timeout={150}>\n * {state => (\n * <MyComponent className={`fade fade-${state}`} />\n * )}\n * </Transition>\n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * By default the child component does not perform the enter transition when\n * it first mounts, regardless of the value of `in`. If you want this\n * behavior, set both `appear` and `in` to `true`.\n *\n * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop\n * > only adds an additional enter transition. However, in the\n * > `<CSSTransition>` component that first enter transition does result in\n * > additional `.appear-*` classes, that way you can choose to style it\n * > differently.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. Timeouts are still used as a fallback if provided.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func\n} : {}; // Name the function so it is clearer in the documentation\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport addOneClass from 'dom-helpers/addClass';\nimport removeOneClass from 'dom-helpers/removeClass';\nimport React from 'react';\nimport Transition from './Transition';\nimport { classNamesShape } from './utils/PropTypes';\nimport { forceReflow } from './utils/reflow';\n\nvar _addClass = function addClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return addOneClass(node, c);\n });\n};\n\nvar removeClass = function removeClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return removeOneClass(node, c);\n });\n};\n/**\n * A transition component inspired by the excellent\n * [ng-animate](https://docs.angularjs.org/api/ngAnimate) library, you should\n * use it if you're using CSS transitions or animations. It's built upon the\n * [`Transition`](https://reactcommunity.org/react-transition-group/transition)\n * component, so it inherits all of its props.\n *\n * `CSSTransition` applies a pair of class names during the `appear`, `enter`,\n * and `exit` states of the transition. The first class is applied and then a\n * second `*-active` class in order to activate the CSS transition. After the\n * transition, matching `*-done` class names are applied to persist the\n * transition state.\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n * <div>\n * <CSSTransition in={inProp} timeout={200} classNames=\"my-node\">\n * <div>\n * {\"I'll receive my-node-* classes\"}\n * </div>\n * </CSSTransition>\n * <button type=\"button\" onClick={() => setInProp(true)}>\n * Click to Enter\n * </button>\n * </div>\n * );\n * }\n * ```\n *\n * When the `in` prop is set to `true`, the child component will first receive\n * the class `example-enter`, then the `example-enter-active` will be added in\n * the next tick. `CSSTransition` [forces a\n * reflow](https://github.com/reactjs/react-transition-group/blob/5007303e729a74be66a21c3e2205e4916821524b/src/CSSTransition.js#L208-L215)\n * between before adding the `example-enter-active`. This is an important trick\n * because it allows us to transition between `example-enter` and\n * `example-enter-active` even though they were added immediately one after\n * another. Most notably, this is what makes it possible for us to animate\n * _appearance_.\n *\n * ```css\n * .my-node-enter {\n * opacity: 0;\n * }\n * .my-node-enter-active {\n * opacity: 1;\n * transition: opacity 200ms;\n * }\n * .my-node-exit {\n * opacity: 1;\n * }\n * .my-node-exit-active {\n * opacity: 0;\n * transition: opacity 200ms;\n * }\n * ```\n *\n * `*-active` classes represent which styles you want to animate **to**, so it's\n * important to add `transition` declaration only to them, otherwise transitions\n * might not behave as intended! This might not be obvious when the transitions\n * are symmetrical, i.e. when `*-enter-active` is the same as `*-exit`, like in\n * the example above (minus `transition`), but it becomes apparent in more\n * complex transitions.\n *\n * **Note**: If you're using the\n * [`appear`](http://reactcommunity.org/react-transition-group/transition#Transition-prop-appear)\n * prop, make sure to define styles for `.appear-*` classes as well.\n */\n\n\nvar CSSTransition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(CSSTransition, _React$Component);\n\n function CSSTransition() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.appliedClasses = {\n appear: {},\n enter: {},\n exit: {}\n };\n\n _this.onEnter = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument[0],\n appearing = _this$resolveArgument[1];\n\n _this.removeClasses(node, 'exit');\n\n _this.addClass(node, appearing ? 'appear' : 'enter', 'base');\n\n if (_this.props.onEnter) {\n _this.props.onEnter(maybeNode, maybeAppearing);\n }\n };\n\n _this.onEntering = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument2 = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument2[0],\n appearing = _this$resolveArgument2[1];\n\n var type = appearing ? 'appear' : 'enter';\n\n _this.addClass(node, type, 'active');\n\n if (_this.props.onEntering) {\n _this.props.onEntering(maybeNode, maybeAppearing);\n }\n };\n\n _this.onEntered = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument3 = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument3[0],\n appearing = _this$resolveArgument3[1];\n\n var type = appearing ? 'appear' : 'enter';\n\n _this.removeClasses(node, type);\n\n _this.addClass(node, type, 'done');\n\n if (_this.props.onEntered) {\n _this.props.onEntered(maybeNode, maybeAppearing);\n }\n };\n\n _this.onExit = function (maybeNode) {\n var _this$resolveArgument4 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument4[0];\n\n _this.removeClasses(node, 'appear');\n\n _this.removeClasses(node, 'enter');\n\n _this.addClass(node, 'exit', 'base');\n\n if (_this.props.onExit) {\n _this.props.onExit(maybeNode);\n }\n };\n\n _this.onExiting = function (maybeNode) {\n var _this$resolveArgument5 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument5[0];\n\n _this.addClass(node, 'exit', 'active');\n\n if (_this.props.onExiting) {\n _this.props.onExiting(maybeNode);\n }\n };\n\n _this.onExited = function (maybeNode) {\n var _this$resolveArgument6 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument6[0];\n\n _this.removeClasses(node, 'exit');\n\n _this.addClass(node, 'exit', 'done');\n\n if (_this.props.onExited) {\n _this.props.onExited(maybeNode);\n }\n };\n\n _this.resolveArguments = function (maybeNode, maybeAppearing) {\n return _this.props.nodeRef ? [_this.props.nodeRef.current, maybeNode] // here `maybeNode` is actually `appearing`\n : [maybeNode, maybeAppearing];\n };\n\n _this.getClassNames = function (type) {\n var classNames = _this.props.classNames;\n var isStringClassNames = typeof classNames === 'string';\n var prefix = isStringClassNames && classNames ? classNames + \"-\" : '';\n var baseClassName = isStringClassNames ? \"\" + prefix + type : classNames[type];\n var activeClassName = isStringClassNames ? baseClassName + \"-active\" : classNames[type + \"Active\"];\n var doneClassName = isStringClassNames ? baseClassName + \"-done\" : classNames[type + \"Done\"];\n return {\n baseClassName: baseClassName,\n activeClassName: activeClassName,\n doneClassName: doneClassName\n };\n };\n\n return _this;\n }\n\n var _proto = CSSTransition.prototype;\n\n _proto.addClass = function addClass(node, type, phase) {\n var className = this.getClassNames(type)[phase + \"ClassName\"];\n\n var _this$getClassNames = this.getClassNames('enter'),\n doneClassName = _this$getClassNames.doneClassName;\n\n if (type === 'appear' && phase === 'done' && doneClassName) {\n className += \" \" + doneClassName;\n } // This is to force a repaint,\n // which is necessary in order to transition styles when adding a class name.\n\n\n if (phase === 'active') {\n if (node) forceReflow(node);\n }\n\n if (className) {\n this.appliedClasses[type][phase] = className;\n\n _addClass(node, className);\n }\n };\n\n _proto.removeClasses = function removeClasses(node, type) {\n var _this$appliedClasses$ = this.appliedClasses[type],\n baseClassName = _this$appliedClasses$.base,\n activeClassName = _this$appliedClasses$.active,\n doneClassName = _this$appliedClasses$.done;\n this.appliedClasses[type] = {};\n\n if (baseClassName) {\n removeClass(node, baseClassName);\n }\n\n if (activeClassName) {\n removeClass(node, activeClassName);\n }\n\n if (doneClassName) {\n removeClass(node, doneClassName);\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n _ = _this$props.classNames,\n props = _objectWithoutPropertiesLoose(_this$props, [\"classNames\"]);\n\n return /*#__PURE__*/React.createElement(Transition, _extends({}, props, {\n onEnter: this.onEnter,\n onEntered: this.onEntered,\n onEntering: this.onEntering,\n onExit: this.onExit,\n onExiting: this.onExiting,\n onExited: this.onExited\n }));\n };\n\n return CSSTransition;\n}(React.Component);\n\nCSSTransition.defaultProps = {\n classNames: ''\n};\nCSSTransition.propTypes = process.env.NODE_ENV !== \"production\" ? _extends({}, Transition.propTypes, {\n /**\n * The animation classNames applied to the component as it appears, enters,\n * exits or has finished the transition. A single name can be provided, which\n * will be suffixed for each stage, e.g. `classNames=\"fade\"` applies:\n *\n * - `fade-appear`, `fade-appear-active`, `fade-appear-done`\n * - `fade-enter`, `fade-enter-active`, `fade-enter-done`\n * - `fade-exit`, `fade-exit-active`, `fade-exit-done`\n *\n * A few details to note about how these classes are applied:\n *\n * 1. They are _joined_ with the ones that are already defined on the child\n * component, so if you want to add some base styles, you can use\n * `className` without worrying that it will be overridden.\n *\n * 2. If the transition component mounts with `in={false}`, no classes are\n * applied yet. You might be expecting `*-exit-done`, but if you think\n * about it, a component cannot finish exiting if it hasn't entered yet.\n *\n * 2. `fade-appear-done` and `fade-enter-done` will _both_ be applied. This\n * allows you to define different behavior for when appearing is done and\n * when regular entering is done, using selectors like\n * `.fade-enter-done:not(.fade-appear-done)`. For example, you could apply\n * an epic entrance animation when element first appears in the DOM using\n * [Animate.css](https://daneden.github.io/animate.css/). Otherwise you can\n * simply use `fade-enter-done` for defining both cases.\n *\n * Each individual classNames can also be specified independently like:\n *\n * ```js\n * classNames={{\n * appear: 'my-appear',\n * appearActive: 'my-active-appear',\n * appearDone: 'my-done-appear',\n * enter: 'my-enter',\n * enterActive: 'my-active-enter',\n * enterDone: 'my-done-enter',\n * exit: 'my-exit',\n * exitActive: 'my-active-exit',\n * exitDone: 'my-done-exit',\n * }}\n * ```\n *\n * If you want to set these classes using CSS Modules:\n *\n * ```js\n * import styles from './styles.css';\n * ```\n *\n * you might want to use camelCase in your CSS file, that way could simply\n * spread them instead of listing them one by one:\n *\n * ```js\n * classNames={{ ...styles }}\n * ```\n *\n * @type {string | {\n * appear?: string,\n * appearActive?: string,\n * appearDone?: string,\n * enter?: string,\n * enterActive?: string,\n * enterDone?: string,\n * exit?: string,\n * exitActive?: string,\n * exitDone?: string,\n * }}\n */\n classNames: classNamesShape,\n\n /**\n * A `<Transition>` callback fired immediately after the 'enter' or 'appear' class is\n * applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEnter: PropTypes.func,\n\n /**\n * A `<Transition>` callback fired immediately after the 'enter-active' or\n * 'appear-active' class is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * A `<Transition>` callback fired immediately after the 'enter' or\n * 'appear' classes are **removed** and the `done` class is added to the DOM node.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntered: PropTypes.func,\n\n /**\n * A `<Transition>` callback fired immediately after the 'exit' class is\n * applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExit: PropTypes.func,\n\n /**\n * A `<Transition>` callback fired immediately after the 'exit-active' is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExiting: PropTypes.func,\n\n /**\n * A `<Transition>` callback fired immediately after the 'exit' classes\n * are **removed** and the `exit-done` class is added to the DOM node.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExited: PropTypes.func\n}) : {};\nexport default CSSTransition;","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","import { Children, cloneElement, isValidElement } from 'react';\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\n\nexport function getChildMapping(children, mapFn) {\n var mapper = function mapper(child) {\n return mapFn && isValidElement(child) ? mapFn(child) : child;\n };\n\n var result = Object.create(null);\n if (children) Children.map(children, function (c) {\n return c;\n }).forEach(function (child) {\n // run the map function here instead so that the key is the computed one\n result[child.key] = mapper(child);\n });\n return result;\n}\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\n\nexport function mergeChildMappings(prev, next) {\n prev = prev || {};\n next = next || {};\n\n function getValueForKey(key) {\n return key in next ? next[key] : prev[key];\n } // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n\n\n var nextKeysPending = Object.create(null);\n var pendingKeys = [];\n\n for (var prevKey in prev) {\n if (prevKey in next) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n\n var i;\n var childMapping = {};\n\n for (var nextKey in next) {\n if (nextKeysPending[nextKey]) {\n for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n var pendingNextKey = nextKeysPending[nextKey][i];\n childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n }\n }\n\n childMapping[nextKey] = getValueForKey(nextKey);\n } // Finally, add the keys which didn't appear before any key in `next`\n\n\n for (i = 0; i < pendingKeys.length; i++) {\n childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n }\n\n return childMapping;\n}\n\nfunction getProp(child, prop, props) {\n return props[prop] != null ? props[prop] : child.props[prop];\n}\n\nexport function getInitialChildMapping(props, onExited) {\n return getChildMapping(props.children, function (child) {\n return cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n appear: getProp(child, 'appear', props),\n enter: getProp(child, 'enter', props),\n exit: getProp(child, 'exit', props)\n });\n });\n}\nexport function getNextChildMapping(nextProps, prevChildMapping, onExited) {\n var nextChildMapping = getChildMapping(nextProps.children);\n var children = mergeChildMappings(prevChildMapping, nextChildMapping);\n Object.keys(children).forEach(function (key) {\n var child = children[key];\n if (!isValidElement(child)) return;\n var hasPrev = (key in prevChildMapping);\n var hasNext = (key in nextChildMapping);\n var prevChild = prevChildMapping[key];\n var isLeaving = isValidElement(prevChild) && !prevChild.props.in; // item is new (entering)\n\n if (hasNext && (!hasPrev || isLeaving)) {\n // console.log('entering', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n } else if (!hasNext && hasPrev && !isLeaving) {\n // item is old (exiting)\n // console.log('leaving', key)\n children[key] = cloneElement(child, {\n in: false\n });\n } else if (hasNext && hasPrev && isValidElement(prevChild)) {\n // item hasn't changed transition states\n // copy over the last transition props;\n // console.log('unchanged', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: prevChild.props.in,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n }\n });\n return children;\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { getChildMapping, getInitialChildMapping, getNextChildMapping } from './utils/ChildMapping';\n\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\n\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n};\n/**\n * The `<TransitionGroup>` component manages a set of transition components\n * (`<Transition>` and `<CSSTransition>`) in a list. Like with the transition\n * components, `<TransitionGroup>` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the `<TransitionGroup>`.\n *\n * Note that `<TransitionGroup>` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\nvar TransitionGroup = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n\n var handleExited = _this.handleExited.bind(_assertThisInitialized(_this)); // Initial children should all be entering, dependent on appear\n\n\n _this.state = {\n contextValue: {\n isMounting: true\n },\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n\n var _proto = TransitionGroup.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.mounted = true;\n this.setState({\n contextValue: {\n isMounting: false\n }\n });\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? getInitialChildMapping(nextProps, handleExited) : getNextChildMapping(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n } // node is `undefined` when user provided `nodeRef` prop\n ;\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = getChildMapping(this.props.children);\n if (child.key in currentChildMapping) return;\n\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n\n if (this.mounted) {\n this.setState(function (state) {\n var children = _extends({}, state.children);\n\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n\n var contextValue = this.state.contextValue;\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n\n if (Component === null) {\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, children);\n }\n\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, /*#__PURE__*/React.createElement(Component, props, children));\n };\n\n return TransitionGroup;\n}(React.Component);\n\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * `<TransitionGroup>` renders a `<div>` by default. You can change this\n * behavior by providing a `component` prop.\n * If you use React v16+ and would like to avoid a wrapping `<div>` element\n * you can pass in `component={null}`. This is useful if the wrapping div\n * borks your css styles.\n */\n component: PropTypes.any,\n\n /**\n * A set of `<Transition>` components, that are toggled `in` and out as they\n * leave. the `<TransitionGroup>` will inject specific transition props, so\n * remember to spread them through if you are wrapping the `<Transition>` as\n * with our `<Fade>` example.\n *\n * While this component is meant for multiple `Transition` or `CSSTransition`\n * children, sometimes you may want to have a single transition child with\n * content that you want to be transitioned out and in when you change it\n * (e.g. routes, images etc.) In that case you can change the `key` prop of\n * the transition child as you change its content, this will cause\n * `TransitionGroup` to transition the child out and back in.\n */\n children: PropTypes.node,\n\n /**\n * A convenience prop that enables or disables appear animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n appear: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables enter animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables exit animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * You may need to apply reactive updates to a child as it is exiting.\n * This is generally done by using `cloneElement` however in the case of an exiting\n * child the element has already been removed and not accessible to the consumer.\n *\n * If you do need to update a child as it leaves you can provide a `childFactory`\n * to wrap every child, even the ones that are leaving.\n *\n * @type Function(child: ReactElement) -> ReactElement\n */\n childFactory: PropTypes.func\n} : {};\nTransitionGroup.defaultProps = defaultProps;\nexport default TransitionGroup;","/*\n * Copyright 2022 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport * as React from \"react\";\n/**\n * A React context to set options for all portals in a given subtree.\n * Do not use this PortalContext directly, instead use PortalProvider to set the options.\n */\nexport var PortalContext = React.createContext({});\n/**\n * Portal context provider.\n *\n * @see https://blueprintjs.com/docs/#core/context/portal-provider\n */\nexport var PortalProvider = function (_a) {\n var children = _a.children, portalClassName = _a.portalClassName, portalContainer = _a.portalContainer;\n var contextOptions = React.useMemo(function () { return ({\n portalClassName: portalClassName,\n portalContainer: portalContainer,\n }); }, [portalClassName, portalContainer]);\n return React.createElement(PortalContext.Provider, { value: contextOptions }, children);\n};\n//# sourceMappingURL=portalProvider.js.map","/*\n * Copyright 2022 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { Classes, DISPLAYNAME_PREFIX } from \"../../common\";\nimport * as Errors from \"../../common/errors\";\nimport { PortalContext } from \"../../context/portal/portalProvider\";\n/** @deprecated will be removed in Blueprint v6.0 */\nvar PORTAL_LEGACY_CONTEXT_TYPES = {\n blueprintPortalClassName: function (obj, key) {\n if (obj[key] != null && typeof obj[key] !== \"string\") {\n return new Error(Errors.PORTAL_CONTEXT_CLASS_NAME_STRING);\n }\n return undefined;\n },\n};\n/**\n * Portal component.\n *\n * This component detaches its contents and re-attaches them to document.body.\n * Use it when you need to circumvent DOM z-stacking (for dialogs, popovers, etc.).\n * Any class names passed to this element will be propagated to the new container element on document.body.\n *\n * Portal supports both the newer React context API and the legacy context API.\n * Support for the legacy context API will be removed in Blueprint v6.0.\n *\n * @see https://blueprintjs.com/docs/#core/components/portal\n */\nexport function Portal(_a, legacyContext) {\n var _b;\n var className = _a.className, stopPropagationEvents = _a.stopPropagationEvents, container = _a.container, onChildrenMount = _a.onChildrenMount, children = _a.children;\n if (legacyContext === void 0) { legacyContext = {}; }\n var context = React.useContext(PortalContext);\n var portalContainer = (_b = container !== null && container !== void 0 ? container : context.portalContainer) !== null && _b !== void 0 ? _b : (typeof document !== \"undefined\" ? document.body : undefined);\n var _c = React.useState(), portalElement = _c[0], setPortalElement = _c[1];\n var createPortalElement = React.useCallback(function () {\n var newPortalElement = document.createElement(\"div\");\n newPortalElement.classList.add(Classes.PORTAL);\n maybeAddClass(newPortalElement.classList, className); // directly added to this portal element\n maybeAddClass(newPortalElement.classList, context.portalClassName); // added via PortalProvider context\n addStopPropagationListeners(newPortalElement, stopPropagationEvents);\n // TODO: remove legacy context support in Blueprint v6.0\n var blueprintPortalClassName = legacyContext.blueprintPortalClassName;\n if (blueprintPortalClassName != null && blueprintPortalClassName !== \"\") {\n console.error(Errors.PORTAL_LEGACY_CONTEXT_API);\n maybeAddClass(newPortalElement.classList, blueprintPortalClassName); // added via legacy context\n }\n return newPortalElement;\n }, [className, context.portalClassName, legacyContext.blueprintPortalClassName, stopPropagationEvents]);\n // create the container element & attach it to the DOM\n React.useEffect(function () {\n if (portalContainer == null) {\n return;\n }\n var newPortalElement = createPortalElement();\n portalContainer.appendChild(newPortalElement);\n setPortalElement(newPortalElement);\n return function () {\n removeStopPropagationListeners(newPortalElement, stopPropagationEvents);\n newPortalElement.remove();\n setPortalElement(undefined);\n };\n }, [portalContainer, createPortalElement, stopPropagationEvents]);\n // wait until next successful render to invoke onChildrenMount callback\n React.useEffect(function () {\n if (portalElement != null) {\n onChildrenMount === null || onChildrenMount === void 0 ? void 0 : onChildrenMount();\n }\n }, [portalElement, onChildrenMount]);\n React.useEffect(function () {\n if (portalElement != null) {\n maybeAddClass(portalElement.classList, className);\n return function () { return maybeRemoveClass(portalElement.classList, className); };\n }\n return undefined;\n }, [className, portalElement]);\n React.useEffect(function () {\n if (portalElement != null) {\n addStopPropagationListeners(portalElement, stopPropagationEvents);\n return function () { return removeStopPropagationListeners(portalElement, stopPropagationEvents); };\n }\n return undefined;\n }, [portalElement, stopPropagationEvents]);\n // Only render `children` once this component has mounted in a browser environment, so they are\n // immediately attached to the DOM tree and can do DOM things like measuring or `autoFocus`.\n // See long comment on componentDidMount in https://reactjs.org/docs/portals.html#event-bubbling-through-portals\n if (typeof document === \"undefined\" || portalElement == null) {\n return null;\n }\n else {\n return ReactDOM.createPortal(children, portalElement);\n }\n}\nPortal.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".Portal\");\n// eslint-disable-next-line deprecation/deprecation\nPortal.contextTypes = PORTAL_LEGACY_CONTEXT_TYPES;\nfunction maybeRemoveClass(classList, className) {\n if (className != null && className !== \"\") {\n classList.remove.apply(classList, className.split(\" \"));\n }\n}\nfunction maybeAddClass(classList, className) {\n if (className != null && className !== \"\") {\n classList.add.apply(classList, className.split(\" \"));\n }\n}\nfunction addStopPropagationListeners(portalElement, eventNames) {\n eventNames === null || eventNames === void 0 ? void 0 : eventNames.forEach(function (event) { return portalElement.addEventListener(event, handleStopProgation); });\n}\nfunction removeStopPropagationListeners(portalElement, events) {\n events === null || events === void 0 ? void 0 : events.forEach(function (event) { return portalElement.removeEventListener(event, handleStopProgation); });\n}\nfunction handleStopProgation(e) {\n e.stopPropagation();\n}\n//# sourceMappingURL=portal.js.map","/*\n * Copyright 2015 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign, __extends } from \"tslib\";\nimport classNames from \"classnames\";\nimport * as React from \"react\";\nimport { CSSTransition, TransitionGroup } from \"react-transition-group\";\nimport { AbstractPureComponent, Classes } from \"../../common\";\nimport { DISPLAYNAME_PREFIX } from \"../../common/props\";\nimport { getActiveElement, isFunction } from \"../../common/utils\";\nimport { Portal } from \"../portal/portal\";\n/**\n * Overlay component.\n *\n * @see https://blueprintjs.com/docs/#core/components/overlay\n */\nvar Overlay = /** @class */ (function (_super) {\n __extends(Overlay, _super);\n function Overlay() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.isAutoFocusing = false;\n _this.state = {\n hasEverOpened: _this.props.isOpen,\n };\n /** Ref for container element, containing all children and the backdrop */\n _this.containerElement = React.createRef();\n // An empty, keyboard-focusable div at the beginning of the Overlay content\n _this.startFocusTrapElement = React.createRef();\n // An empty, keyboard-focusable div at the end of the Overlay content\n _this.endFocusTrapElement = React.createRef();\n _this.maybeRenderChild = function (child) {\n if (isFunction(child)) {\n child = child();\n }\n if (child == null) {\n return null;\n }\n // decorate the child with a few injected props\n var tabIndex = _this.props.enforceFocus || _this.props.autoFocus ? 0 : undefined;\n var decoratedChild = typeof child === \"object\" ? (React.cloneElement(child, {\n className: classNames(child.props.className, Classes.OVERLAY_CONTENT),\n tabIndex: tabIndex,\n })) : (React.createElement(\"span\", { className: Classes.OVERLAY_CONTENT, tabIndex: tabIndex }, child));\n var _a = _this.props, onOpening = _a.onOpening, onOpened = _a.onOpened, onClosing = _a.onClosing, transitionDuration = _a.transitionDuration, transitionName = _a.transitionName;\n return (React.createElement(CSSTransition, { classNames: transitionName, onEntering: onOpening, onEntered: onOpened, onExiting: onClosing, onExited: _this.handleTransitionExited, timeout: transitionDuration, addEndListener: _this.handleTransitionAddEnd }, decoratedChild));\n };\n /**\n * Ensures repeatedly pressing shift+tab keeps focus inside the Overlay. Moves focus to\n * the `endFocusTrapElement` or the first keyboard-focusable element in the Overlay (excluding\n * the `startFocusTrapElement`), depending on whether the element losing focus is inside the\n * Overlay.\n */\n _this.handleStartFocusTrapElementFocus = function (e) {\n var _a, _b;\n if (!_this.props.enforceFocus || _this.isAutoFocusing) {\n return;\n }\n // e.relatedTarget will not be defined if this was a programmatic focus event, as is the\n // case when we call this.bringFocusInsideOverlay() after a user clicked on the backdrop.\n // Otherwise, we're handling a user interaction, and we should wrap around to the last\n // element in this transition group.\n if (e.relatedTarget != null &&\n ((_a = _this.containerElement.current) === null || _a === void 0 ? void 0 : _a.contains(e.relatedTarget)) &&\n e.relatedTarget !== _this.endFocusTrapElement.current) {\n (_b = _this.endFocusTrapElement.current) === null || _b === void 0 ? void 0 : _b.focus({ preventScroll: true });\n }\n };\n /**\n * Wrap around to the end of the dialog if `enforceFocus` is enabled.\n */\n _this.handleStartFocusTrapElementKeyDown = function (e) {\n var _a;\n if (!_this.props.enforceFocus) {\n return;\n }\n if (e.shiftKey && e.key === \"Tab\") {\n var lastFocusableElement = _this.getKeyboardFocusableElements().pop();\n if (lastFocusableElement != null) {\n lastFocusableElement.focus();\n }\n else {\n (_a = _this.endFocusTrapElement.current) === null || _a === void 0 ? void 0 : _a.focus({ preventScroll: true });\n }\n }\n };\n /**\n * Ensures repeatedly pressing tab keeps focus inside the Overlay. Moves focus to the\n * `startFocusTrapElement` or the last keyboard-focusable element in the Overlay (excluding the\n * `startFocusTrapElement`), depending on whether the element losing focus is inside the\n * Overlay.\n */\n _this.handleEndFocusTrapElementFocus = function (e) {\n var _a, _b, _c;\n // No need for this.props.enforceFocus check here because this element is only rendered\n // when that prop is true.\n // During user interactions, e.relatedTarget will be defined, and we should wrap around to the\n // \"start focus trap\" element.\n // Otherwise, we're handling a programmatic focus event, which can only happen after a user\n // presses shift+tab from the first focusable element in the overlay.\n if (e.relatedTarget != null &&\n ((_a = _this.containerElement.current) === null || _a === void 0 ? void 0 : _a.contains(e.relatedTarget)) &&\n e.relatedTarget !== _this.startFocusTrapElement.current) {\n var firstFocusableElement = _this.getKeyboardFocusableElements().shift();\n // ensure we don't re-focus an already active element by comparing against e.relatedTarget\n if (!_this.isAutoFocusing && firstFocusableElement != null && firstFocusableElement !== e.relatedTarget) {\n firstFocusableElement.focus();\n }\n else {\n (_b = _this.startFocusTrapElement.current) === null || _b === void 0 ? void 0 : _b.focus({ preventScroll: true });\n }\n }\n else {\n var lastFocusableElement = _this.getKeyboardFocusableElements().pop();\n if (lastFocusableElement != null) {\n lastFocusableElement.focus();\n }\n else {\n // Keeps focus within Overlay even if there are no keyboard-focusable children\n (_c = _this.startFocusTrapElement.current) === null || _c === void 0 ? void 0 : _c.focus({ preventScroll: true });\n }\n }\n };\n _this.handleTransitionExited = function (node) {\n var _a, _b;\n if (_this.props.shouldReturnFocusOnClose && _this.lastActiveElementBeforeOpened instanceof HTMLElement) {\n _this.lastActiveElementBeforeOpened.focus();\n }\n (_b = (_a = _this.props).onClosed) === null || _b === void 0 ? void 0 : _b.call(_a, node);\n };\n _this.handleBackdropMouseDown = function (e) {\n var _a;\n var _b = _this.props, backdropProps = _b.backdropProps, canOutsideClickClose = _b.canOutsideClickClose, enforceFocus = _b.enforceFocus, onClose = _b.onClose;\n if (canOutsideClickClose) {\n onClose === null || onClose === void 0 ? void 0 : onClose(e);\n }\n if (enforceFocus) {\n _this.bringFocusInsideOverlay();\n }\n (_a = backdropProps === null || backdropProps === void 0 ? void 0 : backdropProps.onMouseDown) === null || _a === void 0 ? void 0 : _a.call(backdropProps, e);\n };\n _this.handleDocumentClick = function (e) {\n var _a = _this.props, canOutsideClickClose = _a.canOutsideClickClose, isOpen = _a.isOpen, onClose = _a.onClose;\n // get the actual target even in the Shadow DOM\n // see https://github.com/palantir/blueprint/issues/4220\n var eventTarget = (e.composed ? e.composedPath()[0] : e.target);\n var stackIndex = Overlay.openStack.indexOf(_this);\n var isClickInThisOverlayOrDescendant = Overlay.openStack\n .slice(stackIndex)\n .some(function (_a) {\n var _b;\n var elem = _a.containerElement;\n // `elem` is the container of backdrop & content, so clicking directly on that container\n // should not count as being \"inside\" the overlay.\n return ((_b = elem.current) === null || _b === void 0 ? void 0 : _b.contains(eventTarget)) && !elem.current.isSameNode(eventTarget);\n });\n if (isOpen && !isClickInThisOverlayOrDescendant && canOutsideClickClose) {\n // casting to any because this is a native event\n onClose === null || onClose === void 0 ? void 0 : onClose(e);\n }\n };\n /**\n * When multiple Overlays are open, this event handler is only active for the most recently\n * opened one to avoid Overlays competing with each other for focus.\n */\n _this.handleDocumentFocus = function (e) {\n // get the actual target even in the Shadow DOM\n // see https://github.com/palantir/blueprint/issues/4220\n var eventTarget = e.composed ? e.composedPath()[0] : e.target;\n if (_this.props.enforceFocus &&\n _this.containerElement.current != null &&\n eventTarget instanceof Node &&\n !_this.containerElement.current.contains(eventTarget)) {\n // prevent default focus behavior (sometimes auto-scrolls the page)\n e.preventDefault();\n e.stopImmediatePropagation();\n _this.bringFocusInsideOverlay();\n }\n };\n _this.handleKeyDown = function (e) {\n var _a = _this.props, canEscapeKeyClose = _a.canEscapeKeyClose, onClose = _a.onClose;\n if (e.key === \"Escape\" && canEscapeKeyClose) {\n onClose === null || onClose === void 0 ? void 0 : onClose(e);\n // prevent other overlays from closing\n e.stopPropagation();\n // prevent browser-specific escape key behavior (Safari exits fullscreen)\n e.preventDefault();\n }\n };\n _this.handleTransitionAddEnd = function () {\n // no-op\n };\n return _this;\n }\n Overlay.getDerivedStateFromProps = function (_a) {\n var hasEverOpened = _a.isOpen;\n if (hasEverOpened) {\n return { hasEverOpened: hasEverOpened };\n }\n return null;\n };\n Overlay.prototype.render = function () {\n var _a;\n var _b;\n // oh snap! no reason to render anything at all if we're being truly lazy\n if (this.props.lazy && !this.state.hasEverOpened) {\n return null;\n }\n var _c = this.props, autoFocus = _c.autoFocus, children = _c.children, className = _c.className, enforceFocus = _c.enforceFocus, usePortal = _c.usePortal, isOpen = _c.isOpen;\n // TransitionGroup types require single array of children; does not support nested arrays.\n // So we must collapse backdrop and children into one array, and every item must be wrapped in a\n // Transition element (no ReactText allowed).\n var childrenWithTransitions = isOpen ? (_b = React.Children.map(children, this.maybeRenderChild)) !== null && _b !== void 0 ? _b : [] : [];\n var maybeBackdrop = this.maybeRenderBackdrop();\n if (maybeBackdrop !== null) {\n childrenWithTransitions.unshift(maybeBackdrop);\n }\n if (isOpen && (autoFocus || enforceFocus) && childrenWithTransitions.length > 0) {\n childrenWithTransitions.unshift(this.renderDummyElement(\"__start\", {\n className: Classes.OVERLAY_START_FOCUS_TRAP,\n onFocus: this.handleStartFocusTrapElementFocus,\n onKeyDown: this.handleStartFocusTrapElementKeyDown,\n ref: this.startFocusTrapElement,\n }));\n if (enforceFocus) {\n childrenWithTransitions.push(this.renderDummyElement(\"__end\", {\n className: Classes.OVERLAY_END_FOCUS_TRAP,\n onFocus: this.handleEndFocusTrapElementFocus,\n ref: this.endFocusTrapElement,\n }));\n }\n }\n var containerClasses = classNames(Classes.OVERLAY, (_a = {},\n _a[Classes.OVERLAY_OPEN] = isOpen,\n _a[Classes.OVERLAY_INLINE] = !usePortal,\n _a), className);\n var transitionGroup = (React.createElement(\"div\", { \"aria-live\": \"polite\", className: containerClasses, onKeyDown: this.handleKeyDown, ref: this.containerElement },\n React.createElement(TransitionGroup, { appear: true, component: null }, childrenWithTransitions)));\n if (usePortal) {\n return (React.createElement(Portal, { className: this.props.portalClassName, container: this.props.portalContainer, stopPropagationEvents: this.props.portalStopPropagationEvents }, transitionGroup));\n }\n else {\n return transitionGroup;\n }\n };\n Overlay.prototype.componentDidMount = function () {\n if (this.props.isOpen) {\n this.overlayWillOpen();\n }\n };\n Overlay.prototype.componentDidUpdate = function (prevProps) {\n if (prevProps.isOpen && !this.props.isOpen) {\n this.overlayWillClose();\n }\n else if (!prevProps.isOpen && this.props.isOpen) {\n this.overlayWillOpen();\n }\n };\n Overlay.prototype.componentWillUnmount = function () {\n this.overlayWillClose();\n };\n /**\n * @public for testing\n * @internal\n */\n Overlay.prototype.bringFocusInsideOverlay = function () {\n var _this = this;\n // always delay focus manipulation to just before repaint to prevent scroll jumping\n return this.requestAnimationFrame(function () {\n var _a;\n // container element may be undefined between component mounting and Portal rendering\n // activeElement may be undefined in some rare cases in IE\n var activeElement = getActiveElement(_this.containerElement.current);\n if (_this.containerElement.current == null || activeElement == null || !_this.props.isOpen) {\n return;\n }\n var container = _this.containerElement.current;\n var isFocusOutsideModal = !container.contains(activeElement);\n if (isFocusOutsideModal) {\n (_a = _this.startFocusTrapElement.current) === null || _a === void 0 ? void 0 : _a.focus({ preventScroll: true });\n _this.isAutoFocusing = false;\n }\n });\n };\n Overlay.prototype.maybeRenderBackdrop = function () {\n var _a = this.props, backdropClassName = _a.backdropClassName, backdropProps = _a.backdropProps, hasBackdrop = _a.hasBackdrop, isOpen = _a.isOpen, transitionDuration = _a.transitionDuration, transitionName = _a.transitionName;\n if (hasBackdrop && isOpen) {\n return (React.createElement(CSSTransition, { classNames: transitionName, key: \"__backdrop\", timeout: transitionDuration, addEndListener: this.handleTransitionAddEnd },\n React.createElement(\"div\", __assign({}, backdropProps, { className: classNames(Classes.OVERLAY_BACKDROP, backdropClassName, backdropProps === null || backdropProps === void 0 ? void 0 : backdropProps.className), onMouseDown: this.handleBackdropMouseDown }))));\n }\n else {\n return null;\n }\n };\n Overlay.prototype.renderDummyElement = function (key, props) {\n var _a = this.props, transitionDuration = _a.transitionDuration, transitionName = _a.transitionName;\n return (React.createElement(CSSTransition, { classNames: transitionName, key: key, addEndListener: this.handleTransitionAddEnd, timeout: transitionDuration, unmountOnExit: true },\n React.createElement(\"div\", __assign({ tabIndex: 0 }, props))));\n };\n Overlay.prototype.getKeyboardFocusableElements = function () {\n var focusableElements = this.containerElement.current !== null\n ? Array.from(\n // Order may not be correct if children elements use tabindex values > 0.\n // Selectors derived from this SO question:\n // https://stackoverflow.com/questions/1599660/which-html-elements-can-receive-focus\n this.containerElement.current.querySelectorAll([\n 'a[href]:not([tabindex=\"-1\"])',\n 'button:not([disabled]):not([tabindex=\"-1\"])',\n 'details:not([tabindex=\"-1\"])',\n 'input:not([disabled]):not([tabindex=\"-1\"])',\n 'select:not([disabled]):not([tabindex=\"-1\"])',\n 'textarea:not([disabled]):not([tabindex=\"-1\"])',\n '[tabindex]:not([tabindex=\"-1\"])',\n ].join(\",\")))\n : [];\n return focusableElements.filter(function (el) {\n return !el.classList.contains(Classes.OVERLAY_START_FOCUS_TRAP) &&\n !el.classList.contains(Classes.OVERLAY_END_FOCUS_TRAP);\n });\n };\n Overlay.prototype.overlayWillClose = function () {\n document.removeEventListener(\"focus\", this.handleDocumentFocus, /* useCapture */ true);\n document.removeEventListener(\"mousedown\", this.handleDocumentClick);\n var openStack = Overlay.openStack;\n var stackIndex = openStack.indexOf(this);\n if (stackIndex !== -1) {\n openStack.splice(stackIndex, 1);\n if (openStack.length > 0) {\n var lastOpenedOverlay = Overlay.getLastOpened();\n // Only bring focus back to last overlay if it had autoFocus _and_ enforceFocus enabled.\n // If `autoFocus={false}`, it's likely that the overlay never received focus in the first place,\n // so it would be surprising for us to send it there. See https://github.com/palantir/blueprint/issues/4921\n if (lastOpenedOverlay.props.autoFocus && lastOpenedOverlay.props.enforceFocus) {\n lastOpenedOverlay.bringFocusInsideOverlay();\n document.addEventListener(\"focus\", lastOpenedOverlay.handleDocumentFocus, /* useCapture */ true);\n }\n }\n if (openStack.filter(function (o) { return o.props.usePortal && o.props.hasBackdrop; }).length === 0) {\n document.body.classList.remove(Classes.OVERLAY_OPEN);\n }\n }\n };\n Overlay.prototype.overlayWillOpen = function () {\n var getLastOpened = Overlay.getLastOpened, openStack = Overlay.openStack;\n if (openStack.length > 0) {\n document.removeEventListener(\"focus\", getLastOpened().handleDocumentFocus, /* useCapture */ true);\n }\n openStack.push(this);\n if (this.props.autoFocus) {\n this.isAutoFocusing = true;\n this.bringFocusInsideOverlay();\n }\n if (this.props.enforceFocus) {\n // Focus events do not bubble, but setting useCapture allows us to listen in and execute\n // our handler before all others\n document.addEventListener(\"focus\", this.handleDocumentFocus, /* useCapture */ true);\n }\n if (this.props.canOutsideClickClose && !this.props.hasBackdrop) {\n document.addEventListener(\"mousedown\", this.handleDocumentClick);\n }\n if (this.props.hasBackdrop && this.props.usePortal) {\n // add a class to the body to prevent scrolling of content below the overlay\n document.body.classList.add(Classes.OVERLAY_OPEN);\n }\n this.lastActiveElementBeforeOpened = getActiveElement(this.containerElement.current);\n };\n Overlay.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".Overlay\");\n Overlay.defaultProps = {\n autoFocus: true,\n backdropProps: {},\n canEscapeKeyClose: true,\n canOutsideClickClose: true,\n enforceFocus: true,\n hasBackdrop: true,\n isOpen: false,\n lazy: true,\n shouldReturnFocusOnClose: true,\n transitionDuration: 300,\n transitionName: Classes.OVERLAY,\n usePortal: true,\n };\n Overlay.openStack = [];\n Overlay.getLastOpened = function () { return Overlay.openStack[Overlay.openStack.length - 1]; };\n return Overlay;\n}(AbstractPureComponent));\nexport { Overlay };\n//# sourceMappingURL=overlay.js.map","/*\n * Copyright 2015 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign, __extends, __rest } from \"tslib\";\nimport classNames from \"classnames\";\nimport * as React from \"react\";\nimport { AbstractPureComponent, Classes } from \"../../common\";\nimport { DISPLAYNAME_PREFIX } from \"../../common/props\";\n/**\n * Menu component.\n *\n * @see https://blueprintjs.com/docs/#core/components/menu\n */\nvar Menu = /** @class */ (function (_super) {\n __extends(Menu, _super);\n function Menu() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Menu.prototype.render = function () {\n var _a;\n var _b = this.props, className = _b.className, children = _b.children, large = _b.large, small = _b.small, ulRef = _b.ulRef, htmlProps = __rest(_b, [\"className\", \"children\", \"large\", \"small\", \"ulRef\"]);\n var classes = classNames(className, Classes.MENU, (_a = {},\n _a[Classes.LARGE] = large,\n _a[Classes.SMALL] = small,\n _a));\n return (React.createElement(\"ul\", __assign({ role: \"menu\" }, htmlProps, { className: classes, ref: ulRef }), children));\n };\n Menu.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".Menu\");\n return Menu;\n}(AbstractPureComponent));\nexport { Menu };\n//# sourceMappingURL=menu.js.map","import * as React from 'react';\nexport var ManagerReferenceNodeContext = React.createContext();\nexport var ManagerReferenceNodeSetterContext = React.createContext();\nexport function Manager(_ref) {\n var children = _ref.children;\n\n var _React$useState = React.useState(null),\n referenceNode = _React$useState[0],\n setReferenceNode = _React$useState[1];\n\n var hasUnmounted = React.useRef(false);\n React.useEffect(function () {\n return function () {\n hasUnmounted.current = true;\n };\n }, []);\n var handleSetReferenceNode = React.useCallback(function (node) {\n if (!hasUnmounted.current) {\n setReferenceNode(node);\n }\n }, []);\n return /*#__PURE__*/React.createElement(ManagerReferenceNodeContext.Provider, {\n value: referenceNode\n }, /*#__PURE__*/React.createElement(ManagerReferenceNodeSetterContext.Provider, {\n value: handleSetReferenceNode\n }, children));\n}","import * as React from 'react';\n\n/**\n * Takes an argument and if it's an array, returns the first item in the array,\n * otherwise returns the argument. Used for Preact compatibility.\n */\nexport var unwrapArray = function unwrapArray(arg) {\n return Array.isArray(arg) ? arg[0] : arg;\n};\n/**\n * Takes a maybe-undefined function and arbitrary args and invokes the function\n * only if it is defined.\n */\n\nexport var safeInvoke = function safeInvoke(fn) {\n if (typeof fn === 'function') {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return fn.apply(void 0, args);\n }\n};\n/**\n * Sets a ref using either a ref callback or a ref object\n */\n\nexport var setRef = function setRef(ref, node) {\n // if its a function call it\n if (typeof ref === 'function') {\n return safeInvoke(ref, node);\n } // otherwise we should treat it as a ref object\n else if (ref != null) {\n ref.current = node;\n }\n};\n/**\n * Simple ponyfill for Object.fromEntries\n */\n\nexport var fromEntries = function fromEntries(entries) {\n return entries.reduce(function (acc, _ref) {\n var key = _ref[0],\n value = _ref[1];\n acc[key] = value;\n return acc;\n }, {});\n};\n/**\n * Small wrapper around `useLayoutEffect` to get rid of the warning on SSR envs\n */\n\nexport var useIsomorphicLayoutEffect = typeof window !== 'undefined' && window.document && window.document.createElement ? React.useLayoutEffect : React.useEffect;","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = isElement(element) ? getWindow(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n var x = _ref.x,\n y = _ref.y;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }, getWindow(popper)) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If <html> has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on <html>\n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$strategy = _options.strategy,\n strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n });\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref) {\n var name = _ref.name,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? {} : _ref$options,\n effect = _ref.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */\n\nvar hasElementType = typeof Element !== 'undefined';\nvar hasMap = typeof Map === 'function';\nvar hasSet = typeof Set === 'function';\nvar hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView;\n\n// Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js\n\nfunction equal(a, b) {\n // START: fast-deep-equal es6/index.js 3.1.3\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n // START: Modifications:\n // 1. Extra `has<Type> &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n var it;\n if (hasMap && (a instanceof Map) && (b instanceof Map)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n return true;\n }\n\n if (hasSet && (a instanceof Set) && (b instanceof Set)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n return true;\n }\n // END: Modifications\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (a[i] !== b[i]) return false;\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n // START: Modifications:\n // Apply guards for `Object.create(null)` handling. See:\n // - https://github.com/FormidableLabs/react-fast-compare/issues/64\n // - https://github.com/epoberezkin/fast-deep-equal/issues/49\n if (a.valueOf !== Object.prototype.valueOf && typeof a.valueOf === 'function' && typeof b.valueOf === 'function') return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString && typeof a.toString === 'function' && typeof b.toString === 'function') return a.toString() === b.toString();\n // END: Modifications\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n // END: fast-deep-equal\n\n // START: react-fast-compare\n // custom handling for DOM elements\n if (hasElementType && a instanceof Element) return false;\n\n // custom handling for React/Preact\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n\n continue;\n }\n\n // all other properties should be traversed as usual\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n }\n // END: react-fast-compare\n\n // START: fast-deep-equal\n return true;\n }\n\n return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if (((error.message || '').match(/stack|recursion/i))) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n }\n // some other error. we should definitely know about these\n throw error;\n }\n};\n","import * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { createPopper as defaultCreatePopper } from '@popperjs/core';\nimport isEqual from 'react-fast-compare';\nimport { fromEntries, useIsomorphicLayoutEffect } from './utils';\nvar EMPTY_MODIFIERS = [];\nexport var usePopper = function usePopper(referenceElement, popperElement, options) {\n if (options === void 0) {\n options = {};\n }\n\n var prevOptions = React.useRef(null);\n var optionsWithDefaults = {\n onFirstUpdate: options.onFirstUpdate,\n placement: options.placement || 'bottom',\n strategy: options.strategy || 'absolute',\n modifiers: options.modifiers || EMPTY_MODIFIERS\n };\n\n var _React$useState = React.useState({\n styles: {\n popper: {\n position: optionsWithDefaults.strategy,\n left: '0',\n top: '0'\n },\n arrow: {\n position: 'absolute'\n }\n },\n attributes: {}\n }),\n state = _React$useState[0],\n setState = _React$useState[1];\n\n var updateStateModifier = React.useMemo(function () {\n return {\n name: 'updateState',\n enabled: true,\n phase: 'write',\n fn: function fn(_ref) {\n var state = _ref.state;\n var elements = Object.keys(state.elements);\n ReactDOM.flushSync(function () {\n setState({\n styles: fromEntries(elements.map(function (element) {\n return [element, state.styles[element] || {}];\n })),\n attributes: fromEntries(elements.map(function (element) {\n return [element, state.attributes[element]];\n }))\n });\n });\n },\n requires: ['computeStyles']\n };\n }, []);\n var popperOptions = React.useMemo(function () {\n var newOptions = {\n onFirstUpdate: optionsWithDefaults.onFirstUpdate,\n placement: optionsWithDefaults.placement,\n strategy: optionsWithDefaults.strategy,\n modifiers: [].concat(optionsWithDefaults.modifiers, [updateStateModifier, {\n name: 'applyStyles',\n enabled: false\n }])\n };\n\n if (isEqual(prevOptions.current, newOptions)) {\n return prevOptions.current || newOptions;\n } else {\n prevOptions.current = newOptions;\n return newOptions;\n }\n }, [optionsWithDefaults.onFirstUpdate, optionsWithDefaults.placement, optionsWithDefaults.strategy, optionsWithDefaults.modifiers, updateStateModifier]);\n var popperInstanceRef = React.useRef();\n useIsomorphicLayoutEffect(function () {\n if (popperInstanceRef.current) {\n popperInstanceRef.current.setOptions(popperOptions);\n }\n }, [popperOptions]);\n useIsomorphicLayoutEffect(function () {\n if (referenceElement == null || popperElement == null) {\n return;\n }\n\n var createPopper = options.createPopper || defaultCreatePopper;\n var popperInstance = createPopper(referenceElement, popperElement, popperOptions);\n popperInstanceRef.current = popperInstance;\n return function () {\n popperInstance.destroy();\n popperInstanceRef.current = null;\n };\n }, [referenceElement, popperElement, options.createPopper]);\n return {\n state: popperInstanceRef.current ? popperInstanceRef.current.state : null,\n styles: state.styles,\n attributes: state.attributes,\n update: popperInstanceRef.current ? popperInstanceRef.current.update : null,\n forceUpdate: popperInstanceRef.current ? popperInstanceRef.current.forceUpdate : null\n };\n};","import * as React from 'react';\nimport { ManagerReferenceNodeContext } from './Manager';\nimport { unwrapArray, setRef } from './utils';\nimport { usePopper } from './usePopper';\n\nvar NOOP = function NOOP() {\n return void 0;\n};\n\nvar NOOP_PROMISE = function NOOP_PROMISE() {\n return Promise.resolve(null);\n};\n\nvar EMPTY_MODIFIERS = [];\nexport function Popper(_ref) {\n var _ref$placement = _ref.placement,\n placement = _ref$placement === void 0 ? 'bottom' : _ref$placement,\n _ref$strategy = _ref.strategy,\n strategy = _ref$strategy === void 0 ? 'absolute' : _ref$strategy,\n _ref$modifiers = _ref.modifiers,\n modifiers = _ref$modifiers === void 0 ? EMPTY_MODIFIERS : _ref$modifiers,\n referenceElement = _ref.referenceElement,\n onFirstUpdate = _ref.onFirstUpdate,\n innerRef = _ref.innerRef,\n children = _ref.children;\n var referenceNode = React.useContext(ManagerReferenceNodeContext);\n\n var _React$useState = React.useState(null),\n popperElement = _React$useState[0],\n setPopperElement = _React$useState[1];\n\n var _React$useState2 = React.useState(null),\n arrowElement = _React$useState2[0],\n setArrowElement = _React$useState2[1];\n\n React.useEffect(function () {\n setRef(innerRef, popperElement);\n }, [innerRef, popperElement]);\n var options = React.useMemo(function () {\n return {\n placement: placement,\n strategy: strategy,\n onFirstUpdate: onFirstUpdate,\n modifiers: [].concat(modifiers, [{\n name: 'arrow',\n enabled: arrowElement != null,\n options: {\n element: arrowElement\n }\n }])\n };\n }, [placement, strategy, onFirstUpdate, modifiers, arrowElement]);\n\n var _usePopper = usePopper(referenceElement || referenceNode, popperElement, options),\n state = _usePopper.state,\n styles = _usePopper.styles,\n forceUpdate = _usePopper.forceUpdate,\n update = _usePopper.update;\n\n var childrenProps = React.useMemo(function () {\n return {\n ref: setPopperElement,\n style: styles.popper,\n placement: state ? state.placement : placement,\n hasPopperEscaped: state && state.modifiersData.hide ? state.modifiersData.hide.hasPopperEscaped : null,\n isReferenceHidden: state && state.modifiersData.hide ? state.modifiersData.hide.isReferenceHidden : null,\n arrowProps: {\n style: styles.arrow,\n ref: setArrowElement\n },\n forceUpdate: forceUpdate || NOOP,\n update: update || NOOP_PROMISE\n };\n }, [setPopperElement, setArrowElement, placement, state, styles, update, forceUpdate]);\n return unwrapArray(children)(childrenProps);\n}","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n var printWarning = function printWarning(format, args) {\n var len = arguments.length;\n args = new Array(len > 1 ? len - 1 : 0);\n for (var key = 1; key < len; key++) {\n args[key - 1] = arguments[key];\n }\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n","import * as React from 'react';\nimport warning from 'warning';\nimport { ManagerReferenceNodeSetterContext } from './Manager';\nimport { safeInvoke, unwrapArray, setRef } from './utils';\nexport function Reference(_ref) {\n var children = _ref.children,\n innerRef = _ref.innerRef;\n var setReferenceNode = React.useContext(ManagerReferenceNodeSetterContext);\n var refHandler = React.useCallback(function (node) {\n setRef(innerRef, node);\n safeInvoke(setReferenceNode, node);\n }, [innerRef, setReferenceNode]); // ran on unmount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n\n React.useEffect(function () {\n return function () {\n return setRef(innerRef, null);\n };\n }, []);\n React.useEffect(function () {\n warning(Boolean(setReferenceNode), '`Reference` should not be used outside of a `Manager` component.');\n }, [setReferenceNode]);\n return unwrapArray(children)({\n ref: refHandler\n });\n}","/*\n * Copyright 2018 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __extends } from \"tslib\";\nimport * as React from \"react\";\nimport { AbstractPureComponent, DISPLAYNAME_PREFIX } from \"../../common\";\n/**\n * Resize sensor component.\n *\n * It requires a single DOM element child and will error otherwise.\n *\n * @see https://blueprintjs.com/docs/#core/components/resize-sensor\n **/\nvar ResizeSensor = /** @class */ (function (_super) {\n __extends(ResizeSensor, _super);\n function ResizeSensor() {\n var _a;\n var _this = _super.apply(this, arguments) || this;\n _this.targetRef = (_a = _this.props.targetRef) !== null && _a !== void 0 ? _a : React.createRef();\n _this.prevElement = undefined;\n return _this;\n }\n ResizeSensor.prototype.render = function () {\n var onlyChild = React.Children.only(this.props.children);\n // If we're provided a mutable ref to the child element already, we must re-use that one. This is necessary\n // in cases where the child node is not a native DOM element and does not use `React.forwardRef`, since\n // there's no way for us to know how to attach to the underlying DOM node.\n if (this.props.targetRef !== undefined) {\n return onlyChild;\n }\n return React.cloneElement(onlyChild, { ref: this.targetRef });\n };\n ResizeSensor.prototype.componentDidMount = function () {\n var _this = this;\n // ResizeObserver is available in all modern browsers supported by Blueprint but not in server-side rendering\n // and some test environments like jsdom, so we to do a feature check here.\n this.observer =\n globalThis.ResizeObserver != null\n ? new ResizeObserver(function (entries) { var _a, _b; return (_b = (_a = _this.props).onResize) === null || _b === void 0 ? void 0 : _b.call(_a, entries); })\n : undefined;\n this.observeElement();\n };\n ResizeSensor.prototype.componentDidUpdate = function (prevProps) {\n this.observeElement(this.props.observeParents !== prevProps.observeParents);\n };\n ResizeSensor.prototype.componentWillUnmount = function () {\n var _a;\n (_a = this.observer) === null || _a === void 0 ? void 0 : _a.disconnect();\n this.prevElement = undefined;\n };\n /**\n * Observe the DOM element, if defined and different from the currently\n * observed element. Pass `force` argument to skip element checks and always\n * re-observe.\n */\n ResizeSensor.prototype.observeElement = function (force) {\n if (force === void 0) { force = false; }\n if (this.observer === undefined) {\n return;\n }\n if (!(this.targetRef.current instanceof Element)) {\n // stop everything if not defined\n this.observer.disconnect();\n return;\n }\n if (this.targetRef.current === this.prevElement && !force) {\n // quit if given same element -- nothing to update (unless forced)\n return;\n }\n else {\n // clear observer list if new element\n this.observer.disconnect();\n // remember element reference for next time\n this.prevElement = this.targetRef.current;\n }\n // observer callback is invoked immediately when observing new elements\n this.observer.observe(this.targetRef.current);\n if (this.props.observeParents) {\n var parent_1 = this.targetRef.current.parentElement;\n while (parent_1 != null) {\n this.observer.observe(parent_1);\n parent_1 = parent_1.parentElement;\n }\n }\n };\n ResizeSensor.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".ResizeSensor\");\n return ResizeSensor;\n}(AbstractPureComponent));\nexport { ResizeSensor };\n//# sourceMappingURL=resizeSensor.js.map","/*\n * Copyright 2021 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nexport { placements as PopperPlacements } from \"@popperjs/core\";\n// Popper placement utils\n// ======================\n/** Converts a full placement to one of the four positions by stripping text after the `-`. */\nexport function getBasePlacement(placement) {\n return placement.split(\"-\")[0];\n}\n/** Returns true if position is left or right. */\nexport function isVerticalPlacement(side) {\n return [\"left\", \"right\"].indexOf(side) !== -1;\n}\n/** Returns the opposite position. */\nexport function getOppositePlacement(side) {\n switch (side) {\n case \"top\":\n return \"bottom\";\n case \"left\":\n return \"right\";\n case \"bottom\":\n return \"top\";\n default:\n return \"left\";\n }\n}\n/** Returns the CSS alignment keyword corresponding to given placement. */\nexport function getAlignment(placement) {\n var align = placement.split(\"-\")[1];\n switch (align) {\n case \"start\":\n return \"left\";\n case \"end\":\n return \"right\";\n default:\n return \"center\";\n }\n}\n// Popper modifiers\n// ================\n/** Modifier helper function to compute popper transform-origin based on arrow position */\nexport function getTransformOrigin(placement, arrowStyles) {\n var basePlacement = getBasePlacement(placement);\n if (arrowStyles === undefined) {\n return isVerticalPlacement(basePlacement)\n ? \"\".concat(getOppositePlacement(basePlacement), \" \").concat(getAlignment(basePlacement))\n : \"\".concat(getAlignment(basePlacement), \" \").concat(getOppositePlacement(basePlacement));\n }\n else {\n // const arrowSizeShift = state.elements.arrow.clientHeight / 2;\n var arrowSizeShift = 30 / 2;\n // can use keyword for dimension without the arrow, to ease computation burden.\n // move origin by half arrow's height to keep it centered.\n return isVerticalPlacement(basePlacement)\n ? \"\".concat(getOppositePlacement(basePlacement), \" \").concat(parseInt(arrowStyles.top, 10) + arrowSizeShift, \"px\")\n : \"\".concat(parseInt(arrowStyles.left, 10) + arrowSizeShift, \"px \").concat(getOppositePlacement(basePlacement));\n }\n}\n//# sourceMappingURL=popperUtils.js.map","/*\n * Copyright 2021 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign } from \"tslib\";\nimport * as React from \"react\";\nimport { Classes, DISPLAYNAME_PREFIX } from \"../../common\";\nimport { getBasePlacement } from \"./popperUtils\";\n// these paths come from the Core Kit Sketch file\n// https://github.com/palantir/blueprint/blob/develop/resources/sketch/Core%20Kit.sketch\nvar SVG_SHADOW_PATH = \"M8.11 6.302c1.015-.936 1.887-2.922 1.887-4.297v26c0-1.378\" +\n \"-.868-3.357-1.888-4.297L.925 17.09c-1.237-1.14-1.233-3.034 0-4.17L8.11 6.302z\";\nvar SVG_ARROW_PATH = \"M8.787 7.036c1.22-1.125 2.21-3.376 2.21-5.03V0v30-2.005\" +\n \"c0-1.654-.983-3.9-2.21-5.03l-7.183-6.616c-.81-.746-.802-1.96 0-2.7l7.183-6.614z\";\n// additional space between arrow and edge of target\nvar ARROW_SPACING = 4;\nexport var POPOVER_ARROW_SVG_SIZE = 30;\nexport var TOOLTIP_ARROW_SVG_SIZE = 22;\n/* istanbul ignore next */\n/** Modifier helper function to compute arrow rotate() transform */\nfunction getArrowAngle(placement) {\n if (placement == null) {\n return 0;\n }\n // can only be top/left/bottom/right - auto is resolved internally\n switch (getBasePlacement(placement)) {\n case \"top\":\n return -90;\n case \"left\":\n return 180;\n case \"bottom\":\n return 90;\n default:\n return 0;\n }\n}\n/* istanbul ignore next */\n/**\n * Popper's builtin \"arrow\" modifier options.padding doesn't seem to work for us, so we\n * need to compute our own offset in the direction of the popover relative to the reference.\n */\nfunction getArrowReferenceOffsetStyle(placement) {\n var offset = POPOVER_ARROW_SVG_SIZE / 2 - ARROW_SPACING;\n switch (getBasePlacement(placement)) {\n case \"top\":\n return { bottom: -offset };\n case \"left\":\n return { right: -offset };\n case \"bottom\":\n return { top: -offset };\n default:\n return { left: -offset };\n }\n}\nexport var PopoverArrow = function (_a) {\n var _b = _a.arrowProps, ref = _b.ref, style = _b.style, placement = _a.placement;\n return (\n // data attribute allows popper.js to position the arrow\n React.createElement(\"div\", { \"aria-hidden\": true, className: Classes.POPOVER_ARROW, \"data-popper-arrow\": true, ref: ref, style: __assign(__assign({}, style), getArrowReferenceOffsetStyle(placement)) },\n React.createElement(\"svg\", { viewBox: \"0 0 \".concat(POPOVER_ARROW_SVG_SIZE, \" \").concat(POPOVER_ARROW_SVG_SIZE), style: { transform: \"rotate(\".concat(getArrowAngle(placement), \"deg)\") } },\n React.createElement(\"path\", { className: Classes.POPOVER_ARROW + \"-border\", d: SVG_SHADOW_PATH }),\n React.createElement(\"path\", { className: Classes.POPOVER_ARROW + \"-fill\", d: SVG_ARROW_PATH }))));\n};\nPopoverArrow.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".PopoverArrow\");\n//# sourceMappingURL=popoverArrow.js.map","/*\n * Copyright 2021 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport * as React from \"react\";\nvar noOpDispatch = function () { return null; };\nexport var TooltipContext = React.createContext([\n {},\n noOpDispatch,\n]);\nvar tooltipContextReducer = function (state, action) {\n switch (action.type) {\n case \"FORCE_DISABLED_STATE\":\n return { forceDisabled: true };\n case \"RESET_DISABLED_STATE\":\n return {};\n default:\n return state;\n }\n};\nexport var TooltipProvider = function (_a) {\n var children = _a.children, forceDisable = _a.forceDisable;\n var _b = React.useReducer(tooltipContextReducer, {}), state = _b[0], dispatch = _b[1];\n React.useEffect(function () {\n if (forceDisable) {\n dispatch({ type: \"FORCE_DISABLED_STATE\" });\n }\n else {\n dispatch({ type: \"RESET_DISABLED_STATE\" });\n }\n }, [forceDisable]);\n return (React.createElement(TooltipContext.Provider, { value: [state, dispatch] }, typeof children === \"function\" ? children(state) : children));\n};\n//# sourceMappingURL=tooltipContext.js.map","/*\n * Copyright 2021 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign, __extends, __rest } from \"tslib\";\nimport classNames from \"classnames\";\nimport * as React from \"react\";\nimport { AbstractPureComponent, DISPLAYNAME_PREFIX } from \"../../common\";\nimport * as Classes from \"../../common/classes\";\n// eslint-disable-next-line import/no-cycle\nimport { Popover } from \"../popover/popover\";\nimport { TOOLTIP_ARROW_SVG_SIZE } from \"../popover/popoverArrow\";\nimport { TooltipContext, TooltipProvider } from \"../popover/tooltipContext\";\n/**\n * Tooltip component.\n *\n * @see https://blueprintjs.com/docs/#core/components/tooltip\n */\nvar Tooltip = /** @class */ (function (_super) {\n __extends(Tooltip, _super);\n function Tooltip() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.popoverRef = React.createRef();\n // any descendant ContextMenus may update this ctxState\n _this.renderPopover = function (ctxState) {\n var _a;\n var _b;\n var _c = _this.props, children = _c.children, compact = _c.compact, disabled = _c.disabled, intent = _c.intent, popoverClassName = _c.popoverClassName, restProps = __rest(_c, [\"children\", \"compact\", \"disabled\", \"intent\", \"popoverClassName\"]);\n var popoverClasses = classNames(Classes.TOOLTIP, Classes.intentClass(intent), popoverClassName, (_a = {},\n _a[Classes.COMPACT] = compact,\n _a));\n return (React.createElement(Popover, __assign({ modifiers: {\n arrow: {\n enabled: !_this.props.minimal,\n },\n offset: {\n options: {\n offset: [0, TOOLTIP_ARROW_SVG_SIZE / 2],\n },\n },\n } }, restProps, { autoFocus: false, canEscapeKeyClose: false, disabled: (_b = ctxState.forceDisabled) !== null && _b !== void 0 ? _b : disabled, enforceFocus: false, lazy: true, popoverClassName: popoverClasses, portalContainer: _this.props.portalContainer, ref: _this.popoverRef }), children));\n };\n return _this;\n }\n Tooltip.prototype.render = function () {\n var _this = this;\n // if we have an ancestor TooltipContext, we should take its state into account in this render path,\n // it was likely created by a parent ContextMenu\n return (React.createElement(TooltipContext.Consumer, null, function (_a) {\n var state = _a[0];\n return React.createElement(TooltipProvider, __assign({}, state), _this.renderPopover);\n }));\n };\n Tooltip.prototype.reposition = function () {\n var _a;\n (_a = this.popoverRef.current) === null || _a === void 0 ? void 0 : _a.reposition();\n };\n Tooltip.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".Tooltip\");\n Tooltip.defaultProps = {\n compact: false,\n hoverCloseDelay: 0,\n hoverOpenDelay: 100,\n interactionKind: \"hover-target\",\n minimal: false,\n transitionDuration: 100,\n };\n return Tooltip;\n}(AbstractPureComponent));\nexport { Tooltip };\n//# sourceMappingURL=tooltip.js.map","/*\n * Copyright 2022 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n// tslint:disable object-literal-sort-keys\n// adapted from https://popper.js.org/docs/v2/modifiers/community-modifiers/\nexport var matchReferenceWidthModifier = {\n enabled: true,\n name: \"matchReferenceWidth\",\n phase: \"beforeWrite\",\n requires: [\"computeStyles\"],\n fn: function (_a) {\n var state = _a.state;\n state.styles.popper.width = \"\".concat(state.rects.reference.width, \"px\");\n },\n effect: function (_a) {\n var state = _a.state;\n var referenceWidth = state.elements.reference.getBoundingClientRect().width;\n state.elements.popper.style.width = \"\".concat(referenceWidth, \"px\");\n },\n};\n//# sourceMappingURL=customModifiers.js.map","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign } from \"tslib\";\nimport { Position } from \"../../common\";\nexport var PopoverPosition = __assign(__assign({}, Position), { AUTO: \"auto\", AUTO_END: \"auto-end\", AUTO_START: \"auto-start\" });\n//# sourceMappingURL=popoverPosition.js.map","/*\n * Copyright 2021 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { PopoverPosition } from \"./popoverPosition\";\n/**\n * Convert a position to a placement.\n *\n * @param position the position to convert\n */\nexport function positionToPlacement(position) {\n /* istanbul ignore next */\n switch (position) {\n case PopoverPosition.TOP_LEFT:\n return \"top-start\";\n case PopoverPosition.TOP:\n return \"top\";\n case PopoverPosition.TOP_RIGHT:\n return \"top-end\";\n case PopoverPosition.RIGHT_TOP:\n return \"right-start\";\n case PopoverPosition.RIGHT:\n return \"right\";\n case PopoverPosition.RIGHT_BOTTOM:\n return \"right-end\";\n case PopoverPosition.BOTTOM_RIGHT:\n return \"bottom-end\";\n case PopoverPosition.BOTTOM:\n return \"bottom\";\n case PopoverPosition.BOTTOM_LEFT:\n return \"bottom-start\";\n case PopoverPosition.LEFT_BOTTOM:\n return \"left-end\";\n case PopoverPosition.LEFT:\n return \"left\";\n case PopoverPosition.LEFT_TOP:\n return \"left-start\";\n case \"auto\":\n case \"auto-start\":\n case \"auto-end\":\n // Return the string unchanged.\n return position;\n default:\n return assertNever(position);\n }\n}\n/* istanbul ignore next */\nfunction assertNever(x) {\n throw new Error(\"Unexpected position: \" + x);\n}\n//# sourceMappingURL=popoverPlacementUtils.js.map","/*\n * Copyright 2021 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign, __extends } from \"tslib\";\nimport classNames from \"classnames\";\nimport * as React from \"react\";\nimport { Manager, Popper, Reference, } from \"react-popper\";\nimport { AbstractPureComponent, Classes, DISPLAYNAME_PREFIX, mergeRefs, refHandler, Utils, } from \"../../common\";\nimport * as Errors from \"../../common/errors\";\nimport { Overlay } from \"../overlay/overlay\";\nimport { ResizeSensor } from \"../resize-sensor/resizeSensor\";\n// eslint-disable-next-line import/no-cycle\nimport { Tooltip } from \"../tooltip/tooltip\";\nimport { matchReferenceWidthModifier } from \"./customModifiers\";\nimport { POPOVER_ARROW_SVG_SIZE, PopoverArrow } from \"./popoverArrow\";\nimport { positionToPlacement } from \"./popoverPlacementUtils\";\nimport { getBasePlacement, getTransformOrigin } from \"./popperUtils\";\nexport var PopoverInteractionKind = {\n CLICK: \"click\",\n CLICK_TARGET_ONLY: \"click-target\",\n HOVER: \"hover\",\n HOVER_TARGET_ONLY: \"hover-target\",\n};\n/**\n * Popover component, used to display a floating UI next to and tethered to a target element.\n *\n * @template T target element props interface. Consumers wishing to stay in sync with Blueprint's default target HTML\n * props interface should use the `DefaultPopoverTargetHTMLProps` type (although this is already the default type for\n * this type param).\n * @see https://blueprintjs.com/docs/#core/components/popover\n */\nvar Popover = /** @class */ (function (_super) {\n __extends(Popover, _super);\n function Popover() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.state = {\n hasDarkParent: false,\n isClosingViaEscapeKeypress: false,\n isOpen: _this.getIsOpen(_this.props),\n };\n /**\n * DOM element that contains the popover.\n * When `usePortal={true}`, this element will be portaled outside the usual DOM flow,\n * so this reference can be very useful for testing.\n *\n * @public for testing\n */\n _this.popoverElement = null;\n /** Popover ref handler */\n _this.popoverRef = refHandler(_this, \"popoverElement\", _this.props.popoverRef);\n /**\n * Target DOM element ref.\n *\n * N.B. this must be a ref object since we pass it to `<ResizeSensor>`, which needs to know about the target\n * DOM element in order to observe its dimensions.\n *\n * @public for testing\n */\n _this.targetRef = React.createRef();\n // a flag that lets us detect mouse movement between the target and popover,\n // now that mouseleave is triggered when you cross the gap between the two.\n _this.isMouseInTargetOrPopover = false;\n // a flag that indicates whether the target previously lost focus to another\n // element on the same page.\n _this.lostFocusOnSamePage = true;\n _this.isControlled = function () { return _this.props.isOpen !== undefined; };\n // arrow is disabled if minimal, or if the arrow modifier was explicitly disabled\n _this.isArrowEnabled = function () { var _a, _b; return !_this.props.minimal && ((_b = (_a = _this.props.modifiers) === null || _a === void 0 ? void 0 : _a.arrow) === null || _b === void 0 ? void 0 : _b.enabled) !== false; };\n _this.isHoverInteractionKind = function () {\n return (_this.props.interactionKind === PopoverInteractionKind.HOVER ||\n _this.props.interactionKind === PopoverInteractionKind.HOVER_TARGET_ONLY);\n };\n /**\n * Instance method to instruct the `Popover` to recompute its position.\n *\n * This method should only be used if you are updating the target in a way\n * that does not cause it to re-render, such as changing its _position_\n * without changing its _size_ (since `Popover` already repositions when it\n * detects a resize).\n */\n _this.reposition = function () { var _a; return (_a = _this.popperScheduleUpdate) === null || _a === void 0 ? void 0 : _a.call(_this); };\n _this.renderTarget = function (_a) {\n var _b, _c;\n var _d, _e;\n var popperChildRef = _a.ref;\n var _f = _this.props, children = _f.children, className = _f.className, fill = _f.fill, openOnTargetFocus = _f.openOnTargetFocus, renderTarget = _f.renderTarget;\n var isOpen = _this.state.isOpen;\n var isControlled = _this.isControlled();\n var isHoverInteractionKind = _this.isHoverInteractionKind();\n var targetTagName = _this.props.targetTagName;\n if (fill) {\n targetTagName = \"div\";\n }\n // react-popper has a wide type for this ref, but we can narrow it based on the source\n // see https://github.com/floating-ui/react-popper/blob/beac280d61082852c4efc302be902911ce2d424c/src/Reference.js#L17\n var ref = mergeRefs(popperChildRef, _this.targetRef);\n var targetEventHandlers = isHoverInteractionKind\n ? {\n // HOVER handlers\n onBlur: _this.handleTargetBlur,\n onContextMenu: _this.handleTargetContextMenu,\n onFocus: _this.handleTargetFocus,\n onMouseEnter: _this.handleMouseEnter,\n onMouseLeave: _this.handleMouseLeave,\n }\n : {\n // CLICK needs only one handler\n onClick: _this.handleTargetClick,\n // For keyboard accessibility, trigger the same behavior as a click event upon pressing ENTER/SPACE\n onKeyDown: _this.handleKeyDown,\n };\n // Ensure target is focusable if relevant prop enabled\n var targetTabIndex = openOnTargetFocus && isHoverInteractionKind ? 0 : undefined;\n var ownTargetProps = __assign({ \"aria-expanded\": isOpen, \"aria-haspopup\": (_d = _this.props.popupKind) !== null && _d !== void 0 ? _d : (_this.props.interactionKind === PopoverInteractionKind.HOVER_TARGET_ONLY\n ? undefined\n : \"true\"), \n // N.B. this.props.className is passed along to renderTarget even though the user would have access to it.\n // If, instead, renderTarget is undefined and the target is provided as a child, this.props.className is\n // applied to the generated target wrapper element.\n className: classNames(className, Classes.POPOVER_TARGET, (_b = {},\n _b[Classes.POPOVER_OPEN] = isOpen,\n // this class is mainly useful for button targets\n _b[Classes.ACTIVE] = isOpen && !isControlled && !isHoverInteractionKind,\n _b)), ref: ref }, targetEventHandlers);\n var targetModifierClasses = (_c = {},\n // this class is mainly useful for Blueprint <Button> targets; we should only apply it for\n // uncontrolled popovers when they are opened by a user interaction\n _c[Classes.ACTIVE] = isOpen && !isControlled && !isHoverInteractionKind,\n // similarly, this class is mainly useful for targets like <Button>, <InputGroup>, etc.\n _c[Classes.FILL] = fill,\n _c);\n var target;\n if (renderTarget !== undefined) {\n target = renderTarget(__assign(__assign({}, ownTargetProps), { className: classNames(ownTargetProps.className, targetModifierClasses), \n // if the consumer renders a tooltip target, it's their responsibility to disable that tooltip\n // when *this* popover is open\n isOpen: isOpen, tabIndex: targetTabIndex }));\n }\n else {\n var childTarget = Utils.ensureElement(React.Children.toArray(children)[0]);\n if (childTarget === undefined) {\n return null;\n }\n var clonedTarget = React.cloneElement(childTarget, {\n className: classNames(childTarget.props.className, targetModifierClasses),\n // force disable single Tooltip child when popover is open\n disabled: isOpen && Utils.isElementOfType(childTarget, Tooltip) ? true : childTarget.props.disabled,\n tabIndex: (_e = childTarget.props.tabIndex) !== null && _e !== void 0 ? _e : targetTabIndex,\n });\n var wrappedTarget = React.createElement(targetTagName, __assign(__assign({}, ownTargetProps), _this.props.targetProps), clonedTarget);\n target = wrappedTarget;\n }\n // No need to use the merged `ref` here, that only needs to be forwarded to the child node so that React can\n // notify both popper.js and our components about the mounted DOM element.\n return (React.createElement(ResizeSensor, { targetRef: _this.targetRef, onResize: _this.reposition }, target));\n };\n _this.renderPopover = function (popperProps) {\n var _a;\n var _b = _this.props, autoFocus = _b.autoFocus, enforceFocus = _b.enforceFocus, backdropProps = _b.backdropProps, canEscapeKeyClose = _b.canEscapeKeyClose, hasBackdrop = _b.hasBackdrop, interactionKind = _b.interactionKind, usePortal = _b.usePortal;\n var _c = _this.state, isClosingViaEscapeKeypress = _c.isClosingViaEscapeKeypress, isOpen = _c.isOpen;\n // compute an appropriate transform origin so the scale animation points towards target\n var transformOrigin = getTransformOrigin(popperProps.placement, _this.isArrowEnabled() ? popperProps.arrowProps.style : undefined);\n // need to update our reference to this function on every render as it will change.\n _this.popperScheduleUpdate = popperProps.update;\n var popoverHandlers = {\n // always check popover clicks for dismiss class\n onClick: _this.handlePopoverClick,\n // treat ENTER/SPACE keys the same as a click for accessibility\n onKeyDown: function (event) { return Utils.isKeyboardClick(event) && _this.handlePopoverClick(event); },\n };\n if (interactionKind === PopoverInteractionKind.HOVER ||\n (!usePortal && interactionKind === PopoverInteractionKind.HOVER_TARGET_ONLY)) {\n popoverHandlers.onMouseEnter = _this.handleMouseEnter;\n popoverHandlers.onMouseLeave = _this.handleMouseLeave;\n }\n var basePlacement = getBasePlacement(popperProps.placement);\n var popoverClasses = classNames(Classes.POPOVER, (_a = {},\n _a[Classes.DARK] = _this.props.inheritDarkTheme && _this.state.hasDarkParent,\n _a[Classes.MINIMAL] = _this.props.minimal,\n _a[Classes.POPOVER_CAPTURING_DISMISS] = _this.props.captureDismiss,\n _a[Classes.POPOVER_MATCH_TARGET_WIDTH] = _this.props.matchTargetWidth,\n _a[Classes.POPOVER_REFERENCE_HIDDEN] = popperProps.isReferenceHidden === true,\n _a[Classes.POPOVER_POPPER_ESCAPED] = popperProps.hasPopperEscaped === true,\n _a), \"\".concat(Classes.POPOVER_CONTENT_PLACEMENT, \"-\").concat(basePlacement), _this.props.popoverClassName);\n var defaultAutoFocus = _this.isHoverInteractionKind() ? false : undefined;\n // if hover interaction, it doesn't make sense to take over focus control\n var shouldReturnFocusOnClose = _this.isHoverInteractionKind()\n ? false\n : isClosingViaEscapeKeypress\n ? true\n : _this.props.shouldReturnFocusOnClose;\n return (React.createElement(Overlay, { autoFocus: autoFocus !== null && autoFocus !== void 0 ? autoFocus : defaultAutoFocus, backdropClassName: Classes.POPOVER_BACKDROP, backdropProps: backdropProps, canEscapeKeyClose: canEscapeKeyClose, canOutsideClickClose: interactionKind === PopoverInteractionKind.CLICK, enforceFocus: enforceFocus, hasBackdrop: hasBackdrop, isOpen: isOpen, lazy: _this.props.lazy, onClose: _this.handleOverlayClose, onClosed: _this.props.onClosed, onClosing: _this.props.onClosing, onOpened: _this.props.onOpened, onOpening: _this.props.onOpening, transitionDuration: _this.props.transitionDuration, transitionName: Classes.POPOVER, usePortal: usePortal, portalClassName: _this.props.portalClassName, portalContainer: _this.props.portalContainer, portalStopPropagationEvents: _this.props.portalStopPropagationEvents, shouldReturnFocusOnClose: shouldReturnFocusOnClose },\n React.createElement(\"div\", { className: Classes.POPOVER_TRANSITION_CONTAINER, ref: popperProps.ref, style: popperProps.style },\n React.createElement(ResizeSensor, { onResize: _this.reposition },\n React.createElement(\"div\", __assign({ className: popoverClasses, style: { transformOrigin: transformOrigin }, ref: _this.popoverRef }, popoverHandlers),\n _this.isArrowEnabled() && (React.createElement(PopoverArrow, { arrowProps: popperProps.arrowProps, placement: popperProps.placement })),\n React.createElement(\"div\", { className: Classes.POPOVER_CONTENT }, _this.props.content))))));\n };\n _this.handleTargetFocus = function (e) {\n if (_this.props.openOnTargetFocus && _this.isHoverInteractionKind()) {\n if (e.relatedTarget == null && !_this.lostFocusOnSamePage) {\n // ignore this focus event -- the target was already focused but the page itself\n // lost focus (e.g. due to switching tabs).\n return;\n }\n _this.handleMouseEnter(e);\n }\n };\n _this.handleTargetBlur = function (e) {\n if (_this.props.openOnTargetFocus && _this.isHoverInteractionKind()) {\n if (e.relatedTarget != null) {\n // if the next element to receive focus is within the popover, we'll want to leave the\n // popover open.\n if (e.relatedTarget !== _this.popoverElement &&\n !_this.isElementInPopover(e.relatedTarget)) {\n _this.handleMouseLeave(e);\n }\n }\n else {\n _this.handleMouseLeave(e);\n }\n }\n _this.lostFocusOnSamePage = e.relatedTarget != null;\n };\n _this.handleTargetContextMenu = function (e) {\n // we assume that when someone prevents the default interaction on this event (a browser native context menu),\n // they are showing a custom context menu (as ContextMenu2 does); in this case, we should close this popover/tooltip\n if (e.defaultPrevented) {\n _this.setOpenState(false, e);\n }\n };\n _this.handleMouseEnter = function (e) {\n _this.isMouseInTargetOrPopover = true;\n // if we're entering the popover, and the mode is set to be HOVER_TARGET_ONLY, we want to manually\n // trigger the mouse leave event, as hovering over the popover shouldn't count.\n if (!_this.props.usePortal &&\n _this.isElementInPopover(e.target) &&\n _this.props.interactionKind === PopoverInteractionKind.HOVER_TARGET_ONLY &&\n !_this.props.openOnTargetFocus) {\n _this.handleMouseLeave(e);\n }\n else if (!_this.props.disabled) {\n // only begin opening popover when it is enabled\n _this.setOpenState(true, e, _this.props.hoverOpenDelay);\n }\n };\n _this.handleMouseLeave = function (e) {\n _this.isMouseInTargetOrPopover = false;\n // wait until the event queue is flushed, because we want to leave the\n // popover open if the mouse entered the popover immediately after\n // leaving the target (or vice versa).\n _this.setTimeout(function () {\n if (_this.isMouseInTargetOrPopover) {\n return;\n }\n // user-configurable closing delay is helpful when moving mouse from target to popover\n _this.setOpenState(false, e, _this.props.hoverCloseDelay);\n });\n };\n _this.handlePopoverClick = function (e) {\n var _a, _b, _c;\n var eventTarget = e.target;\n var eventPopover = eventTarget.closest(\".\".concat(Classes.POPOVER));\n var eventPopoverV1 = eventTarget.closest(\".\".concat(Classes.POPOVER));\n var isEventFromSelf = (eventPopover !== null && eventPopover !== void 0 ? eventPopover : eventPopoverV1) === _this.getPopoverElement();\n var isEventPopoverCapturing = (_b = (_a = eventPopover === null || eventPopover === void 0 ? void 0 : eventPopover.classList.contains(Classes.POPOVER_CAPTURING_DISMISS)) !== null && _a !== void 0 ? _a : eventPopoverV1 === null || eventPopoverV1 === void 0 ? void 0 : eventPopoverV1.classList.contains(Classes.POPOVER_CAPTURING_DISMISS)) !== null && _b !== void 0 ? _b : false;\n // an OVERRIDE inside a DISMISS does not dismiss, and a DISMISS inside an OVERRIDE will dismiss.\n var dismissElement = eventTarget.closest(\".\".concat(Classes.POPOVER_DISMISS, \", .\").concat(Classes.POPOVER_DISMISS_OVERRIDE));\n var shouldDismiss = (_c = dismissElement === null || dismissElement === void 0 ? void 0 : dismissElement.classList.contains(Classes.POPOVER_DISMISS)) !== null && _c !== void 0 ? _c : false;\n var isDisabled = eventTarget.closest(\":disabled, .\".concat(Classes.DISABLED)) != null;\n if (shouldDismiss && !isDisabled && (!isEventPopoverCapturing || isEventFromSelf)) {\n _this.setOpenState(false, e);\n }\n };\n _this.handleOverlayClose = function (e) {\n var _a;\n if (_this.targetRef.current == null || e === undefined) {\n return;\n }\n var event = ((_a = e.nativeEvent) !== null && _a !== void 0 ? _a : e);\n var eventTarget = (event.composed ? event.composedPath()[0] : event.target);\n // if click was in target, target event listener will handle things, so don't close\n if (!Utils.elementIsOrContains(_this.targetRef.current, eventTarget) || e.nativeEvent instanceof KeyboardEvent) {\n _this.setOpenState(false, e);\n }\n };\n _this.handleKeyDown = function (e) {\n var isKeyboardClick = Utils.isKeyboardClick(e);\n // For keyboard accessibility, trigger the same behavior as a click event upon pressing ENTER/SPACE\n if (isKeyboardClick) {\n _this.handleTargetClick(e);\n }\n };\n _this.handleTargetClick = function (e) {\n // Target element(s) may fire simulated click event upon pressing ENTER/SPACE, which we should ignore\n // see: https://github.com/palantir/blueprint/issues/5775\n var shouldIgnoreClick = _this.state.isOpen && _this.isSimulatedButtonClick(e);\n if (!shouldIgnoreClick) {\n // ensure click did not originate from within inline popover before closing\n if (!_this.props.disabled && !_this.isElementInPopover(e.target)) {\n if (_this.props.isOpen == null) {\n _this.setState(function (prevState) { return ({ isOpen: !prevState.isOpen }); });\n }\n else {\n _this.setOpenState(!_this.props.isOpen, e);\n }\n }\n }\n };\n _this.isSimulatedButtonClick = function (e) {\n return !e.isTrusted && e.target.matches(\".\".concat(Classes.BUTTON));\n };\n return _this;\n }\n // popper innerRef gives us a handle on the transition container, since that's what we render as the overlay child,\n // so if we want to look at our actual popover element, we need to reach inside a bit\n Popover.prototype.getPopoverElement = function () {\n var _a;\n return (_a = this.popoverElement) === null || _a === void 0 ? void 0 : _a.querySelector(\".\".concat(Classes.POPOVER));\n };\n Popover.prototype.getIsOpen = function (props) {\n var _a;\n // disabled popovers should never be allowed to open.\n if (props.disabled) {\n return false;\n }\n else {\n return (_a = props.isOpen) !== null && _a !== void 0 ? _a : props.defaultIsOpen;\n }\n };\n Popover.prototype.render = function () {\n var _a = this.props, disabled = _a.disabled, content = _a.content, placement = _a.placement, _b = _a.position, position = _b === void 0 ? \"auto\" : _b, positioningStrategy = _a.positioningStrategy;\n var isOpen = this.state.isOpen;\n var isContentEmpty = content == null || (typeof content === \"string\" && content.trim() === \"\");\n if (isContentEmpty) {\n // need to do this check in render(), because `isOpen` is derived from\n // state, and state can't necessarily be accessed in validateProps.\n if (!disabled && isOpen !== false && !Utils.isNodeEnv(\"production\")) {\n console.warn(Errors.POPOVER_WARN_EMPTY_CONTENT);\n }\n // just render the target without a content overlay if there is no content to display\n return this.renderTarget({ ref: noop });\n }\n // Important: do not use <Reference innerRef> since it has a bug when used in React 18 strict mode\n // see https://github.com/floating-ui/react-popper/pull/459\n return (React.createElement(Manager, null,\n React.createElement(Reference, null, this.renderTarget),\n React.createElement(Popper, { innerRef: this.popoverRef, placement: placement !== null && placement !== void 0 ? placement : positionToPlacement(position), strategy: positioningStrategy, modifiers: this.getPopperModifiers() }, this.renderPopover)));\n };\n Popover.prototype.componentDidMount = function () {\n this.updateDarkParent();\n };\n Popover.prototype.componentDidUpdate = function (props, state) {\n _super.prototype.componentDidUpdate.call(this, props, state);\n this.updateDarkParent();\n var nextIsOpen = this.getIsOpen(this.props);\n if (this.props.isOpen != null && nextIsOpen !== this.state.isOpen) {\n this.setOpenState(nextIsOpen);\n // tricky: setOpenState calls setState only if this.props.isOpen is\n // not controlled, so we need to invoke setState manually here.\n this.setState({ isOpen: nextIsOpen });\n }\n else if (this.props.disabled && this.state.isOpen && this.props.isOpen == null) {\n // special case: close an uncontrolled popover when disabled is set to true\n this.setOpenState(false);\n }\n };\n Popover.prototype.validateProps = function (props) {\n if (props.isOpen == null && props.onInteraction != null) {\n console.warn(Errors.POPOVER_WARN_UNCONTROLLED_ONINTERACTION);\n }\n if (props.hasBackdrop && !props.usePortal) {\n console.warn(Errors.POPOVER_WARN_HAS_BACKDROP_INLINE);\n }\n if (props.hasBackdrop && props.interactionKind !== PopoverInteractionKind.CLICK) {\n console.warn(Errors.POPOVER_HAS_BACKDROP_INTERACTION);\n }\n if (props.placement !== undefined && props.position !== undefined) {\n console.warn(Errors.POPOVER_WARN_PLACEMENT_AND_POSITION_MUTEX);\n }\n var childrenCount = React.Children.count(props.children);\n var hasRenderTargetProp = props.renderTarget !== undefined;\n var hasTargetPropsProp = props.targetProps !== undefined;\n if (childrenCount === 0 && !hasRenderTargetProp) {\n console.warn(Errors.POPOVER_REQUIRES_TARGET);\n }\n if (childrenCount > 1) {\n console.warn(Errors.POPOVER_WARN_TOO_MANY_CHILDREN);\n }\n if (childrenCount > 0 && hasRenderTargetProp) {\n console.warn(Errors.POPOVER_WARN_DOUBLE_TARGET);\n }\n if (hasRenderTargetProp && hasTargetPropsProp) {\n console.warn(Errors.POPOVER_WARN_TARGET_PROPS_WITH_RENDER_TARGET);\n }\n };\n Popover.prototype.getPopperModifiers = function () {\n var _a, _b, _c, _d;\n var _e = this.props, matchTargetWidth = _e.matchTargetWidth, modifiers = _e.modifiers, modifiersCustom = _e.modifiersCustom;\n var popperModifiers = [\n __assign({ enabled: this.isArrowEnabled(), name: \"arrow\" }, modifiers === null || modifiers === void 0 ? void 0 : modifiers.arrow),\n __assign(__assign({ name: \"computeStyles\" }, modifiers === null || modifiers === void 0 ? void 0 : modifiers.computeStyles), { options: __assign({ adaptive: true, \n // We disable the built-in gpuAcceleration so that\n // Popper.js will return us easy to interpolate values\n // (top, left instead of transform: translate3d)\n // We'll then use these values to generate the needed\n // css transform values blended with the react-spring values\n gpuAcceleration: false }, (_a = modifiers === null || modifiers === void 0 ? void 0 : modifiers.computeStyles) === null || _a === void 0 ? void 0 : _a.options) }),\n __assign(__assign({ enabled: this.isArrowEnabled(), name: \"offset\" }, modifiers === null || modifiers === void 0 ? void 0 : modifiers.offset), { options: __assign({ offset: [0, POPOVER_ARROW_SVG_SIZE / 2] }, (_b = modifiers === null || modifiers === void 0 ? void 0 : modifiers.offset) === null || _b === void 0 ? void 0 : _b.options) }),\n __assign(__assign({ name: \"flip\" }, modifiers === null || modifiers === void 0 ? void 0 : modifiers.flip), { options: __assign({ boundary: this.props.boundary, rootBoundary: this.props.rootBoundary }, (_c = modifiers === null || modifiers === void 0 ? void 0 : modifiers.flip) === null || _c === void 0 ? void 0 : _c.options) }),\n __assign(__assign({ name: \"preventOverflow\" }, modifiers === null || modifiers === void 0 ? void 0 : modifiers.preventOverflow), { options: __assign({ boundary: this.props.boundary, rootBoundary: this.props.rootBoundary }, (_d = modifiers === null || modifiers === void 0 ? void 0 : modifiers.preventOverflow) === null || _d === void 0 ? void 0 : _d.options) }),\n ];\n if (matchTargetWidth) {\n popperModifiers.push(matchReferenceWidthModifier);\n }\n if (modifiersCustom !== undefined) {\n popperModifiers.push.apply(popperModifiers, modifiersCustom);\n }\n return popperModifiers;\n };\n // a wrapper around setState({ isOpen }) that will call props.onInteraction instead when in controlled mode.\n // starts a timeout to delay changing the state if a non-zero duration is provided.\n Popover.prototype.setOpenState = function (isOpen, e, timeout) {\n var _this = this;\n var _a, _b, _c, _d, _e;\n // cancel any existing timeout because we have new state\n (_a = this.cancelOpenTimeout) === null || _a === void 0 ? void 0 : _a.call(this);\n if (timeout !== undefined && timeout > 0) {\n this.cancelOpenTimeout = this.setTimeout(function () { return _this.setOpenState(isOpen, e); }, timeout);\n }\n else {\n if (this.props.isOpen == null) {\n this.setState({ isOpen: isOpen });\n }\n else {\n (_c = (_b = this.props).onInteraction) === null || _c === void 0 ? void 0 : _c.call(_b, isOpen, e);\n }\n if (!isOpen) {\n // non-null assertion because the only time `e` is undefined is when in controlled mode\n // or the rare special case in uncontrolled mode when the `disabled` flag is toggled true\n (_e = (_d = this.props).onClose) === null || _e === void 0 ? void 0 : _e.call(_d, e);\n this.setState({ isClosingViaEscapeKeypress: isEscapeKeypressEvent(e === null || e === void 0 ? void 0 : e.nativeEvent) });\n }\n }\n };\n Popover.prototype.updateDarkParent = function () {\n var _a;\n if (this.props.usePortal && this.state.isOpen) {\n var hasDarkParent = ((_a = this.targetRef.current) === null || _a === void 0 ? void 0 : _a.closest(\".\".concat(Classes.DARK))) != null;\n this.setState({ hasDarkParent: hasDarkParent });\n }\n };\n Popover.prototype.isElementInPopover = function (element) {\n var _a, _b;\n return (_b = (_a = this.getPopoverElement()) === null || _a === void 0 ? void 0 : _a.contains(element)) !== null && _b !== void 0 ? _b : false;\n };\n Popover.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".Popover\");\n Popover.defaultProps = {\n boundary: \"clippingParents\",\n captureDismiss: false,\n defaultIsOpen: false,\n disabled: false,\n fill: false,\n hasBackdrop: false,\n hoverCloseDelay: 300,\n hoverOpenDelay: 150,\n inheritDarkTheme: true,\n interactionKind: PopoverInteractionKind.CLICK,\n matchTargetWidth: false,\n minimal: false,\n openOnTargetFocus: true,\n // N.B. we don't set a default for `placement` or `position` here because that would trigger\n // a warning in validateProps if the other prop is specified by a user of this component\n positioningStrategy: \"absolute\",\n renderTarget: undefined,\n shouldReturnFocusOnClose: false,\n targetTagName: \"span\",\n transitionDuration: 300,\n usePortal: true,\n };\n return Popover;\n}(AbstractPureComponent));\nexport { Popover };\nfunction isEscapeKeypressEvent(e) {\n return e instanceof KeyboardEvent && e.key === \"Escape\";\n}\nfunction noop() {\n // no-op\n}\n//# sourceMappingURL=popover.js.map","/*\n * Copyright 2022 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign, __rest } from \"tslib\";\nimport classNames from \"classnames\";\nimport * as React from \"react\";\nimport { CaretRight, SmallTick } from \"@blueprintjs/icons\";\nimport { Classes } from \"../../common\";\nimport { DISPLAYNAME_PREFIX, removeNonHTMLProps } from \"../../common/props\";\nimport { clickElementOnKeyPress } from \"../../common/utils\";\nimport { Icon } from \"../icon/icon\";\nimport { Popover } from \"../popover/popover\";\nimport { Text } from \"../text/text\";\nimport { Menu } from \"./menu\";\n/**\n * Menu item component.\n *\n * @see https://blueprintjs.com/docs/#core/components/menu.menu-item\n */\nexport var MenuItem = React.forwardRef(function (props, ref) {\n var _a, _b;\n var active = props.active, className = props.className, children = props.children, disabled = props.disabled, icon = props.icon, intent = props.intent, labelClassName = props.labelClassName, labelElement = props.labelElement, multiline = props.multiline, popoverProps = props.popoverProps, _c = props.roleStructure, roleStructure = _c === void 0 ? \"menuitem\" : _c, selected = props.selected, shouldDismissPopover = props.shouldDismissPopover, submenuProps = props.submenuProps, text = props.text, textClassName = props.textClassName, _d = props.tagName, tagName = _d === void 0 ? \"a\" : _d, htmlTitle = props.htmlTitle, htmlProps = __rest(props, [\"active\", \"className\", \"children\", \"disabled\", \"icon\", \"intent\", \"labelClassName\", \"labelElement\", \"multiline\", \"popoverProps\", \"roleStructure\", \"selected\", \"shouldDismissPopover\", \"submenuProps\", \"text\", \"textClassName\", \"tagName\", \"htmlTitle\"]);\n var _e = roleStructure === \"listoption\" // \"listoption\": parent has listbox role, or is a <select>\n ? [\n \"option\",\n undefined,\n Boolean(selected), // aria-selected prop\n ]\n : roleStructure === \"menuitem\" // \"menuitem\": parent has menu role\n ? [\n \"none\",\n \"menuitem\",\n undefined, // don't set aria-selected prop\n ]\n : roleStructure === \"none\" // \"none\": allows wrapping MenuItem in custom <li>\n ? [\n \"none\",\n undefined,\n undefined, // don't set aria-selected prop\n ]\n : // roleStructure === \"listitem\"\n [\n undefined,\n undefined,\n undefined, // don't set aria-selected prop\n ], liRole = _e[0], targetRole = _e[1], ariaSelected = _e[2];\n var isSelectable = roleStructure === \"listoption\";\n var isSelected = isSelectable && selected;\n var hasIcon = icon != null;\n var hasSubmenu = children != null;\n var intentClass = Classes.intentClass(intent);\n var anchorClasses = classNames(Classes.MENU_ITEM, intentClass, (_a = {},\n _a[Classes.ACTIVE] = active,\n _a[Classes.DISABLED] = disabled,\n // prevent popover from closing when clicking on submenu trigger or disabled item\n _a[Classes.POPOVER_DISMISS] = shouldDismissPopover && !disabled && !hasSubmenu,\n _a[Classes.MENU_ITEM_IS_SELECTABLE] = isSelectable,\n _a[Classes.SELECTED] = isSelected,\n _a), className);\n var maybeLabel = props.label == null && labelElement == null ? null : (React.createElement(\"span\", { className: classNames(Classes.MENU_ITEM_LABEL, labelClassName) },\n props.label,\n labelElement));\n var target = React.createElement(tagName, __assign(__assign(__assign({ \n // for menuitems, onClick when enter key pressed doesn't take effect like it does for a button-- fix this\n onKeyDown: clickElementOnKeyPress([\"Enter\", \" \"]), \n // if hasSubmenu, must apply correct role and tabIndex to the outer popover target <span> instead of this target element\n role: hasSubmenu ? \"none\" : targetRole, tabIndex: hasSubmenu ? -1 : 0 }, removeNonHTMLProps(htmlProps)), (disabled ? DISABLED_PROPS : {})), { className: anchorClasses }), isSelected ? React.createElement(SmallTick, { className: Classes.MENU_ITEM_SELECTED_ICON }) : undefined, hasIcon ? (\n // wrap icon in a <span> in case `icon` is a custom element rather than a built-in icon identifier,\n // so that we always render this class\n React.createElement(\"span\", { className: Classes.MENU_ITEM_ICON },\n React.createElement(Icon, { icon: icon, \"aria-hidden\": true, tabIndex: -1 }))) : undefined, React.createElement(Text, { className: classNames(Classes.FILL, textClassName), ellipsize: !multiline, title: htmlTitle }, text), maybeLabel, hasSubmenu ? React.createElement(CaretRight, { className: Classes.MENU_SUBMENU_ICON, title: \"Open sub menu\" }) : undefined);\n var liClasses = classNames((_b = {}, _b[Classes.MENU_SUBMENU] = hasSubmenu, _b));\n return (React.createElement(\"li\", { className: liClasses, ref: ref, role: liRole, \"aria-selected\": ariaSelected }, children == null ? (target) : (React.createElement(Popover, __assign({ autoFocus: false, captureDismiss: false, disabled: disabled, enforceFocus: false, hoverCloseDelay: 0, interactionKind: \"hover\", modifiers: SUBMENU_POPOVER_MODIFIERS, targetProps: { role: targetRole, tabIndex: 0 }, placement: \"right-start\", usePortal: false }, popoverProps, { content: React.createElement(Menu, __assign({}, submenuProps), children), minimal: true, popoverClassName: classNames(Classes.MENU_SUBMENU, popoverProps === null || popoverProps === void 0 ? void 0 : popoverProps.popoverClassName) }), target))));\n});\nMenuItem.defaultProps = {\n active: false,\n disabled: false,\n multiline: false,\n popoverProps: {},\n selected: undefined,\n shouldDismissPopover: true,\n text: \"\",\n};\nMenuItem.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".MenuItem\");\nvar SUBMENU_POPOVER_MODIFIERS = {\n // 20px padding - scrollbar width + a bit\n flip: { options: { rootBoundary: \"viewport\", padding: 20 }, enabled: true },\n // shift popover up 5px so MenuItems align\n offset: { options: { offset: [-5, 0] }, enabled: true },\n preventOverflow: { options: { rootBoundary: \"viewport\", padding: 20 }, enabled: true },\n};\n// props to ignore when disabled\nvar DISABLED_PROPS = {\n \"aria-disabled\": true,\n href: undefined,\n onClick: undefined,\n onMouseDown: undefined,\n onMouseEnter: undefined,\n onMouseLeave: undefined,\n tabIndex: -1,\n};\n//# sourceMappingURL=menuItem.js.map","/*\n * Copyright 2017 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign, __rest } from \"tslib\";\nimport classNames from \"classnames\";\nimport * as React from \"react\";\nimport { Classes } from \"../../common\";\nimport { DISPLAYNAME_PREFIX } from \"../../common/props\";\n// this component is simple enough that tests would be purely tautological.\n/* istanbul ignore next */\n/**\n * Button group component.\n *\n * @see https://blueprintjs.com/docs/#core/components/button-group\n */\nexport var ButtonGroup = React.forwardRef(function (props, ref) {\n var _a;\n var alignText = props.alignText, className = props.className, fill = props.fill, minimal = props.minimal, large = props.large, vertical = props.vertical, htmlProps = __rest(props, [\"alignText\", \"className\", \"fill\", \"minimal\", \"large\", \"vertical\"]);\n var buttonGroupClasses = classNames(Classes.BUTTON_GROUP, (_a = {},\n _a[Classes.FILL] = fill,\n _a[Classes.LARGE] = large,\n _a[Classes.MINIMAL] = minimal,\n _a[Classes.VERTICAL] = vertical,\n _a), Classes.alignmentClass(alignText), className);\n return (React.createElement(\"div\", __assign({}, htmlProps, { ref: ref, className: buttonGroupClasses }), props.children));\n});\nButtonGroup.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".ButtonGroup\");\n//# sourceMappingURL=buttonGroup.js.map","/*\n * Copyright 2017 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign, __rest } from \"tslib\";\nimport classNames from \"classnames\";\nimport * as React from \"react\";\nimport { Classes, Elevation } from \"../../common\";\nimport { DISPLAYNAME_PREFIX } from \"../../common/props\";\n/**\n * Card component.\n *\n * @see https://blueprintjs.com/docs/#core/components/card\n */\nexport var Card = React.forwardRef(function (props, ref) {\n var _a;\n var className = props.className, elevation = props.elevation, interactive = props.interactive, selected = props.selected, compact = props.compact, htmlProps = __rest(props, [\"className\", \"elevation\", \"interactive\", \"selected\", \"compact\"]);\n var classes = classNames(className, Classes.CARD, Classes.elevationClass(elevation), (_a = {},\n _a[Classes.INTERACTIVE] = interactive,\n _a[Classes.COMPACT] = compact,\n _a[Classes.SELECTED] = selected,\n _a));\n return React.createElement(\"div\", __assign({ className: classes, ref: ref }, htmlProps));\n});\nCard.defaultProps = {\n elevation: Elevation.ZERO,\n interactive: false,\n};\nCard.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".Card\");\n//# sourceMappingURL=card.js.map","/*\n * Copyright 2015 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __extends } from \"tslib\";\nimport classNames from \"classnames\";\nimport * as React from \"react\";\nimport { AbstractPureComponent, Classes } from \"../../common\";\nimport { DISPLAYNAME_PREFIX } from \"../../common/props\";\n/**\n * `Collapse` can be in one of six states, enumerated here.\n * When changing the `isOpen` prop, the following happens to the states:\n * isOpen={true} : CLOSED -> OPEN_START -> OPENING -> OPEN\n * isOpen={false} : OPEN -> CLOSING_START -> CLOSING -> CLOSED\n */\nexport var AnimationStates;\n(function (AnimationStates) {\n /**\n * The body is re-rendered, height is set to the measured body height and\n * the body Y is set to 0.\n */\n AnimationStates[AnimationStates[\"OPEN_START\"] = 0] = \"OPEN_START\";\n /**\n * Animation begins, height is set to auto. This is all animated, and on\n * complete, the state changes to OPEN.\n */\n AnimationStates[AnimationStates[\"OPENING\"] = 1] = \"OPENING\";\n /**\n * The collapse height is set to auto, and the body Y is set to 0 (so the\n * element can be seen as normal).\n */\n AnimationStates[AnimationStates[\"OPEN\"] = 2] = \"OPEN\";\n /**\n * Height has been changed from auto to the measured height of the body to\n * prepare for the closing animation in CLOSING.\n */\n AnimationStates[AnimationStates[\"CLOSING_START\"] = 3] = \"CLOSING_START\";\n /**\n * Height is set to 0 and the body Y is at -height. Both of these properties\n * are transformed, and then after the animation is complete, the state\n * changes to CLOSED.\n */\n AnimationStates[AnimationStates[\"CLOSING\"] = 4] = \"CLOSING\";\n /**\n * The contents of the collapse is not rendered, the collapse height is 0,\n * and the body Y is at -height (so that the bottom of the body is at Y=0).\n */\n AnimationStates[AnimationStates[\"CLOSED\"] = 5] = \"CLOSED\";\n})(AnimationStates || (AnimationStates = {}));\n/**\n * Collapse component.\n *\n * @see https://blueprintjs.com/docs/#core/components/collapse\n */\nvar Collapse = /** @class */ (function (_super) {\n __extends(Collapse, _super);\n function Collapse() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.state = {\n animationState: _this.props.isOpen ? AnimationStates.OPEN : AnimationStates.CLOSED,\n height: undefined,\n heightWhenOpen: undefined,\n };\n // The element containing the contents of the collapse.\n _this.contents = null;\n _this.contentsRefHandler = function (el) {\n _this.contents = el;\n if (_this.contents != null) {\n var height = _this.contents.clientHeight;\n _this.setState({\n animationState: _this.props.isOpen ? AnimationStates.OPEN : AnimationStates.CLOSED,\n height: height === 0 ? undefined : \"\".concat(height, \"px\"),\n heightWhenOpen: height === 0 ? undefined : height,\n });\n }\n };\n return _this;\n }\n Collapse.getDerivedStateFromProps = function (props, state) {\n var isOpen = props.isOpen;\n var animationState = state.animationState;\n if (isOpen) {\n switch (animationState) {\n case AnimationStates.OPEN:\n // no-op\n break;\n case AnimationStates.OPENING:\n // allow Collapse#onDelayedStateChange() to handle the transition here\n break;\n default:\n return { animationState: AnimationStates.OPEN_START };\n }\n }\n else {\n switch (animationState) {\n case AnimationStates.CLOSED:\n // no-op\n break;\n case AnimationStates.CLOSING:\n // allow Collapse#onDelayedStateChange() to handle the transition here\n break;\n default:\n // need to set an explicit height so that transition can work\n return {\n animationState: AnimationStates.CLOSING_START,\n height: \"\".concat(state.heightWhenOpen, \"px\"),\n };\n }\n }\n return null;\n };\n Collapse.prototype.render = function () {\n var isContentVisible = this.state.animationState !== AnimationStates.CLOSED;\n var shouldRenderChildren = isContentVisible || this.props.keepChildrenMounted;\n var displayWithTransform = isContentVisible && this.state.animationState !== AnimationStates.CLOSING;\n var isAutoHeight = this.state.height === \"auto\";\n var containerStyle = {\n height: isContentVisible ? this.state.height : undefined,\n overflowY: isAutoHeight ? \"visible\" : undefined,\n // transitions don't work with height: auto\n transition: isAutoHeight ? \"none\" : undefined,\n };\n var contentsStyle = {\n // only use heightWhenOpen while closing\n transform: displayWithTransform ? \"translateY(0)\" : \"translateY(-\".concat(this.state.heightWhenOpen, \"px)\"),\n // transitions don't work with height: auto\n transition: isAutoHeight ? \"none\" : undefined,\n };\n return React.createElement(this.props.component, {\n className: classNames(Classes.COLLAPSE, this.props.className),\n style: containerStyle,\n }, React.createElement(\"div\", { className: Classes.COLLAPSE_BODY, ref: this.contentsRefHandler, style: contentsStyle, \"aria-hidden\": !isContentVisible }, shouldRenderChildren ? this.props.children : null));\n };\n Collapse.prototype.componentDidMount = function () {\n this.forceUpdate();\n // HACKHACK: this should probably be done in getSnapshotBeforeUpdate\n /* eslint-disable react/no-did-mount-set-state */\n if (this.props.isOpen) {\n this.setState({ animationState: AnimationStates.OPEN, height: \"auto\" });\n }\n else {\n this.setState({ animationState: AnimationStates.CLOSED, height: \"0px\" });\n }\n /* eslint-disable react/no-did-mount-set-state */\n };\n Collapse.prototype.componentDidUpdate = function () {\n var _this = this;\n if (this.contents == null) {\n return;\n }\n var transitionDuration = this.props.transitionDuration;\n var animationState = this.state.animationState;\n if (animationState === AnimationStates.OPEN_START) {\n var clientHeight = this.contents.clientHeight;\n this.setState({\n animationState: AnimationStates.OPENING,\n height: \"\".concat(clientHeight, \"px\"),\n heightWhenOpen: clientHeight,\n });\n this.setTimeout(function () { return _this.onDelayedStateChange(); }, transitionDuration);\n }\n else if (animationState === AnimationStates.CLOSING_START) {\n var clientHeight_1 = this.contents.clientHeight;\n this.setTimeout(function () {\n return _this.setState({\n animationState: AnimationStates.CLOSING,\n height: \"0px\",\n heightWhenOpen: clientHeight_1,\n });\n });\n this.setTimeout(function () { return _this.onDelayedStateChange(); }, transitionDuration);\n }\n };\n Collapse.prototype.onDelayedStateChange = function () {\n switch (this.state.animationState) {\n case AnimationStates.OPENING:\n this.setState({ animationState: AnimationStates.OPEN, height: \"auto\" });\n break;\n case AnimationStates.CLOSING:\n this.setState({ animationState: AnimationStates.CLOSED });\n break;\n default:\n break;\n }\n };\n Collapse.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".Collapse\");\n Collapse.defaultProps = {\n component: \"div\",\n isOpen: false,\n keepChildrenMounted: false,\n transitionDuration: 200,\n };\n return Collapse;\n}(AbstractPureComponent));\nexport { Collapse };\n//# sourceMappingURL=collapse.js.map","/*\n * Copyright 2017 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign, __rest } from \"tslib\";\nimport classNames from \"classnames\";\nimport * as React from \"react\";\nimport { Classes } from \"../../common\";\nimport { DISPLAYNAME_PREFIX } from \"../../common/props\";\n// this component is simple enough that tests would be purely tautological.\n/* istanbul ignore next */\n/**\n * Control group component.\n *\n * @see https://blueprintjs.com/docs/#core/components/control-group\n */\nexport var ControlGroup = React.forwardRef(function (props, ref) {\n var _a;\n var children = props.children, className = props.className, fill = props.fill, vertical = props.vertical, htmlProps = __rest(props, [\"children\", \"className\", \"fill\", \"vertical\"]);\n var rootClasses = classNames(Classes.CONTROL_GROUP, (_a = {},\n _a[Classes.FILL] = fill,\n _a[Classes.VERTICAL] = vertical,\n _a), className);\n return (React.createElement(\"div\", __assign({}, htmlProps, { ref: ref, className: rootClasses }), children));\n});\nControlGroup.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".ControlGroup\");\n//# sourceMappingURL=controlGroup.js.map","/*\n * Copyright 2016 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign, __rest } from \"tslib\";\nimport classNames from \"classnames\";\nimport * as React from \"react\";\nimport { Classes, mergeRefs } from \"../../common\";\nimport { DISPLAYNAME_PREFIX } from \"../../common/props\";\n/**\n * Renders common control elements, with additional props to customize appearance.\n * This component is not exported and is only used within this module for `Checkbox`, `Radio`, and `Switch` below.\n */\nvar ControlInternal = React.forwardRef(function (props, ref) {\n var _a;\n var alignIndicator = props.alignIndicator, children = props.children, className = props.className, indicatorChildren = props.indicatorChildren, inline = props.inline, inputRef = props.inputRef, label = props.label, labelElement = props.labelElement, large = props.large, style = props.style, type = props.type, typeClassName = props.typeClassName, _b = props.tagName, tagName = _b === void 0 ? \"label\" : _b, htmlProps = __rest(props, [\"alignIndicator\", \"children\", \"className\", \"indicatorChildren\", \"inline\", \"inputRef\", \"label\", \"labelElement\", \"large\", \"style\", \"type\", \"typeClassName\", \"tagName\"]);\n var classes = classNames(Classes.CONTROL, typeClassName, (_a = {},\n _a[Classes.DISABLED] = htmlProps.disabled,\n _a[Classes.INLINE] = inline,\n _a[Classes.LARGE] = large,\n _a), Classes.alignmentClass(alignIndicator), className);\n return React.createElement(tagName, { className: classes, style: style, ref: ref }, React.createElement(\"input\", __assign({}, htmlProps, { ref: inputRef, type: type })), React.createElement(\"span\", { className: Classes.CONTROL_INDICATOR }, indicatorChildren), label, labelElement, children);\n});\nControlInternal.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".Control\");\n/**\n * Switch component.\n *\n * @see https://blueprintjs.com/docs/#core/components/switch\n */\nexport var Switch = React.forwardRef(function (_a, ref) {\n var innerLabelChecked = _a.innerLabelChecked, innerLabel = _a.innerLabel, controlProps = __rest(_a, [\"innerLabelChecked\", \"innerLabel\"]);\n var switchLabels = innerLabel || innerLabelChecked\n ? [\n React.createElement(\"div\", { key: \"checked\", className: Classes.CONTROL_INDICATOR_CHILD },\n React.createElement(\"div\", { className: Classes.SWITCH_INNER_TEXT }, innerLabelChecked ? innerLabelChecked : innerLabel)),\n React.createElement(\"div\", { key: \"unchecked\", className: Classes.CONTROL_INDICATOR_CHILD },\n React.createElement(\"div\", { className: Classes.SWITCH_INNER_TEXT }, innerLabel)),\n ]\n : null;\n return (React.createElement(ControlInternal, __assign({}, controlProps, { indicatorChildren: switchLabels, ref: ref, type: \"checkbox\", typeClassName: Classes.SWITCH })));\n});\nSwitch.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".Switch\");\n/**\n * Radio component.\n *\n * @see https://blueprintjs.com/docs/#core/components/radio\n */\nexport var Radio = React.forwardRef(function (props, ref) { return (React.createElement(ControlInternal, __assign({}, props, { ref: ref, type: \"radio\", typeClassName: Classes.RADIO }))); });\nRadio.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".Radio\");\n/**\n * Checkbox component.\n *\n * @see https://blueprintjs.com/docs/#core/components/checkbox\n */\nexport var Checkbox = React.forwardRef(function (props, ref) {\n var defaultIndeterminate = props.defaultIndeterminate, indeterminate = props.indeterminate, onChange = props.onChange, controlProps = __rest(props, [\"defaultIndeterminate\", \"indeterminate\", \"onChange\"]);\n var _a = React.useState(indeterminate || defaultIndeterminate || false), isIndeterminate = _a[0], setIsIndeterminate = _a[1];\n var localInputRef = React.useRef(null);\n var inputRef = props.inputRef === undefined ? localInputRef : mergeRefs(props.inputRef, localInputRef);\n var handleChange = React.useCallback(function (evt) {\n // update state immediately only if uncontrolled\n if (indeterminate === undefined) {\n setIsIndeterminate(evt.target.indeterminate);\n }\n // otherwise wait for props change. always invoke handler.\n onChange === null || onChange === void 0 ? void 0 : onChange(evt);\n }, [indeterminate, onChange]);\n React.useEffect(function () {\n if (indeterminate !== undefined) {\n setIsIndeterminate(indeterminate);\n }\n }, [indeterminate]);\n React.useEffect(function () {\n if (localInputRef.current != null) {\n localInputRef.current.indeterminate = isIndeterminate;\n }\n }, [localInputRef, isIndeterminate]);\n return (React.createElement(ControlInternal, __assign({}, controlProps, { inputRef: inputRef, onChange: handleChange, ref: ref, type: \"checkbox\", typeClassName: Classes.CHECKBOX })));\n});\nCheckbox.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".Checkbox\");\n//# sourceMappingURL=controls.js.map","/*\n * Copyright 2017 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign, __extends, __rest } from \"tslib\";\nimport classNames from \"classnames\";\nimport * as React from \"react\";\nimport { AbstractPureComponent, Classes } from \"../../common\";\nimport { DISPLAYNAME_PREFIX } from \"../../common/props\";\nvar NS = Classes.getClassNamespace();\n// this is a simple component, unit tests would be mostly tautological\n/* istanbul ignore next */\n/**\n * File input component.\n *\n * @see https://blueprintjs.com/docs/#core/components/file-input\n */\nvar FileInput = /** @class */ (function (_super) {\n __extends(FileInput, _super);\n function FileInput() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.handleInputChange = function (e) {\n var _a, _b, _c, _d;\n (_b = (_a = _this.props).onInputChange) === null || _b === void 0 ? void 0 : _b.call(_a, e);\n (_d = (_c = _this.props.inputProps) === null || _c === void 0 ? void 0 : _c.onChange) === null || _d === void 0 ? void 0 : _d.call(_c, e);\n };\n return _this;\n }\n FileInput.prototype.render = function () {\n var _a, _b, _c;\n var _d = this.props, buttonText = _d.buttonText, className = _d.className, disabled = _d.disabled, fill = _d.fill, hasSelection = _d.hasSelection, inputProps = _d.inputProps, large = _d.large, onInputChange = _d.onInputChange, small = _d.small, text = _d.text, htmlProps = __rest(_d, [\"buttonText\", \"className\", \"disabled\", \"fill\", \"hasSelection\", \"inputProps\", \"large\", \"onInputChange\", \"small\", \"text\"]);\n var rootClasses = classNames(className, Classes.FILE_INPUT, (_a = {},\n _a[Classes.FILE_INPUT_HAS_SELECTION] = hasSelection,\n _a[Classes.DISABLED] = disabled,\n _a[Classes.FILL] = fill,\n _a[Classes.LARGE] = large,\n _a[Classes.SMALL] = small,\n _a));\n var uploadProps = (_b = {},\n _b[\"\".concat(NS, \"-button-text\")] = buttonText,\n _b.className = classNames(Classes.FILE_UPLOAD_INPUT, (_c = {},\n _c[Classes.FILE_UPLOAD_INPUT_CUSTOM_TEXT] = !!buttonText,\n _c)),\n _b);\n return (React.createElement(\"label\", __assign({}, htmlProps, { className: rootClasses }),\n React.createElement(\"input\", __assign({}, inputProps, { onChange: this.handleInputChange, type: \"file\", disabled: disabled })),\n React.createElement(\"span\", __assign({}, uploadProps), text)));\n };\n FileInput.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".FileInput\");\n FileInput.defaultProps = {\n hasSelection: false,\n inputProps: {},\n text: \"Choose file...\",\n };\n return FileInput;\n}(AbstractPureComponent));\nexport { FileInput };\n//# sourceMappingURL=fileInput.js.map","/*\n * Copyright 2017 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __extends } from \"tslib\";\nimport classNames from \"classnames\";\nimport * as React from \"react\";\nimport { AbstractPureComponent, Classes } from \"../../common\";\nimport { DISPLAYNAME_PREFIX } from \"../../common/props\";\n/**\n * Form group component.\n *\n * @see https://blueprintjs.com/docs/#core/components/form-group\n */\nvar FormGroup = /** @class */ (function (_super) {\n __extends(FormGroup, _super);\n function FormGroup() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FormGroup.prototype.render = function () {\n var _a = this.props, children = _a.children, contentClassName = _a.contentClassName, helperText = _a.helperText, label = _a.label, labelFor = _a.labelFor, labelInfo = _a.labelInfo, style = _a.style, subLabel = _a.subLabel;\n return (React.createElement(\"div\", { className: this.getClassName(), style: style },\n label && (React.createElement(\"label\", { className: Classes.LABEL, htmlFor: labelFor },\n label,\n \" \",\n React.createElement(\"span\", { className: Classes.TEXT_MUTED }, labelInfo))),\n subLabel && React.createElement(\"div\", { className: Classes.FORM_GROUP_SUB_LABEL }, subLabel),\n React.createElement(\"div\", { className: classNames(Classes.FORM_CONTENT, contentClassName) },\n children,\n helperText && React.createElement(\"div\", { className: Classes.FORM_HELPER_TEXT }, helperText))));\n };\n FormGroup.prototype.getClassName = function () {\n var _a;\n var _b = this.props, className = _b.className, disabled = _b.disabled, fill = _b.fill, inline = _b.inline, intent = _b.intent;\n return classNames(Classes.FORM_GROUP, Classes.intentClass(intent), (_a = {},\n _a[Classes.DISABLED] = disabled,\n _a[Classes.FILL] = fill,\n _a[Classes.INLINE] = inline,\n _a), className);\n };\n FormGroup.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".FormGroup\");\n return FormGroup;\n}(AbstractPureComponent));\nexport { FormGroup };\n//# sourceMappingURL=formGroup.js.map","/* !\n * Copyright 2020 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign, __extends, __rest } from \"tslib\";\nimport * as React from \"react\";\nimport { AbstractPureComponent, DISPLAYNAME_PREFIX } from \"../../common\";\n/**\n * A stateful wrapper around the low-level <input> component which works around a\n * [React bug](https://github.com/facebook/react/issues/3926). This bug is reproduced when an input\n * receives CompositionEvents (for example, through IME composition) and has its value prop updated\n * asychronously. This might happen if a component chooses to do async validation of a value\n * returned by the input's `onChange` callback.\n *\n * Note: this component does not apply any Blueprint-specific styling.\n */\nvar AsyncControllableInput = /** @class */ (function (_super) {\n __extends(AsyncControllableInput, _super);\n function AsyncControllableInput() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.state = {\n hasPendingUpdate: false,\n isComposing: false,\n nextValue: _this.props.value,\n value: _this.props.value,\n };\n _this.cancelPendingCompositionEnd = null;\n _this.handleCompositionStart = function (e) {\n var _a, _b, _c;\n (_a = _this.cancelPendingCompositionEnd) === null || _a === void 0 ? void 0 : _a.call(_this);\n _this.setState({ isComposing: true });\n (_c = (_b = _this.props).onCompositionStart) === null || _c === void 0 ? void 0 : _c.call(_b, e);\n };\n _this.handleCompositionEnd = function (e) {\n var _a, _b;\n // In some non-latin languages, a keystroke can end a composition event and immediately afterwards start another.\n // This can lead to unexpected characters showing up in the text input. In order to circumvent this problem, we\n // use a timeout which creates a delay which merges the two composition events, creating a more natural and predictable UX.\n // `this.state.nextValue` will become \"locked\" (it cannot be overwritten by the `value` prop) until a delay (10ms) has\n // passed without a new composition event starting.\n _this.cancelPendingCompositionEnd = _this.setTimeout(function () { return _this.setState({ isComposing: false }); }, AsyncControllableInput.COMPOSITION_END_DELAY);\n (_b = (_a = _this.props).onCompositionEnd) === null || _b === void 0 ? void 0 : _b.call(_a, e);\n };\n _this.handleChange = function (e) {\n var _a, _b;\n var value = e.target.value;\n _this.setState({ nextValue: value });\n (_b = (_a = _this.props).onChange) === null || _b === void 0 ? void 0 : _b.call(_a, e);\n };\n return _this;\n }\n AsyncControllableInput.getDerivedStateFromProps = function (nextProps, nextState) {\n if (nextState.isComposing || nextProps.value === undefined) {\n // don't derive anything from props if:\n // - in uncontrolled mode, OR\n // - currently composing, since we'll do that after composition ends\n return null;\n }\n var userTriggeredUpdate = nextState.nextValue !== nextState.value;\n if (userTriggeredUpdate) {\n if (nextProps.value === nextState.nextValue) {\n // parent has processed and accepted our update\n if (nextState.hasPendingUpdate) {\n return { value: nextProps.value, hasPendingUpdate: false };\n }\n else {\n return { value: nextState.nextValue };\n }\n }\n else {\n if (nextProps.value === nextState.value) {\n // we have sent the update to our parent, but it has not been processed yet. just wait.\n // DO NOT set nextValue here, since that will temporarily render a potentially stale controlled value,\n // causing the cursor to jump once the new value is accepted\n return { hasPendingUpdate: true };\n }\n // accept controlled update overriding user action\n return { value: nextProps.value, nextValue: nextProps.value, hasPendingUpdate: false };\n }\n }\n else {\n // accept controlled update, could be confirming or denying user action\n return { value: nextProps.value, nextValue: nextProps.value, hasPendingUpdate: false };\n }\n };\n AsyncControllableInput.prototype.render = function () {\n var _a = this.state, isComposing = _a.isComposing, hasPendingUpdate = _a.hasPendingUpdate, value = _a.value, nextValue = _a.nextValue;\n var _b = this.props, inputRef = _b.inputRef, restProps = __rest(_b, [\"inputRef\"]);\n return (React.createElement(\"input\", __assign({}, restProps, { ref: inputRef, \n // render the pending value even if it is not confirmed by a parent's async controlled update\n // so that the cursor does not jump to the end of input as reported in\n // https://github.com/palantir/blueprint/issues/4298\n value: isComposing || hasPendingUpdate ? nextValue : value, onCompositionStart: this.handleCompositionStart, onCompositionEnd: this.handleCompositionEnd, onChange: this.handleChange })));\n };\n AsyncControllableInput.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".AsyncControllableInput\");\n /**\n * The amount of time (in milliseconds) which the input will wait after a compositionEnd event before\n * unlocking its state value for external updates via props. See `handleCompositionEnd` for more details.\n */\n AsyncControllableInput.COMPOSITION_END_DELAY = 10;\n return AsyncControllableInput;\n}(AbstractPureComponent));\nexport { AsyncControllableInput };\n//# sourceMappingURL=asyncControllableInput.js.map","/*\n * Copyright 2016 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign, __extends } from \"tslib\";\nimport classNames from \"classnames\";\nimport * as React from \"react\";\nimport { AbstractPureComponent, Classes } from \"../../common\";\nimport * as Errors from \"../../common/errors\";\nimport { DISPLAYNAME_PREFIX, removeNonHTMLProps, } from \"../../common/props\";\nimport { Icon } from \"../icon/icon\";\nimport { AsyncControllableInput } from \"./asyncControllableInput\";\nvar NON_HTML_PROPS = [\"onValueChange\"];\n/**\n * Input group component.\n *\n * @see https://blueprintjs.com/docs/#core/components/input-group\n */\nvar InputGroup = /** @class */ (function (_super) {\n __extends(InputGroup, _super);\n function InputGroup() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.state = {};\n _this.leftElement = null;\n _this.rightElement = null;\n _this.refHandlers = {\n leftElement: function (ref) { return (_this.leftElement = ref); },\n rightElement: function (ref) { return (_this.rightElement = ref); },\n };\n _this.handleInputChange = function (event) {\n var _a, _b, _c, _d;\n var value = event.target.value;\n (_b = (_a = _this.props).onChange) === null || _b === void 0 ? void 0 : _b.call(_a, event);\n (_d = (_c = _this.props).onValueChange) === null || _d === void 0 ? void 0 : _d.call(_c, value, event.target);\n };\n return _this;\n }\n InputGroup.prototype.render = function () {\n var _a;\n var _b = this.props, _c = _b.asyncControl, asyncControl = _c === void 0 ? false : _c, className = _b.className, disabled = _b.disabled, fill = _b.fill, inputClassName = _b.inputClassName, inputRef = _b.inputRef, intent = _b.intent, large = _b.large, readOnly = _b.readOnly, round = _b.round, small = _b.small, _d = _b.tagName, tagName = _d === void 0 ? \"div\" : _d;\n var inputGroupClasses = classNames(Classes.INPUT_GROUP, Classes.intentClass(intent), (_a = {},\n _a[Classes.DISABLED] = disabled,\n _a[Classes.READ_ONLY] = readOnly,\n _a[Classes.FILL] = fill,\n _a[Classes.LARGE] = large,\n _a[Classes.SMALL] = small,\n _a[Classes.ROUND] = round,\n _a), className);\n var style = __assign(__assign({}, this.props.style), { paddingLeft: this.state.leftElementWidth, paddingRight: this.state.rightElementWidth });\n var inputProps = __assign(__assign({ type: \"text\" }, removeNonHTMLProps(this.props, NON_HTML_PROPS, true)), { \"aria-disabled\": disabled, className: classNames(Classes.INPUT, inputClassName), onChange: this.handleInputChange, style: style });\n var inputElement = asyncControl ? (React.createElement(AsyncControllableInput, __assign({}, inputProps, { inputRef: inputRef }))) : (React.createElement(\"input\", __assign({}, inputProps, { ref: inputRef })));\n return React.createElement(tagName, { className: inputGroupClasses }, this.maybeRenderLeftElement(), inputElement, this.maybeRenderRightElement());\n };\n InputGroup.prototype.componentDidMount = function () {\n this.updateInputWidth();\n };\n InputGroup.prototype.componentDidUpdate = function (prevProps) {\n var _a = this.props, leftElement = _a.leftElement, rightElement = _a.rightElement;\n if (prevProps.leftElement !== leftElement || prevProps.rightElement !== rightElement) {\n this.updateInputWidth();\n }\n };\n InputGroup.prototype.validateProps = function (props) {\n if (props.leftElement != null && props.leftIcon != null) {\n console.warn(Errors.INPUT_WARN_LEFT_ELEMENT_LEFT_ICON_MUTEX);\n }\n };\n InputGroup.prototype.maybeRenderLeftElement = function () {\n var _a = this.props, leftElement = _a.leftElement, leftIcon = _a.leftIcon;\n if (leftElement != null) {\n return (React.createElement(\"span\", { className: Classes.INPUT_LEFT_CONTAINER, ref: this.refHandlers.leftElement }, leftElement));\n }\n else if (leftIcon != null) {\n return React.createElement(Icon, { icon: leftIcon, \"aria-hidden\": true, tabIndex: -1 });\n }\n return undefined;\n };\n InputGroup.prototype.maybeRenderRightElement = function () {\n var rightElement = this.props.rightElement;\n if (rightElement == null) {\n return undefined;\n }\n return (React.createElement(\"span\", { className: Classes.INPUT_ACTION, ref: this.refHandlers.rightElement }, rightElement));\n };\n InputGroup.prototype.updateInputWidth = function () {\n var _a = this.state, leftElementWidth = _a.leftElementWidth, rightElementWidth = _a.rightElementWidth;\n if (this.leftElement != null) {\n var clientWidth = this.leftElement.clientWidth;\n // small threshold to prevent infinite loops\n if (leftElementWidth === undefined || Math.abs(clientWidth - leftElementWidth) > 2) {\n this.setState({ leftElementWidth: clientWidth });\n }\n }\n else {\n this.setState({ leftElementWidth: undefined });\n }\n if (this.rightElement != null) {\n var clientWidth = this.rightElement.clientWidth;\n // small threshold to prevent infinite loops\n if (rightElementWidth === undefined || Math.abs(clientWidth - rightElementWidth) > 2) {\n this.setState({ rightElementWidth: clientWidth });\n }\n }\n else {\n this.setState({ rightElementWidth: undefined });\n }\n };\n InputGroup.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".InputGroup\");\n return InputGroup;\n}(AbstractPureComponent));\nexport { InputGroup };\n//# sourceMappingURL=inputGroup.js.map","/*\n * Copyright 2018 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { clamp } from \"../../common/utils\";\n/** Returns the `decimal` number separator based on locale */\nfunction getDecimalSeparator(locale) {\n var testNumber = 1.9;\n var testText = testNumber.toLocaleString(locale);\n var one = (1).toLocaleString(locale);\n var nine = (9).toLocaleString(locale);\n var pattern = \"\".concat(one, \"(.+)\").concat(nine);\n var result = new RegExp(pattern).exec(testText);\n return (result && result[1]) || \".\";\n}\nexport function toLocaleString(num, locale) {\n if (locale === void 0) { locale = \"en-US\"; }\n // HACKHACK: roundingPriority is not supported yet in TypeScript https://github.com/microsoft/TypeScript/issues/43336\n return sanitizeNumericInput(num.toLocaleString(locale, { roundingPriority: \"morePrecision\" }), locale);\n}\nexport function clampValue(value, min, max) {\n // defaultProps won't work if the user passes in null, so just default\n // to +/- infinity here instead, as a catch-all.\n var adjustedMin = min != null ? min : -Infinity;\n var adjustedMax = max != null ? max : Infinity;\n return clamp(value, adjustedMin, adjustedMax);\n}\nexport function getValueOrEmptyValue(value) {\n if (value === void 0) { value = \"\"; }\n return value.toString();\n}\n/** Transform the localized character (ex. \"\") to a javascript recognizable string number (ex. \"10.99\") */\nfunction transformLocalizedNumberToStringNumber(character, locale) {\n var charactersMap = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9].map(function (value) { return value.toLocaleString(locale); });\n var jsNumber = charactersMap.indexOf(character);\n if (jsNumber !== -1) {\n return jsNumber;\n }\n else {\n return character;\n }\n}\n/** Transforms the localized number (ex. \"10,99\") to a javascript recognizable string number (ex. \"10.99\") */\nexport function parseStringToStringNumber(value, locale) {\n var valueAsString = \"\" + value;\n if (parseFloat(valueAsString).toString() === value.toString()) {\n return value.toString();\n }\n if (locale !== undefined) {\n var decimalSeparator = getDecimalSeparator(locale);\n var sanitizedString = sanitizeNumericInput(valueAsString, locale);\n return sanitizedString\n .split(\"\")\n .map(function (character) { return transformLocalizedNumberToStringNumber(character, locale); })\n .join(\"\")\n .replace(decimalSeparator, \".\");\n }\n return value.toString();\n}\n/** Returns `true` if the string represents a valid numeric value, like \"1e6\". */\nexport function isValueNumeric(value, locale) {\n // checking if a string is numeric in Typescript is a big pain, because\n // we can't simply toss a string parameter to isFinite. below is the\n // essential approach that jQuery uses, which involves subtracting a\n // parsed numeric value from the string representation of the value. we\n // need to cast the value to the `any` type to allow this operation\n // between dissimilar types.\n var stringToStringNumber = parseStringToStringNumber(value, locale);\n return value != null && stringToStringNumber - parseFloat(stringToStringNumber) + 1 >= 0;\n}\nexport function isValidNumericKeyboardEvent(e, locale) {\n // unit tests may not include e.key. don't bother disabling those events.\n if (e.key == null) {\n return true;\n }\n // allow modified key strokes that may involve letters and other\n // non-numeric/invalid characters (Cmd + A, Cmd + C, Cmd + V, Cmd + X).\n if (e.ctrlKey || e.altKey || e.metaKey) {\n return true;\n }\n // keys that print a single character when pressed have a `key` name of\n // length 1. every other key has a longer `key` name (e.g. \"Backspace\",\n // \"ArrowUp\", \"Shift\"). since none of those keys can print a character\n // to the field--and since they may have important native behaviors\n // beyond printing a character--we don't want to disable their effects.\n var isSingleCharKey = e.key.length === 1;\n if (!isSingleCharKey) {\n return true;\n }\n // now we can simply check that the single character that wants to be printed\n // is a floating-point number character that we're allowed to print.\n return isFloatingPointNumericCharacter(e.key, locale);\n}\n/**\n * A regex that matches a string of length 1 (i.e. a standalone character)\n * if and only if it is a floating-point number character as defined by W3C:\n * https://www.w3.org/TR/2012/WD-html-markup-20120329/datatypes.html#common.data.float\n *\n * Floating-point number characters are the only characters that can be\n * printed within a default input[type=\"number\"]. This component should\n * behave the same way when this.props.allowNumericCharactersOnly = true.\n * See here for the input[type=\"number\"].value spec:\n * https://www.w3.org/TR/2012/WD-html-markup-20120329/input.number.html#input.number.attrs.value\n */\nfunction isFloatingPointNumericCharacter(character, locale) {\n if (locale !== undefined) {\n var decimalSeparator = getDecimalSeparator(locale).replace(\".\", \"\\\\.\");\n var numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9].map(function (value) { return value.toLocaleString(locale); }).join(\"\");\n var localeFloatingPointNumericCharacterRegex = new RegExp(\"^[Ee\" + numbers + \"\\\\+\\\\-\" + decimalSeparator + \"]$\");\n return localeFloatingPointNumericCharacterRegex.test(character);\n }\n else {\n var floatingPointNumericCharacterRegex = /^[Ee0-9\\+\\-\\.]$/;\n return floatingPointNumericCharacterRegex.test(character);\n }\n}\n/**\n * Round the value to have _up to_ the specified maximum precision.\n *\n * This differs from `toFixed(5)` in that trailing zeroes are not added on\n * more precise values, resulting in shorter strings.\n */\nexport function toMaxPrecision(value, maxPrecision) {\n // round the value to have the specified maximum precision (toFixed is the wrong choice,\n // because it would show trailing zeros in the decimal part out to the specified precision)\n // source: http://stackoverflow.com/a/18358056/5199574\n var scaleFactor = Math.pow(10, maxPrecision);\n return Math.round(value * scaleFactor) / scaleFactor;\n}\n/**\n * Convert Japanese full-width numbers, e.g. '5', to ASCII, e.g. '5'\n * This should be called before performing any other numeric string input validation.\n */\nfunction convertFullWidthNumbersToAscii(value) {\n return value.replace(/[\\uFF10-\\uFF19]/g, function (m) { return String.fromCharCode(m.charCodeAt(0) - 0xfee0); });\n}\n/**\n * Convert full-width (Japanese) numbers to ASCII, and strip all characters that are not valid floating-point numeric characters\n */\nexport function sanitizeNumericInput(value, locale) {\n var valueChars = convertFullWidthNumbersToAscii(value).split(\"\");\n var sanitizedValueChars = valueChars.filter(function (valueChar) { return isFloatingPointNumericCharacter(valueChar, locale); });\n return sanitizedValueChars.join(\"\");\n}\n//# sourceMappingURL=numericInputUtils.js.map","/*\n * Copyright 2017 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign, __extends } from \"tslib\";\nimport classNames from \"classnames\";\nimport * as React from \"react\";\nimport { ChevronDown, ChevronUp } from \"@blueprintjs/icons\";\nimport { AbstractPureComponent, Classes, DISPLAYNAME_PREFIX, Intent, Position, refHandler, removeNonHTMLProps, setRef, Utils, } from \"../../common\";\nimport * as Errors from \"../../common/errors\";\nimport { ButtonGroup } from \"../button/buttonGroup\";\nimport { Button } from \"../button/buttons\";\nimport { ControlGroup } from \"./controlGroup\";\nimport { InputGroup } from \"./inputGroup\";\nimport { clampValue, getValueOrEmptyValue, isValidNumericKeyboardEvent, isValueNumeric, parseStringToStringNumber, sanitizeNumericInput, toLocaleString, toMaxPrecision, } from \"./numericInputUtils\";\nvar IncrementDirection;\n(function (IncrementDirection) {\n IncrementDirection[IncrementDirection[\"DOWN\"] = -1] = \"DOWN\";\n IncrementDirection[IncrementDirection[\"UP\"] = 1] = \"UP\";\n})(IncrementDirection || (IncrementDirection = {}));\nvar NON_HTML_PROPS = [\n \"allowNumericCharactersOnly\",\n \"buttonPosition\",\n \"clampValueOnBlur\",\n \"className\",\n \"defaultValue\",\n \"majorStepSize\",\n \"minorStepSize\",\n \"onButtonClick\",\n \"onValueChange\",\n \"selectAllOnFocus\",\n \"selectAllOnIncrement\",\n \"stepSize\",\n];\n/**\n * Numeric input component.\n *\n * @see https://blueprintjs.com/docs/#core/components/numeric-input\n */\nvar NumericInput = /** @class */ (function (_super) {\n __extends(NumericInput, _super);\n function NumericInput() {\n var _a;\n var _this = _super.apply(this, arguments) || this;\n _this.numericInputId = Utils.uniqueId(\"numericInput\");\n _this.state = {\n currentImeInputInvalid: false,\n shouldSelectAfterUpdate: false,\n stepMaxPrecision: NumericInput.getStepMaxPrecision(_this.props),\n value: getValueOrEmptyValue((_a = _this.props.value) !== null && _a !== void 0 ? _a : _this.props.defaultValue),\n };\n // updating these flags need not trigger re-renders, so don't include them in this.state.\n _this.didPasteEventJustOccur = false;\n _this.delta = 0;\n _this.inputElement = null;\n _this.inputRef = refHandler(_this, \"inputElement\", _this.props.inputRef);\n _this.incrementButtonHandlers = _this.getButtonEventHandlers(IncrementDirection.UP);\n _this.decrementButtonHandlers = _this.getButtonEventHandlers(IncrementDirection.DOWN);\n _this.getCurrentValueAsNumber = function () { return Number(parseStringToStringNumber(_this.state.value, _this.props.locale)); };\n _this.handleButtonClick = function (e, direction) {\n var _a, _b;\n var delta = _this.updateDelta(direction, e);\n var nextValue = _this.incrementValue(delta);\n (_b = (_a = _this.props).onButtonClick) === null || _b === void 0 ? void 0 : _b.call(_a, Number(parseStringToStringNumber(nextValue, _this.props.locale)), nextValue);\n };\n _this.stopContinuousChange = function () {\n _this.delta = 0;\n _this.clearTimeouts();\n clearInterval(_this.intervalId);\n document.removeEventListener(\"mouseup\", _this.stopContinuousChange);\n };\n _this.handleContinuousChange = function () {\n var _a, _b, _c, _d;\n // If either min or max prop is set, when reaching the limit\n // the button will be disabled and stopContinuousChange will be never fired,\n // hence the need to check on each iteration to properly clear the timeout\n if (_this.props.min !== undefined || _this.props.max !== undefined) {\n var min = (_a = _this.props.min) !== null && _a !== void 0 ? _a : -Infinity;\n var max = (_b = _this.props.max) !== null && _b !== void 0 ? _b : Infinity;\n var valueAsNumber = _this.getCurrentValueAsNumber();\n if (valueAsNumber <= min || valueAsNumber >= max) {\n _this.stopContinuousChange();\n return;\n }\n }\n var nextValue = _this.incrementValue(_this.delta);\n (_d = (_c = _this.props).onButtonClick) === null || _d === void 0 ? void 0 : _d.call(_c, Number(parseStringToStringNumber(nextValue, _this.props.locale)), nextValue);\n };\n // Callbacks - Input\n // =================\n _this.handleInputFocus = function (e) {\n var _a, _b;\n // update this state flag to trigger update for input selection (see componentDidUpdate)\n _this.setState({ shouldSelectAfterUpdate: _this.props.selectAllOnFocus });\n (_b = (_a = _this.props).onFocus) === null || _b === void 0 ? void 0 : _b.call(_a, e);\n };\n _this.handleInputBlur = function (e) {\n var _a, _b;\n // always disable this flag on blur so it's ready for next time.\n _this.setState({ shouldSelectAfterUpdate: false });\n if (_this.props.clampValueOnBlur) {\n var value = e.target.value;\n _this.handleNextValue(_this.roundAndClampValue(value));\n }\n (_b = (_a = _this.props).onBlur) === null || _b === void 0 ? void 0 : _b.call(_a, e);\n };\n _this.handleInputKeyDown = function (e) {\n var _a, _b;\n if (_this.props.disabled || _this.props.readOnly) {\n return;\n }\n var direction;\n if (e.key === \"ArrowUp\") {\n direction = IncrementDirection.UP;\n }\n else if (e.key === \"ArrowDown\") {\n direction = IncrementDirection.DOWN;\n }\n if (direction !== undefined) {\n // when the input field has focus, some key combinations will modify\n // the field's selection range. we'll actually want to select all\n // text in the field after we modify the value on the following\n // lines. preventing the default selection behavior lets us do that\n // without interference.\n e.preventDefault();\n var delta = _this.updateDelta(direction, e);\n _this.incrementValue(delta);\n }\n (_b = (_a = _this.props).onKeyDown) === null || _b === void 0 ? void 0 : _b.call(_a, e);\n };\n _this.handleCompositionEnd = function (e) {\n if (_this.props.allowNumericCharactersOnly) {\n _this.handleNextValue(sanitizeNumericInput(e.data, _this.props.locale));\n _this.setState({ currentImeInputInvalid: false });\n }\n };\n _this.handleCompositionUpdate = function (e) {\n if (_this.props.allowNumericCharactersOnly) {\n var data = e.data;\n var sanitizedValue = sanitizeNumericInput(data, _this.props.locale);\n if (sanitizedValue.length === 0 && data.length > 0) {\n _this.setState({ currentImeInputInvalid: true });\n }\n else {\n _this.setState({ currentImeInputInvalid: false });\n }\n }\n };\n _this.handleInputKeyPress = function (e) {\n var _a, _b;\n // we prohibit keystrokes in onKeyPress instead of onKeyDown, because\n // e.key is not trustworthy in onKeyDown in all browsers.\n if (_this.props.allowNumericCharactersOnly && !isValidNumericKeyboardEvent(e, _this.props.locale)) {\n e.preventDefault();\n }\n // eslint-disable-next-line deprecation/deprecation\n (_b = (_a = _this.props).onKeyPress) === null || _b === void 0 ? void 0 : _b.call(_a, e);\n };\n _this.handleInputPaste = function (e) {\n var _a, _b;\n _this.didPasteEventJustOccur = true;\n (_b = (_a = _this.props).onPaste) === null || _b === void 0 ? void 0 : _b.call(_a, e);\n };\n _this.handleInputChange = function (value) {\n var nextValue = value;\n if (_this.props.allowNumericCharactersOnly && _this.didPasteEventJustOccur) {\n _this.didPasteEventJustOccur = false;\n nextValue = sanitizeNumericInput(value, _this.props.locale);\n }\n _this.handleNextValue(nextValue);\n _this.setState({ shouldSelectAfterUpdate: false });\n };\n return _this;\n }\n NumericInput.getDerivedStateFromProps = function (props, state) {\n var _a, _b;\n var nextState = {\n prevMaxProp: props.max,\n prevMinProp: props.min,\n };\n var didMinChange = props.min !== state.prevMinProp;\n var didMaxChange = props.max !== state.prevMaxProp;\n var didBoundsChange = didMinChange || didMaxChange;\n // in controlled mode, use props.value\n // in uncontrolled mode, if state.value has not been assigned yet (upon initial mount), use props.defaultValue\n var value = (_b = (_a = props.value) === null || _a === void 0 ? void 0 : _a.toString()) !== null && _b !== void 0 ? _b : state.value;\n var stepMaxPrecision = NumericInput.getStepMaxPrecision(props);\n var sanitizedValue = value !== NumericInput.VALUE_EMPTY\n ? NumericInput.roundAndClampValue(value, stepMaxPrecision, props.min, props.max, 0, props.locale)\n : NumericInput.VALUE_EMPTY;\n // if a new min and max were provided that cause the existing value to fall\n // outside of the new bounds, then clamp the value to the new valid range.\n if (didBoundsChange && sanitizedValue !== state.value) {\n return __assign(__assign({}, nextState), { stepMaxPrecision: stepMaxPrecision, value: sanitizedValue });\n }\n return __assign(__assign({}, nextState), { stepMaxPrecision: stepMaxPrecision, value: value });\n };\n // Value Helpers\n // =============\n NumericInput.getStepMaxPrecision = function (props) {\n if (props.minorStepSize != null) {\n return Utils.countDecimalPlaces(props.minorStepSize);\n }\n else {\n return Utils.countDecimalPlaces(props.stepSize);\n }\n };\n NumericInput.roundAndClampValue = function (value, stepMaxPrecision, min, max, delta, locale) {\n if (delta === void 0) { delta = 0; }\n if (!isValueNumeric(value, locale)) {\n return NumericInput.VALUE_EMPTY;\n }\n var currentValue = parseStringToStringNumber(value, locale);\n var nextValue = toMaxPrecision(Number(currentValue) + delta, stepMaxPrecision);\n var clampedValue = clampValue(nextValue, min, max);\n return toLocaleString(clampedValue, locale);\n };\n NumericInput.prototype.render = function () {\n var _a;\n var _b = this.props, buttonPosition = _b.buttonPosition, className = _b.className, fill = _b.fill, large = _b.large, small = _b.small;\n var containerClasses = classNames(Classes.NUMERIC_INPUT, (_a = {}, _a[Classes.LARGE] = large, _a[Classes.SMALL] = small, _a), className);\n var buttons = this.renderButtons();\n return (React.createElement(ControlGroup, { className: containerClasses, fill: fill },\n buttonPosition === Position.LEFT && buttons,\n this.renderInput(),\n buttonPosition === Position.RIGHT && buttons));\n };\n NumericInput.prototype.componentDidUpdate = function (prevProps, prevState) {\n var _a, _b, _c;\n _super.prototype.componentDidUpdate.call(this, prevProps, prevState);\n if (prevProps.inputRef !== this.props.inputRef) {\n setRef(prevProps.inputRef, null);\n this.inputRef = refHandler(this, \"inputElement\", this.props.inputRef);\n setRef(this.props.inputRef, this.inputElement);\n }\n if (this.state.shouldSelectAfterUpdate) {\n (_a = this.inputElement) === null || _a === void 0 ? void 0 : _a.setSelectionRange(0, this.state.value.length);\n }\n var didMinChange = this.props.min !== prevProps.min;\n var didMaxChange = this.props.max !== prevProps.max;\n var didBoundsChange = didMinChange || didMaxChange;\n var didLocaleChange = this.props.locale !== prevProps.locale;\n var didValueChange = this.state.value !== prevState.value;\n if ((didBoundsChange && didValueChange) || (didLocaleChange && prevState.value !== NumericInput.VALUE_EMPTY)) {\n // we clamped the value due to a bounds change, so we should fire the change callback\n var valueToParse = didLocaleChange ? prevState.value : this.state.value;\n var valueAsString = parseStringToStringNumber(valueToParse, prevProps.locale);\n var localizedValue = toLocaleString(+valueAsString, this.props.locale);\n (_c = (_b = this.props).onValueChange) === null || _c === void 0 ? void 0 : _c.call(_b, +valueAsString, localizedValue, this.inputElement);\n }\n };\n NumericInput.prototype.validateProps = function (nextProps) {\n var majorStepSize = nextProps.majorStepSize, max = nextProps.max, min = nextProps.min, minorStepSize = nextProps.minorStepSize, stepSize = nextProps.stepSize, value = nextProps.value;\n if (min != null && max != null && min > max) {\n console.error(Errors.NUMERIC_INPUT_MIN_MAX);\n }\n if (stepSize <= 0) {\n console.error(Errors.NUMERIC_INPUT_STEP_SIZE_NON_POSITIVE);\n }\n if (minorStepSize && minorStepSize <= 0) {\n console.error(Errors.NUMERIC_INPUT_MINOR_STEP_SIZE_NON_POSITIVE);\n }\n if (majorStepSize && majorStepSize <= 0) {\n console.error(Errors.NUMERIC_INPUT_MAJOR_STEP_SIZE_NON_POSITIVE);\n }\n if (minorStepSize && minorStepSize > stepSize) {\n console.error(Errors.NUMERIC_INPUT_MINOR_STEP_SIZE_BOUND);\n }\n if (majorStepSize && majorStepSize < stepSize) {\n console.error(Errors.NUMERIC_INPUT_MAJOR_STEP_SIZE_BOUND);\n }\n // controlled mode\n if (value != null) {\n var stepMaxPrecision = NumericInput.getStepMaxPrecision(nextProps);\n var sanitizedValue = NumericInput.roundAndClampValue(value.toString(), stepMaxPrecision, min, max, 0, this.props.locale);\n var valueDoesNotMatch = sanitizedValue !== value.toString();\n var localizedValue = toLocaleString(Number(parseStringToStringNumber(value, this.props.locale)), this.props.locale);\n var isNotLocalized = sanitizedValue !== localizedValue;\n if (valueDoesNotMatch && isNotLocalized) {\n console.warn(Errors.NUMERIC_INPUT_CONTROLLED_VALUE_INVALID);\n }\n }\n };\n // Render Helpers\n // ==============\n NumericInput.prototype.renderButtons = function () {\n var _a = this.props, intent = _a.intent, max = _a.max, min = _a.min, locale = _a.locale;\n var value = parseStringToStringNumber(this.state.value, locale);\n var disabled = this.props.disabled || this.props.readOnly;\n var isIncrementDisabled = max !== undefined && value !== \"\" && +value >= max;\n var isDecrementDisabled = min !== undefined && value !== \"\" && +value <= min;\n return (React.createElement(ButtonGroup, { className: Classes.FIXED, key: \"button-group\", vertical: true },\n React.createElement(Button, __assign({ \"aria-label\": \"increment\", \"aria-controls\": this.numericInputId, disabled: disabled || isIncrementDisabled, icon: React.createElement(ChevronUp, null), intent: intent }, this.incrementButtonHandlers)),\n React.createElement(Button, __assign({ \"aria-label\": \"decrement\", \"aria-controls\": this.numericInputId, disabled: disabled || isDecrementDisabled, icon: React.createElement(ChevronDown, null), intent: intent }, this.decrementButtonHandlers))));\n };\n NumericInput.prototype.renderInput = function () {\n var inputGroupHtmlProps = removeNonHTMLProps(this.props, NON_HTML_PROPS, true);\n var valueAsNumber = this.getCurrentValueAsNumber();\n return (React.createElement(InputGroup, __assign({ asyncControl: this.props.asyncControl, autoComplete: \"off\", id: this.numericInputId, role: this.props.allowNumericCharactersOnly ? \"spinbutton\" : undefined }, inputGroupHtmlProps, { \"aria-valuemax\": this.props.max, \"aria-valuemin\": this.props.min, \"aria-valuenow\": valueAsNumber, intent: this.state.currentImeInputInvalid ? Intent.DANGER : this.props.intent, inputClassName: this.props.inputClassName, inputRef: this.inputRef, large: this.props.large, leftElement: this.props.leftElement, leftIcon: this.props.leftIcon, onFocus: this.handleInputFocus, onBlur: this.handleInputBlur, onCompositionEnd: this.handleCompositionEnd, onCompositionUpdate: this.handleCompositionUpdate, onKeyDown: this.handleInputKeyDown, onKeyPress: this.handleInputKeyPress, onPaste: this.handleInputPaste, onValueChange: this.handleInputChange, rightElement: this.props.rightElement, small: this.props.small, value: this.state.value })));\n };\n // Callbacks - Buttons\n // ===================\n NumericInput.prototype.getButtonEventHandlers = function (direction) {\n var _this = this;\n return {\n // keydown is fired repeatedly when held so it's implicitly continuous\n onKeyDown: function (evt) {\n if (!_this.props.disabled && Utils.isKeyboardClick(evt)) {\n _this.handleButtonClick(evt, direction);\n }\n },\n onMouseDown: function (evt) {\n if (!_this.props.disabled) {\n _this.handleButtonClick(evt, direction);\n _this.startContinuousChange();\n }\n },\n };\n };\n NumericInput.prototype.startContinuousChange = function () {\n var _this = this;\n // The button's onMouseUp event handler doesn't fire if the user\n // releases outside of the button, so we need to watch all the way\n // from the top.\n document.addEventListener(\"mouseup\", this.stopContinuousChange);\n // Initial delay is slightly longer to prevent the user from\n // accidentally triggering the continuous increment/decrement.\n this.setTimeout(function () {\n _this.intervalId = window.setInterval(_this.handleContinuousChange, NumericInput.CONTINUOUS_CHANGE_INTERVAL);\n }, NumericInput.CONTINUOUS_CHANGE_DELAY);\n };\n // Data logic\n // ==========\n NumericInput.prototype.handleNextValue = function (valueAsString) {\n var _a, _b;\n if (this.props.value == null) {\n this.setState({ value: valueAsString });\n }\n (_b = (_a = this.props).onValueChange) === null || _b === void 0 ? void 0 : _b.call(_a, Number(parseStringToStringNumber(valueAsString, this.props.locale)), valueAsString, this.inputElement);\n };\n NumericInput.prototype.incrementValue = function (delta) {\n // pretend we're incrementing from 0 if currValue is empty\n var currValue = this.state.value === NumericInput.VALUE_EMPTY ? NumericInput.VALUE_ZERO : this.state.value;\n var nextValue = this.roundAndClampValue(currValue, delta);\n if (nextValue !== this.state.value) {\n this.handleNextValue(nextValue);\n this.setState({ shouldSelectAfterUpdate: this.props.selectAllOnIncrement });\n }\n // return value used in continuous change updates\n return nextValue;\n };\n NumericInput.prototype.getIncrementDelta = function (direction, isShiftKeyPressed, isAltKeyPressed) {\n var _a = this.props, majorStepSize = _a.majorStepSize, minorStepSize = _a.minorStepSize, stepSize = _a.stepSize;\n if (isShiftKeyPressed && majorStepSize != null) {\n return direction * majorStepSize;\n }\n else if (isAltKeyPressed && minorStepSize != null) {\n return direction * minorStepSize;\n }\n else {\n return direction * stepSize;\n }\n };\n NumericInput.prototype.roundAndClampValue = function (value, delta) {\n if (delta === void 0) { delta = 0; }\n return NumericInput.roundAndClampValue(value, this.state.stepMaxPrecision, this.props.min, this.props.max, delta, this.props.locale);\n };\n NumericInput.prototype.updateDelta = function (direction, e) {\n this.delta = this.getIncrementDelta(direction, e.shiftKey, e.altKey);\n return this.delta;\n };\n NumericInput.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".NumericInput\");\n NumericInput.VALUE_EMPTY = \"\";\n NumericInput.VALUE_ZERO = \"0\";\n NumericInput.defaultProps = {\n allowNumericCharactersOnly: true,\n buttonPosition: Position.RIGHT,\n clampValueOnBlur: false,\n defaultValue: NumericInput.VALUE_EMPTY,\n large: false,\n majorStepSize: 10,\n minorStepSize: 0.1,\n selectAllOnFocus: false,\n selectAllOnIncrement: false,\n small: false,\n stepSize: 1,\n };\n NumericInput.CONTINUOUS_CHANGE_DELAY = 300;\n NumericInput.CONTINUOUS_CHANGE_INTERVAL = 100;\n return NumericInput;\n}(AbstractPureComponent));\nexport { NumericInput };\n//# sourceMappingURL=numericInput.js.map","/*\n * Copyright 2018 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign, __rest } from \"tslib\";\nimport classNames from \"classnames\";\nimport * as React from \"react\";\nimport { CaretDown, DoubleCaretVertical } from \"@blueprintjs/icons\";\nimport { DISABLED, FILL, HTML_SELECT, LARGE, MINIMAL } from \"../../common/classes\";\nimport { DISPLAYNAME_PREFIX } from \"../../common/props\";\n// this component is simple enough that tests would be purely tautological.\n/* istanbul ignore next */\n/**\n * HTML select component\n *\n * @see https://blueprintjs.com/docs/#core/components/html-select\n */\nexport var HTMLSelect = React.forwardRef(function (props, ref) {\n var _a;\n var className = props.className, children = props.children, disabled = props.disabled, fill = props.fill, _b = props.iconName, iconName = _b === void 0 ? \"double-caret-vertical\" : _b, iconProps = props.iconProps, large = props.large, minimal = props.minimal, _c = props.options, options = _c === void 0 ? [] : _c, value = props.value, htmlProps = __rest(props, [\"className\", \"children\", \"disabled\", \"fill\", \"iconName\", \"iconProps\", \"large\", \"minimal\", \"options\", \"value\"]);\n var classes = classNames(HTML_SELECT, (_a = {},\n _a[DISABLED] = disabled,\n _a[FILL] = fill,\n _a[LARGE] = large,\n _a[MINIMAL] = minimal,\n _a), className);\n var iconTitle = \"Open dropdown\";\n var rightIcon = iconName === \"double-caret-vertical\" ? (React.createElement(DoubleCaretVertical, __assign({ title: iconTitle }, iconProps))) : (React.createElement(CaretDown, __assign({ title: iconTitle }, iconProps)));\n var optionChildren = options.map(function (option) {\n var optionProps = typeof option === \"object\" ? option : { value: option };\n return React.createElement(\"option\", __assign({}, optionProps, { key: optionProps.value, children: optionProps.label || optionProps.value }));\n });\n return (React.createElement(\"div\", { className: classes },\n React.createElement(\"select\", __assign({ disabled: disabled, ref: ref, value: value }, htmlProps, { multiple: false }),\n optionChildren,\n children),\n rightIcon));\n});\nHTMLSelect.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".HTMLSelect\");\n//# sourceMappingURL=htmlSelect.js.map","/*\n * Copyright 2021 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign } from \"tslib\";\nimport * as React from \"react\";\nimport { Classes, DISPLAYNAME_PREFIX } from \"../../common\";\nimport { Button } from \"../button/buttons\";\nimport { Text } from \"../text/text\";\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport var PanelView2 = function (props) {\n var handleClose = React.useCallback(function () { return props.onClose(props.panel); }, [props.onClose, props.panel]);\n var maybeBackButton = props.previousPanel === undefined ? null : (React.createElement(Button, { \"aria-label\": \"Back\", className: Classes.PANEL_STACK_HEADER_BACK, icon: \"chevron-left\", minimal: true, onClick: handleClose, small: true, text: props.previousPanel.title, title: props.previousPanel.htmlTitle }));\n // `props.panel.renderPanel` is simply a function that returns a JSX.Element. It may be an FC which\n // uses hooks. In order to avoid React errors due to inconsistent hook calls, we must encapsulate\n // those hooks with their own lifecycle through a very simple wrapper component.\n var PanelWrapper = React.useMemo(function () { return function () {\n // N.B. A type cast is required because of error TS2345, where technically `panel.props` could be\n // instantiated with a type unrelated to our generic constraint `T` here. We know\n // we're sending the right values here though, and it makes the consumer API for this\n // component type safe, so it's ok to do this...\n return props.panel.renderPanel(__assign({ closePanel: handleClose, openPanel: props.onOpen }, props.panel.props));\n }; }, [props.panel, props.onOpen]);\n return (React.createElement(\"div\", { className: Classes.PANEL_STACK2_VIEW },\n props.showHeader && (React.createElement(\"div\", { className: Classes.PANEL_STACK2_HEADER },\n React.createElement(\"span\", null, maybeBackButton),\n React.createElement(Text, { className: Classes.HEADING, ellipsize: true, title: props.panel.htmlTitle }, props.panel.title),\n React.createElement(\"span\", null))),\n React.createElement(PanelWrapper, null)));\n};\nPanelView2.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".PanelView2\");\n//# sourceMappingURL=panelView2.js.map","/*\n * Copyright 2021 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __spreadArray } from \"tslib\";\nimport classNames from \"classnames\";\nimport * as React from \"react\";\nimport { CSSTransition, TransitionGroup } from \"react-transition-group\";\nimport { Classes, DISPLAYNAME_PREFIX } from \"../../common\";\nimport { PanelView2 } from \"./panelView2\";\n/**\n * Panel stack (v2) component.\n *\n * @see https://blueprintjs.com/docs/#core/components/panel-stack2\n * @template T type union of all possible panels in this stack\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport var PanelStack2 = function (props) {\n var initialPanel = props.initialPanel, onClose = props.onClose, onOpen = props.onOpen, _a = props.renderActivePanelOnly, renderActivePanelOnly = _a === void 0 ? true : _a, _b = props.showPanelHeader, showPanelHeader = _b === void 0 ? true : _b, propsStack = props.stack;\n var isControlled = propsStack != null;\n var _c = React.useState(\"push\"), direction = _c[0], setDirection = _c[1];\n var _d = React.useState(initialPanel !== undefined ? [initialPanel] : []), localStack = _d[0], setLocalStack = _d[1];\n var stack = React.useMemo(function () { return (isControlled ? propsStack.slice().reverse() : localStack); }, [localStack, isControlled, propsStack]);\n var stackLength = React.useRef(stack.length);\n React.useEffect(function () {\n if (stack.length !== stackLength.current) {\n // Adjust the direction in case the stack size has changed, controlled or uncontrolled\n setDirection(stack.length - stackLength.current < 0 ? \"pop\" : \"push\");\n }\n stackLength.current = stack.length;\n }, [stack]);\n var handlePanelOpen = React.useCallback(function (panel) {\n onOpen === null || onOpen === void 0 ? void 0 : onOpen(panel);\n if (!isControlled) {\n setLocalStack(function (prevStack) { return __spreadArray([panel], prevStack, true); });\n }\n }, [onOpen, isControlled]);\n var handlePanelClose = React.useCallback(function (panel) {\n // only remove this panel if it is at the top and not the only one.\n if (stack[0] !== panel || stack.length <= 1) {\n return;\n }\n onClose === null || onClose === void 0 ? void 0 : onClose(panel);\n if (!isControlled) {\n setLocalStack(function (prevStack) { return prevStack.slice(1); });\n }\n }, [stack, onClose, isControlled]);\n // early return, after all hooks are called\n if (stack.length === 0) {\n return null;\n }\n var panelsToRender = renderActivePanelOnly ? [stack[0]] : stack;\n var panels = panelsToRender\n .map(function (panel, index) {\n // With renderActivePanelOnly={false} we would keep all the CSSTransitions rendered,\n // therefore they would not trigger the \"enter\" transition event as they were entered.\n // To force the enter event, we want to change the key, but stack.length is not enough\n // and a single panel should not rerender as long as it's hidden.\n // This key contains two parts: first one, stack.length - index is constant (and unique) for each panel,\n // second one, active changes only when the panel becomes or stops being active.\n var layer = stack.length - index;\n var key = renderActivePanelOnly ? stack.length : layer;\n return (React.createElement(CSSTransition, { classNames: Classes.PANEL_STACK2, key: key, timeout: 400 },\n React.createElement(PanelView2, { onClose: handlePanelClose, onOpen: handlePanelOpen, panel: panel, previousPanel: stack[index + 1], showHeader: showPanelHeader })));\n })\n .reverse();\n var classes = classNames(Classes.PANEL_STACK2, \"\".concat(Classes.PANEL_STACK2, \"-\").concat(direction), props.className);\n return (React.createElement(TransitionGroup, { className: classes, component: \"div\" }, panels));\n};\nPanelStack2.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".PanelStack2\");\n//# sourceMappingURL=panelStack2.js.map","/*\n * Copyright 2021 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * Specifies the popup kind for [aria-haspopup](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-haspopup).\n */\nexport var PopupKind;\n(function (PopupKind) {\n /** The popup is a menu. */\n PopupKind[\"MENU\"] = \"menu\";\n /** The popup is a listbox. */\n PopupKind[\"LISTBOX\"] = \"listbox\";\n /** The popup is a tree. */\n PopupKind[\"TREE\"] = \"tree\";\n /** The popup is a grid. */\n PopupKind[\"GRID\"] = \"grid\";\n /** The popup is a dialog. */\n PopupKind[\"DIALOG\"] = \"dialog\";\n})(PopupKind || (PopupKind = {}));\n//# sourceMappingURL=popupKind.js.map","/*\n * Copyright 2018 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nexport var HandleType = {\n /** A full handle appears as a small square. */\n FULL: \"full\",\n /** A start handle appears as the left or top half of a square. */\n START: \"start\",\n /** An end handle appears as the right or bottom half of a square. */\n END: \"end\",\n};\nexport var HandleInteractionKind = {\n /** Locked handles prevent other handles from being dragged past then. */\n LOCK: \"lock\",\n /** Push handles move overlapping handles with them as they are dragged. */\n PUSH: \"push\",\n /**\n * Handles marked \"none\" are not interactive and do not appear in the UI.\n * They serve only to break the track into subsections that can be colored separately.\n */\n NONE: \"none\",\n};\n//# sourceMappingURL=handleProps.js.map","/*\n * Copyright 2018 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/** Helper function for formatting ratios as CSS percentage values. */\nexport function formatPercentage(ratio) {\n return \"\".concat((ratio * 100).toFixed(2), \"%\");\n}\n/**\n * Mutates the values array by filling all the values between start and end index (inclusive) with the fill value.\n */\nexport function fillValues(values, startIndex, endIndex, fillValue) {\n var inc = startIndex < endIndex ? 1 : -1;\n for (var index = startIndex; index !== endIndex + inc; index += inc) {\n values[index] = fillValue;\n }\n}\n/**\n * Returns the minimum element of an array as determined by comparing the results of calling the arg function on each\n * element of the array. The function will only be called once per element.\n */\nexport function argMin(values, argFn) {\n if (values.length === 0) {\n return undefined;\n }\n var minValue = values[0];\n var minArg = argFn(minValue);\n for (var index = 1; index < values.length; index++) {\n var value = values[index];\n var arg = argFn(value);\n if (arg < minArg) {\n minValue = value;\n minArg = arg;\n }\n }\n return minValue;\n}\n//# sourceMappingURL=sliderUtils.js.map","/*\n * Copyright 2016 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign, __extends } from \"tslib\";\nimport classNames from \"classnames\";\nimport * as React from \"react\";\nimport { AbstractPureComponent, Classes, Utils } from \"../../common\";\nimport { DISPLAYNAME_PREFIX } from \"../../common/props\";\nimport { clamp } from \"../../common/utils\";\nimport { formatPercentage } from \"./sliderUtils\";\n// props that require number values, for validation\nvar NUMBER_PROPS = [\"max\", \"min\", \"stepSize\", \"tickSize\", \"value\"];\n/** Internal component for a Handle with click/drag/keyboard logic to determine a new value. */\nvar Handle = /** @class */ (function (_super) {\n __extends(Handle, _super);\n function Handle() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.state = {\n isMoving: false,\n };\n _this.handleElement = null;\n _this.refHandlers = {\n handle: function (el) { return (_this.handleElement = el); },\n };\n _this.beginHandleMovement = function (event) {\n document.addEventListener(\"mousemove\", _this.handleHandleMovement);\n document.addEventListener(\"mouseup\", _this.endHandleMovement);\n _this.setState({ isMoving: true });\n _this.changeValue(_this.clientToValue(_this.mouseEventClientOffset(event)));\n };\n _this.beginHandleTouchMovement = function (event) {\n document.addEventListener(\"touchmove\", _this.handleHandleTouchMovement);\n document.addEventListener(\"touchend\", _this.endHandleTouchMovement);\n document.addEventListener(\"touchcancel\", _this.endHandleTouchMovement);\n _this.setState({ isMoving: true });\n _this.changeValue(_this.clientToValue(_this.touchEventClientOffset(event)));\n };\n _this.getStyleProperties = function () {\n if (_this.handleElement == null) {\n return {};\n }\n // The handle midpoint of RangeSlider is actually shifted by a margin to\n // be on the edge of the visible handle element. Because the midpoint\n // calculation does not take this margin into account, we instead\n // measure the long side (which is equal to the short side plus the\n // margin).\n var _a = _this.props, _b = _a.min, min = _b === void 0 ? 0 : _b, tickSizeRatio = _a.tickSizeRatio, value = _a.value, vertical = _a.vertical;\n var handleMidpoint = _this.getHandleMidpointAndOffset(_this.handleElement, true).handleMidpoint;\n var offsetRatio = (value - min) * tickSizeRatio;\n var offsetCalc = \"calc(\".concat(formatPercentage(offsetRatio), \" - \").concat(handleMidpoint, \"px)\");\n return vertical ? { bottom: offsetCalc } : { left: offsetCalc };\n };\n _this.endHandleMovement = function (event) {\n _this.handleMoveEndedAt(_this.mouseEventClientOffset(event));\n };\n _this.endHandleTouchMovement = function (event) {\n _this.handleMoveEndedAt(_this.touchEventClientOffset(event));\n };\n _this.handleMoveEndedAt = function (clientPixel) {\n var _a, _b;\n _this.removeDocumentEventListeners();\n _this.setState({ isMoving: false });\n // always invoke onRelease; changeValue may call onChange if value is different\n var finalValue = _this.changeValue(_this.clientToValue(clientPixel));\n (_b = (_a = _this.props).onRelease) === null || _b === void 0 ? void 0 : _b.call(_a, finalValue);\n };\n _this.handleHandleMovement = function (event) {\n _this.handleMovedTo(_this.mouseEventClientOffset(event));\n };\n _this.handleHandleTouchMovement = function (event) {\n _this.handleMovedTo(_this.touchEventClientOffset(event));\n };\n _this.handleMovedTo = function (clientPixel) {\n if (_this.state.isMoving && !_this.props.disabled) {\n _this.changeValue(_this.clientToValue(clientPixel));\n }\n };\n _this.handleKeyDown = function (event) {\n var _a = _this.props, stepSize = _a.stepSize, value = _a.value;\n var key = event.key;\n if (key === \"ArrowDown\" || key === \"ArrowLeft\") {\n _this.changeValue(value - stepSize);\n // this key event has been handled! prevent browser scroll on up/down\n event.preventDefault();\n }\n else if (key === \"ArrowUp\" || key === \"ArrowRight\") {\n _this.changeValue(value + stepSize);\n event.preventDefault();\n }\n };\n _this.handleKeyUp = function (event) {\n var _a, _b;\n if (Utils.isArrowKey(event)) {\n (_b = (_a = _this.props).onRelease) === null || _b === void 0 ? void 0 : _b.call(_a, _this.props.value);\n }\n };\n return _this;\n }\n Handle.prototype.componentDidMount = function () {\n // The first time this component renders, it has no ref to the handle and thus incorrectly centers the handle.\n // Therefore, on the first mount, force a re-render to center the handle with the ref'd component.\n this.forceUpdate();\n };\n Handle.prototype.render = function () {\n var _a;\n var _b = this.props, className = _b.className, disabled = _b.disabled, label = _b.label, min = _b.min, max = _b.max, value = _b.value, vertical = _b.vertical, htmlProps = _b.htmlProps;\n var isMoving = this.state.isMoving;\n return (React.createElement(\"span\", __assign({ role: \"slider\", tabIndex: 0 }, htmlProps, { className: classNames(Classes.SLIDER_HANDLE, (_a = {}, _a[Classes.ACTIVE] = isMoving, _a), className), onKeyDown: disabled ? undefined : this.handleKeyDown, onKeyUp: disabled ? undefined : this.handleKeyUp, onMouseDown: disabled ? undefined : this.beginHandleMovement, onTouchStart: disabled ? undefined : this.beginHandleTouchMovement, ref: this.refHandlers.handle, style: this.getStyleProperties(), \"aria-valuemin\": min, \"aria-valuemax\": max, \"aria-valuenow\": value, \"aria-disabled\": disabled, \"aria-orientation\": vertical ? \"vertical\" : \"horizontal\" }), label == null ? null : React.createElement(\"span\", { className: Classes.SLIDER_LABEL }, label)));\n };\n Handle.prototype.componentWillUnmount = function () {\n this.removeDocumentEventListeners();\n };\n /** Convert client pixel to value between min and max. */\n Handle.prototype.clientToValue = function (clientPixel) {\n var _a = this.props, stepSize = _a.stepSize, tickSize = _a.tickSize, value = _a.value, vertical = _a.vertical;\n if (this.handleElement == null) {\n return value;\n }\n // #1769: this logic doesn't work perfectly when the tick size is\n // smaller than the handle size; it may be off by a tick or two.\n var clientPixelNormalized = vertical ? window.innerHeight - clientPixel : clientPixel;\n var handleCenterPixel = this.getHandleElementCenterPixel(this.handleElement);\n var pixelDelta = clientPixelNormalized - handleCenterPixel;\n if (isNaN(pixelDelta)) {\n return value;\n }\n // convert pixels to range value in increments of `stepSize`\n return value + Math.round(pixelDelta / (tickSize * stepSize)) * stepSize;\n };\n Handle.prototype.mouseEventClientOffset = function (event) {\n return this.props.vertical ? event.clientY : event.clientX;\n };\n Handle.prototype.touchEventClientOffset = function (event) {\n var touch = event.changedTouches[0];\n return this.props.vertical ? touch.clientY : touch.clientX;\n };\n Handle.prototype.validateProps = function (props) {\n for (var _i = 0, NUMBER_PROPS_1 = NUMBER_PROPS; _i < NUMBER_PROPS_1.length; _i++) {\n var prop = NUMBER_PROPS_1[_i];\n if (typeof props[prop] !== \"number\") {\n throw new Error(\"[Blueprint] <Handle> requires number value for \".concat(prop, \" prop\"));\n }\n }\n };\n /** Clamp value and invoke callback if it differs from current value */\n Handle.prototype.changeValue = function (newValue, callback) {\n if (callback === void 0) { callback = this.props.onChange; }\n newValue = this.clamp(newValue);\n if (!isNaN(newValue) && this.props.value !== newValue) {\n callback === null || callback === void 0 ? void 0 : callback(newValue);\n }\n return newValue;\n };\n /** Clamp value between min and max props */\n Handle.prototype.clamp = function (value) {\n return clamp(value, this.props.min, this.props.max);\n };\n Handle.prototype.getHandleElementCenterPixel = function (handleElement) {\n var _a = this.getHandleMidpointAndOffset(handleElement), handleMidpoint = _a.handleMidpoint, handleOffset = _a.handleOffset;\n return handleOffset + handleMidpoint;\n };\n Handle.prototype.getHandleMidpointAndOffset = function (handleElement, useOppositeDimension) {\n if (useOppositeDimension === void 0) { useOppositeDimension = false; }\n if (handleElement == null) {\n return { handleMidpoint: 0, handleOffset: 0 };\n }\n var vertical = this.props.vertical;\n // N.B. element.clientHeight does not include border size.\n // Also, element.getBoundingClientRect() is useful to get the top & left position on the page, but\n // it fails to accurately measure element width & height inside absolutely-positioned and CSS-transformed\n // containers like Popovers, so we use element.offsetWidth & offsetHeight instead (see https://github.com/palantir/blueprint/issues/4417).\n var handleRect = handleElement.getBoundingClientRect();\n handleRect.width = handleElement.offsetWidth;\n handleRect.height = handleElement.offsetHeight;\n var sizeKey = vertical\n ? useOppositeDimension\n ? \"width\"\n : \"height\"\n : useOppositeDimension\n ? \"height\"\n : \"width\";\n // \"bottom\" value seems to be consistently incorrect, so explicitly\n // calculate it using the window offset instead.\n var handleOffset = vertical ? window.innerHeight - (handleRect.top + handleRect[sizeKey]) : handleRect.left;\n return { handleMidpoint: handleRect[sizeKey] / 2, handleOffset: handleOffset };\n };\n Handle.prototype.removeDocumentEventListeners = function () {\n document.removeEventListener(\"mousemove\", this.handleHandleMovement);\n document.removeEventListener(\"mouseup\", this.endHandleMovement);\n document.removeEventListener(\"touchmove\", this.handleHandleTouchMovement);\n document.removeEventListener(\"touchend\", this.endHandleTouchMovement);\n document.removeEventListener(\"touchcancel\", this.endHandleTouchMovement);\n };\n Handle.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".SliderHandle\");\n return Handle;\n}(AbstractPureComponent));\nexport { Handle };\n//# sourceMappingURL=handle.js.map","/*\n * Copyright 2018 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign, __extends } from \"tslib\";\nimport classNames from \"classnames\";\nimport * as React from \"react\";\nimport { AbstractPureComponent, Classes, DISPLAYNAME_PREFIX, Intent, Utils, } from \"../../common\";\nimport * as Errors from \"../../common/errors\";\nimport { Handle } from \"./handle\";\nimport { HandleInteractionKind, HandleType } from \"./handleProps\";\nimport { argMin, fillValues, formatPercentage } from \"./sliderUtils\";\n/**\n * SFC used to pass slider handle props to a `MultiSlider`.\n * This element is not rendered directly.\n */\nvar MultiSliderHandle = function () { return null; };\nMultiSliderHandle.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".MultiSliderHandle\");\n/**\n * Multi slider component.\n *\n * @see https://blueprintjs.com/docs/#core/components/sliders.multi-slider\n */\nvar MultiSlider = /** @class */ (function (_super) {\n __extends(MultiSlider, _super);\n function MultiSlider() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.state = {\n labelPrecision: getLabelPrecision(_this.props),\n tickSize: 0,\n tickSizeRatio: 0,\n };\n _this.handleElements = [];\n _this.trackElement = null;\n _this.addHandleRef = function (ref) {\n if (ref != null) {\n _this.handleElements.push(ref);\n }\n };\n _this.maybeHandleTrackClick = function (event) {\n if (_this.canHandleTrackEvent(event)) {\n var foundHandle = _this.nearestHandleForValue(_this.handleElements, function (handle) {\n return handle.mouseEventClientOffset(event);\n });\n if (foundHandle) {\n foundHandle.beginHandleMovement(event);\n }\n }\n };\n _this.maybeHandleTrackTouch = function (event) {\n if (_this.canHandleTrackEvent(event)) {\n var foundHandle = _this.nearestHandleForValue(_this.handleElements, function (handle) {\n return handle.touchEventClientOffset(event);\n });\n if (foundHandle) {\n foundHandle.beginHandleTouchMovement(event);\n }\n }\n };\n _this.canHandleTrackEvent = function (event) {\n var target = event.target;\n // ensure event does not come from inside the handle\n return !_this.props.disabled && target.closest(\".\".concat(Classes.SLIDER_HANDLE)) == null;\n };\n _this.getHandlerForIndex = function (index, callback) {\n return function (newValue) {\n callback === null || callback === void 0 ? void 0 : callback(_this.getNewHandleValues(newValue, index));\n };\n };\n _this.handleChange = function (newValues) {\n var _a, _b;\n var handleProps = getSortedInteractiveHandleProps(_this.props);\n var oldValues = handleProps.map(function (handle) { return handle.value; });\n if (!Utils.arraysEqual(newValues, oldValues)) {\n (_b = (_a = _this.props).onChange) === null || _b === void 0 ? void 0 : _b.call(_a, newValues);\n handleProps.forEach(function (handle, index) {\n var _a;\n if (oldValues[index] !== newValues[index]) {\n (_a = handle.onChange) === null || _a === void 0 ? void 0 : _a.call(handle, newValues[index]);\n }\n });\n }\n };\n _this.handleRelease = function (newValues) {\n var _a, _b;\n var handleProps = getSortedInteractiveHandleProps(_this.props);\n (_b = (_a = _this.props).onRelease) === null || _b === void 0 ? void 0 : _b.call(_a, newValues);\n handleProps.forEach(function (handle, index) {\n var _a;\n (_a = handle.onRelease) === null || _a === void 0 ? void 0 : _a.call(handle, newValues[index]);\n });\n };\n return _this;\n }\n MultiSlider.getDerivedStateFromProps = function (props) {\n return { labelPrecision: MultiSlider.getLabelPrecision(props) };\n };\n MultiSlider.getLabelPrecision = function (_a) {\n var labelPrecision = _a.labelPrecision, stepSize = _a.stepSize;\n // infer default label precision from stepSize because that's how much the handle moves.\n return labelPrecision == null ? Utils.countDecimalPlaces(stepSize) : labelPrecision;\n };\n MultiSlider.prototype.getSnapshotBeforeUpdate = function (prevProps) {\n var prevHandleProps = getSortedInteractiveHandleProps(prevProps);\n var newHandleProps = getSortedInteractiveHandleProps(this.props);\n if (newHandleProps.length !== prevHandleProps.length) {\n // clear refs\n this.handleElements = [];\n }\n return null;\n };\n MultiSlider.prototype.render = function () {\n var _a;\n var _this = this;\n var classes = classNames(Classes.SLIDER, (_a = {},\n _a[Classes.DISABLED] = this.props.disabled,\n _a[\"\".concat(Classes.SLIDER, \"-unlabeled\")] = this.props.labelRenderer === false,\n _a[Classes.VERTICAL] = this.props.vertical,\n _a), this.props.className);\n return (React.createElement(\"div\", { className: classes, onMouseDown: this.maybeHandleTrackClick, onTouchStart: this.maybeHandleTrackTouch },\n React.createElement(\"div\", { className: Classes.SLIDER_TRACK, ref: function (ref) { return (_this.trackElement = ref); } }, this.renderTracks()),\n React.createElement(\"div\", { className: Classes.SLIDER_AXIS }, this.renderLabels()),\n this.renderHandles()));\n };\n MultiSlider.prototype.componentDidMount = function () {\n this.updateTickSize();\n };\n MultiSlider.prototype.componentDidUpdate = function (prevProps, prevState) {\n _super.prototype.componentDidUpdate.call(this, prevProps, prevState);\n this.updateTickSize();\n };\n MultiSlider.prototype.validateProps = function (props) {\n if (props.stepSize <= 0) {\n throw new Error(Errors.SLIDER_ZERO_STEP);\n }\n if (props.labelStepSize !== undefined && props.labelValues !== undefined) {\n throw new Error(Errors.MULTISLIDER_WARN_LABEL_STEP_SIZE_LABEL_VALUES_MUTEX);\n }\n if (props.labelStepSize !== undefined && props.labelStepSize <= 0) {\n throw new Error(Errors.SLIDER_ZERO_LABEL_STEP);\n }\n if (props.min !== undefined && !isFinite(props.min)) {\n throw new Error(Errors.SLIDER_MIN);\n }\n if (props.max !== undefined && !isFinite(props.max)) {\n throw new Error(Errors.SLIDER_MAX);\n }\n var anyInvalidChildren = false;\n React.Children.forEach(props.children, function (child) {\n // allow boolean coercion to omit nulls and false values\n if (child && !Utils.isElementOfType(child, MultiSlider.Handle)) {\n anyInvalidChildren = true;\n }\n });\n if (anyInvalidChildren) {\n throw new Error(Errors.MULTISLIDER_INVALID_CHILD);\n }\n };\n MultiSlider.prototype.formatLabel = function (value, isHandleTooltip) {\n if (isHandleTooltip === void 0) { isHandleTooltip = false; }\n var labelRenderer = this.props.labelRenderer;\n if (labelRenderer === false) {\n return undefined;\n }\n else if (Utils.isFunction(labelRenderer)) {\n return labelRenderer(value, { isHandleTooltip: isHandleTooltip });\n }\n else {\n return value.toFixed(this.state.labelPrecision);\n }\n };\n MultiSlider.prototype.renderLabels = function () {\n var _this = this;\n if (this.props.labelRenderer === false) {\n return null;\n }\n var values = this.getLabelValues();\n var _a = this.props, max = _a.max, min = _a.min;\n var labels = values.map(function (step, i) {\n var offsetPercentage = formatPercentage((step - min) / (max - min));\n var style = _this.props.vertical ? { bottom: offsetPercentage } : { left: offsetPercentage };\n return (React.createElement(\"div\", { className: Classes.SLIDER_LABEL, key: i, style: style }, _this.formatLabel(step)));\n });\n return labels;\n };\n MultiSlider.prototype.renderTracks = function () {\n var trackStops = getSortedHandleProps(this.props);\n trackStops.push({ value: this.props.max });\n // render from current to previous, then increment previous\n var previous = { value: this.props.min };\n var handles = [];\n for (var index = 0; index < trackStops.length; index++) {\n var current = trackStops[index];\n handles.push(this.renderTrackFill(index, previous, current));\n previous = current;\n }\n return handles;\n };\n MultiSlider.prototype.renderTrackFill = function (index, start, end) {\n // ensure startRatio <= endRatio\n var _a = [this.getOffsetRatio(start.value), this.getOffsetRatio(end.value)].sort(function (left, right) { return left - right; }), startRatio = _a[0], endRatio = _a[1];\n var startOffset = formatPercentage(startRatio);\n var endOffset = formatPercentage(1 - endRatio);\n var orientationStyle = this.props.vertical\n ? { bottom: startOffset, top: endOffset, left: 0 }\n : { left: startOffset, right: endOffset, top: 0 };\n var style = __assign(__assign({}, orientationStyle), (start.trackStyleAfter || end.trackStyleBefore || {}));\n var classes = classNames(Classes.SLIDER_PROGRESS, Classes.intentClass(this.getTrackIntent(start, end)));\n return React.createElement(\"div\", { key: \"track-\".concat(index), className: classes, style: style });\n };\n MultiSlider.prototype.renderHandles = function () {\n var _this = this;\n var _a = this.props, disabled = _a.disabled, max = _a.max, min = _a.min, stepSize = _a.stepSize, vertical = _a.vertical;\n var handleProps = getSortedInteractiveHandleProps(this.props);\n if (handleProps.length === 0) {\n return null;\n }\n return handleProps.map(function (_a, index) {\n var _b;\n var value = _a.value, type = _a.type, className = _a.className, htmlProps = _a.htmlProps;\n return (React.createElement(Handle, { htmlProps: htmlProps, className: classNames((_b = {},\n _b[Classes.START] = type === HandleType.START,\n _b[Classes.END] = type === HandleType.END,\n _b), className), disabled: disabled, key: \"\".concat(index, \"-\").concat(handleProps.length), label: _this.formatLabel(value, true), max: max, min: min, onChange: _this.getHandlerForIndex(index, _this.handleChange), onRelease: _this.getHandlerForIndex(index, _this.handleRelease), ref: _this.addHandleRef, stepSize: stepSize, tickSize: _this.state.tickSize, tickSizeRatio: _this.state.tickSizeRatio, value: value, vertical: vertical }));\n });\n };\n MultiSlider.prototype.nearestHandleForValue = function (handles, getOffset) {\n return argMin(handles, function (handle) {\n var offset = getOffset(handle);\n var offsetValue = handle.clientToValue(offset);\n var handleValue = handle.props.value;\n return Math.abs(offsetValue - handleValue);\n });\n };\n MultiSlider.prototype.getNewHandleValues = function (newValue, oldIndex) {\n var handleProps = getSortedInteractiveHandleProps(this.props);\n var oldValues = handleProps.map(function (handle) { return handle.value; });\n var newValues = oldValues.slice();\n newValues[oldIndex] = newValue;\n newValues.sort(function (left, right) { return left - right; });\n var newIndex = newValues.indexOf(newValue);\n var lockIndex = this.findFirstLockedHandleIndex(oldIndex, newIndex);\n if (lockIndex === -1) {\n fillValues(newValues, oldIndex, newIndex, newValue);\n }\n else {\n // If pushing past a locked handle, discard the new value and only make the updates to clamp values against the lock.\n var lockValue = oldValues[lockIndex];\n fillValues(oldValues, oldIndex, lockIndex, lockValue);\n return oldValues;\n }\n return newValues;\n };\n MultiSlider.prototype.findFirstLockedHandleIndex = function (startIndex, endIndex) {\n var inc = startIndex < endIndex ? 1 : -1;\n var handleProps = getSortedInteractiveHandleProps(this.props);\n for (var index = startIndex + inc; index !== endIndex + inc; index += inc) {\n if (handleProps[index].interactionKind !== HandleInteractionKind.PUSH) {\n return index;\n }\n }\n return -1;\n };\n MultiSlider.prototype.getLabelValues = function () {\n var _a = this.props, labelStepSize = _a.labelStepSize, labelValues = _a.labelValues, min = _a.min, max = _a.max;\n var values = [];\n if (labelValues !== undefined) {\n values = labelValues.slice();\n }\n else {\n for (var i = min; i < max || Utils.approxEqual(i, max); i += labelStepSize !== null && labelStepSize !== void 0 ? labelStepSize : 1) {\n values.push(i);\n }\n }\n return values;\n };\n MultiSlider.prototype.getOffsetRatio = function (value) {\n return Utils.clamp((value - this.props.min) * this.state.tickSizeRatio, 0, 1);\n };\n MultiSlider.prototype.getTrackIntent = function (start, end) {\n if (!this.props.showTrackFill) {\n return Intent.NONE;\n }\n if (start.intentAfter !== undefined) {\n return start.intentAfter;\n }\n else if (end !== undefined && end.intentBefore !== undefined) {\n return end.intentBefore;\n }\n return this.props.defaultTrackIntent;\n };\n MultiSlider.prototype.updateTickSize = function () {\n if (this.trackElement != null) {\n var trackSize = this.props.vertical ? this.trackElement.clientHeight : this.trackElement.clientWidth;\n var tickSizeRatio = 1 / (this.props.max - this.props.min);\n var tickSize = trackSize * tickSizeRatio;\n this.setState({ tickSize: tickSize, tickSizeRatio: tickSizeRatio });\n }\n };\n MultiSlider.defaultSliderProps = {\n disabled: false,\n max: 10,\n min: 0,\n showTrackFill: true,\n stepSize: 1,\n vertical: false,\n };\n MultiSlider.defaultProps = __assign(__assign({}, MultiSlider.defaultSliderProps), { defaultTrackIntent: Intent.NONE });\n MultiSlider.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".MultiSlider\");\n MultiSlider.Handle = MultiSliderHandle;\n return MultiSlider;\n}(AbstractPureComponent));\nexport { MultiSlider };\nfunction getLabelPrecision(_a) {\n var labelPrecision = _a.labelPrecision, _b = _a.stepSize, stepSize = _b === void 0 ? MultiSlider.defaultSliderProps.stepSize : _b;\n // infer default label precision from stepSize because that's how much the handle moves.\n return labelPrecision == null ? Utils.countDecimalPlaces(stepSize) : labelPrecision;\n}\nfunction getSortedInteractiveHandleProps(props) {\n return getSortedHandleProps(props, function (childProps) { return childProps.interactionKind !== HandleInteractionKind.NONE; });\n}\nfunction getSortedHandleProps(_a, predicate) {\n var children = _a.children;\n if (predicate === void 0) { predicate = function () { return true; }; }\n var maybeHandles = React.Children.map(children, function (child) {\n return Utils.isElementOfType(child, MultiSlider.Handle) && predicate(child.props) ? child.props : null;\n });\n var handles = maybeHandles != null ? maybeHandles : [];\n handles = handles.filter(function (handle) { return handle !== null; });\n handles.sort(function (left, right) { return left.value - right.value; });\n return handles;\n}\n//# sourceMappingURL=multiSlider.js.map","/*\n * Copyright 2016 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign, __extends, __rest } from \"tslib\";\nimport * as React from \"react\";\nimport { AbstractPureComponent, Intent } from \"../../common\";\nimport { DISPLAYNAME_PREFIX } from \"../../common/props\";\nimport { MultiSlider } from \"./multiSlider\";\n/**\n * Slider component.\n *\n * @see https://blueprintjs.com/docs/#core/components/sliders.slider\n */\nvar Slider = /** @class */ (function (_super) {\n __extends(Slider, _super);\n function Slider() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Slider.prototype.render = function () {\n var _a = this.props, initialValue = _a.initialValue, intent = _a.intent, value = _a.value, onChange = _a.onChange, onRelease = _a.onRelease, handleHtmlProps = _a.handleHtmlProps, props = __rest(_a, [\"initialValue\", \"intent\", \"value\", \"onChange\", \"onRelease\", \"handleHtmlProps\"]);\n return (React.createElement(MultiSlider, __assign({}, props),\n React.createElement(MultiSlider.Handle, { value: value, intentAfter: value < initialValue ? intent : undefined, intentBefore: value >= initialValue ? intent : undefined, onChange: onChange, onRelease: onRelease, htmlProps: handleHtmlProps }),\n React.createElement(MultiSlider.Handle, { value: initialValue, interactionKind: \"none\" })));\n };\n Slider.defaultProps = __assign(__assign({}, MultiSlider.defaultSliderProps), { initialValue: 0, intent: Intent.PRIMARY, value: 0 });\n Slider.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".Slider\");\n return Slider;\n}(AbstractPureComponent));\nexport { Slider };\n//# sourceMappingURL=slider.js.map","/*\n * Copyright 2015 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign, __extends } from \"tslib\";\nimport classNames from \"classnames\";\nimport * as React from \"react\";\nimport { ChevronRight } from \"@blueprintjs/icons\";\nimport { Classes, DISPLAYNAME_PREFIX } from \"../../common\";\nimport { Collapse } from \"../collapse/collapse\";\nimport { Icon } from \"../icon/icon\";\n/**\n * Tree node component.\n *\n * @see https://blueprintjs.com/docs/#core/components/tree.tree-node\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nvar TreeNode = /** @class */ (function (_super) {\n __extends(TreeNode, _super);\n function TreeNode() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.handleCaretClick = function (e) {\n var _a;\n e.stopPropagation();\n var _b = _this.props, isExpanded = _b.isExpanded, onCollapse = _b.onCollapse, onExpand = _b.onExpand;\n (_a = (isExpanded ? onCollapse : onExpand)) === null || _a === void 0 ? void 0 : _a(_this.props, _this.props.path, e);\n };\n _this.handleClick = function (e) {\n var _a, _b;\n (_b = (_a = _this.props).onClick) === null || _b === void 0 ? void 0 : _b.call(_a, _this.props, _this.props.path, e);\n };\n _this.handleContentRef = function (element) {\n var _a, _b;\n (_b = (_a = _this.props).contentRef) === null || _b === void 0 ? void 0 : _b.call(_a, _this.props, element);\n };\n _this.handleContextMenu = function (e) {\n var _a, _b;\n (_b = (_a = _this.props).onContextMenu) === null || _b === void 0 ? void 0 : _b.call(_a, _this.props, _this.props.path, e);\n };\n _this.handleDoubleClick = function (e) {\n var _a, _b;\n (_b = (_a = _this.props).onDoubleClick) === null || _b === void 0 ? void 0 : _b.call(_a, _this.props, _this.props.path, e);\n };\n _this.handleMouseEnter = function (e) {\n var _a, _b;\n (_b = (_a = _this.props).onMouseEnter) === null || _b === void 0 ? void 0 : _b.call(_a, _this.props, _this.props.path, e);\n };\n _this.handleMouseLeave = function (e) {\n var _a, _b;\n (_b = (_a = _this.props).onMouseLeave) === null || _b === void 0 ? void 0 : _b.call(_a, _this.props, _this.props.path, e);\n };\n return _this;\n }\n /** @deprecated no longer necessary now that the TypeScript parser supports type arguments on JSX element tags */\n TreeNode.ofType = function () {\n return TreeNode;\n };\n TreeNode.prototype.render = function () {\n var _a;\n var _b = this.props, children = _b.children, className = _b.className, disabled = _b.disabled, icon = _b.icon, isExpanded = _b.isExpanded, isSelected = _b.isSelected, label = _b.label;\n var classes = classNames(Classes.TREE_NODE, (_a = {},\n _a[Classes.DISABLED] = disabled,\n _a[Classes.TREE_NODE_SELECTED] = isSelected,\n _a[Classes.TREE_NODE_EXPANDED] = isExpanded,\n _a), className);\n var contentClasses = classNames(Classes.TREE_NODE_CONTENT, \"\".concat(Classes.TREE_NODE_CONTENT, \"-\").concat(this.props.depth));\n var eventHandlers = disabled === true\n ? {}\n : {\n onClick: this.handleClick,\n onContextMenu: this.handleContextMenu,\n onDoubleClick: this.handleDoubleClick,\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n };\n return (React.createElement(\"li\", { className: classes },\n React.createElement(\"div\", __assign({ className: contentClasses, ref: this.handleContentRef }, eventHandlers),\n this.maybeRenderCaret(),\n React.createElement(Icon, { className: Classes.TREE_NODE_ICON, icon: icon, \"aria-hidden\": true, tabIndex: -1 }),\n React.createElement(\"span\", { className: Classes.TREE_NODE_LABEL }, label),\n this.maybeRenderSecondaryLabel()),\n React.createElement(Collapse, { isOpen: isExpanded }, children)));\n };\n TreeNode.prototype.maybeRenderCaret = function () {\n var _a = this.props, children = _a.children, isExpanded = _a.isExpanded, disabled = _a.disabled, _b = _a.hasCaret, hasCaret = _b === void 0 ? React.Children.count(children) > 0 : _b;\n if (hasCaret) {\n var caretClasses = classNames(Classes.TREE_NODE_CARET, isExpanded ? Classes.TREE_NODE_CARET_OPEN : Classes.TREE_NODE_CARET_CLOSED);\n return (React.createElement(ChevronRight, { title: isExpanded ? \"Collapse group\" : \"Expand group\", className: caretClasses, onClick: disabled === true ? undefined : this.handleCaretClick }));\n }\n return React.createElement(\"span\", { className: Classes.TREE_NODE_CARET_NONE });\n };\n TreeNode.prototype.maybeRenderSecondaryLabel = function () {\n if (this.props.secondaryLabel != null) {\n return React.createElement(\"span\", { className: Classes.TREE_NODE_SECONDARY_LABEL }, this.props.secondaryLabel);\n }\n else {\n return undefined;\n }\n };\n TreeNode.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".TreeNode\");\n return TreeNode;\n}(React.Component));\nexport { TreeNode };\n//# sourceMappingURL=treeNode.js.map","/*\n * Copyright 2015 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign, __extends } from \"tslib\";\nimport classNames from \"classnames\";\nimport * as React from \"react\";\nimport { Classes, DISPLAYNAME_PREFIX } from \"../../common\";\nimport { TreeNode } from \"./treeNode\";\n/**\n * Tree component.\n *\n * @see https://blueprintjs.com/docs/#core/components/tree\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nvar Tree = /** @class */ (function (_super) {\n __extends(Tree, _super);\n function Tree() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.nodeRefs = {};\n _this.handleContentRef = function (node, element) {\n if (element != null) {\n _this.nodeRefs[node.id] = element;\n }\n else {\n // don't want our object to get bloated with old keys\n delete _this.nodeRefs[node.id];\n }\n };\n _this.handleNodeCollapse = function (node, path, e) {\n var _a, _b;\n (_b = (_a = _this.props).onNodeCollapse) === null || _b === void 0 ? void 0 : _b.call(_a, node, path, e);\n };\n _this.handleNodeClick = function (node, path, e) {\n var _a, _b;\n (_b = (_a = _this.props).onNodeClick) === null || _b === void 0 ? void 0 : _b.call(_a, node, path, e);\n };\n _this.handleNodeContextMenu = function (node, path, e) {\n var _a, _b;\n (_b = (_a = _this.props).onNodeContextMenu) === null || _b === void 0 ? void 0 : _b.call(_a, node, path, e);\n };\n _this.handleNodeDoubleClick = function (node, path, e) {\n var _a, _b;\n (_b = (_a = _this.props).onNodeDoubleClick) === null || _b === void 0 ? void 0 : _b.call(_a, node, path, e);\n };\n _this.handleNodeExpand = function (node, path, e) {\n var _a, _b;\n (_b = (_a = _this.props).onNodeExpand) === null || _b === void 0 ? void 0 : _b.call(_a, node, path, e);\n };\n _this.handleNodeMouseEnter = function (node, path, e) {\n var _a, _b;\n (_b = (_a = _this.props).onNodeMouseEnter) === null || _b === void 0 ? void 0 : _b.call(_a, node, path, e);\n };\n _this.handleNodeMouseLeave = function (node, path, e) {\n var _a, _b;\n (_b = (_a = _this.props).onNodeMouseLeave) === null || _b === void 0 ? void 0 : _b.call(_a, node, path, e);\n };\n return _this;\n }\n Tree.ofType = function () {\n return Tree;\n };\n Tree.nodeFromPath = function (path, treeNodes) {\n if (path.length === 1) {\n return treeNodes[path[0]];\n }\n else {\n return Tree.nodeFromPath(path.slice(1), treeNodes[path[0]].childNodes);\n }\n };\n Tree.prototype.render = function () {\n return (React.createElement(\"div\", { className: classNames(Classes.TREE, this.props.className) }, this.renderNodes(this.props.contents, [], Classes.TREE_ROOT)));\n };\n /**\n * Returns the underlying HTML element of the `Tree` node with an id of `nodeId`.\n * This element does not contain the children of the node, only its label and controls.\n * If the node is not currently mounted, `undefined` is returned.\n */\n Tree.prototype.getNodeContentElement = function (nodeId) {\n return this.nodeRefs[nodeId];\n };\n Tree.prototype.renderNodes = function (treeNodes, currentPath, className) {\n var _this = this;\n if (treeNodes == null) {\n return null;\n }\n var nodeItems = treeNodes.map(function (node, i) {\n var elementPath = currentPath.concat(i);\n return (React.createElement(TreeNode, __assign({}, node, { key: node.id, contentRef: _this.handleContentRef, depth: elementPath.length - 1, onClick: _this.handleNodeClick, onContextMenu: _this.handleNodeContextMenu, onCollapse: _this.handleNodeCollapse, onDoubleClick: _this.handleNodeDoubleClick, onExpand: _this.handleNodeExpand, onMouseEnter: _this.handleNodeMouseEnter, onMouseLeave: _this.handleNodeMouseLeave, path: elementPath }), _this.renderNodes(node.childNodes, elementPath)));\n });\n return React.createElement(\"ul\", { className: classNames(Classes.TREE_NODE_LIST, className) }, nodeItems);\n };\n Tree.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".Tree\");\n return Tree;\n}(React.Component));\nexport { Tree };\n//# sourceMappingURL=tree.js.map","import React, {createContext} from \"react\";\nimport type {UiConfigRendererBase} from 'uiconfig.js'\nimport {UiObjectConfig} from 'uiconfig.js'\nimport {getOrCall} from 'ts-browser-helpers'\nimport {THREE} from \"../threejs\";\n\nexport type BPComponentProps<T> = {\n config: UiObjectConfig<T>,\n level?: number\n}\nexport type BPComponentState = {\n hidden?: boolean\n disabled?: boolean\n readOnly?: boolean // same as disabled(for most inputs)\n}\nexport interface UiConfigRendererBaseBp extends UiConfigRendererBase{\n // eslint-disable-next-line @typescript-eslint/naming-convention\n THREE: THREE|undefined\n}\n\nexport const UiConfigRendererContext = createContext<UiConfigRendererBaseBp>(null as any)\nexport type UiConfigRendererContextType = React.ContextType<typeof UiConfigRendererContext>\nexport abstract class BPComponent<TValue, TState, TProps extends BPComponentProps<TValue> = BPComponentProps<TValue>> extends React.Component<TProps, TState> {\n static contextType = UiConfigRendererContext\n declare context: UiConfigRendererContextType\n\n protected constructor(props: TProps, context: UiConfigRendererContextType, state: TState) {\n super(props, context);\n this.state = this.getUpdatedState(state)\n // this.state = state\n }\n\n /**\n * Set the state(and rerender), then return a promise that resolves when the state is set\n * @param state\n */\n setStatePromise(state: TState) {\n return new Promise<void>(resolve => this.setState(state, resolve))\n }\n\n /**\n * This is called to get the updated state from the config, copy any values/properties from the config to the state here\n * @param state - the current state\n */\n getUpdatedState(state: TState): TState{\n return {\n ...state,\n hidden: getOrCall(this.props.config.hidden) ?? false,\n disabled: getOrCall(this.props.config.disabled) ?? false,\n readOnly: getOrCall(this.props.config.readOnly) ?? false,\n }\n }\n\n private _refreshing = false;\n\n /**\n * Refreshes the state from the config\n *\n * This is called by the ui component when the value is changed and from uiRefresh from the config\n * @param state - optional state to refresh from, if not provided, the current state is used\n */\n async refreshConfigState(state?: TState) {\n if (!this.props.config) return;\n if (this._refreshing) return;\n this._refreshing = true\n const s = this.getUpdatedState(state || this.state)\n // console.log('set state', s)\n await this.setStatePromise(s)\n // todo debug refresh frequency etc\n // console.log('refreshing', this.props.config.label, this.props.config.type, this.state)\n this._refreshing = false\n }\n\n /**\n * Add reference to this to uiRef and set uiRefresh to the config to refresh this component\n *\n * also refreshes the config once which re-renders (todo: check if this is required)\n */\n componentDidMount() {\n super.componentDidMount?.();\n this.props.config.uiRef = this\n this.props.config.uiRefresh = (deep = false, mode = 'postFrame', delay = 0) => {\n // console.log('refresh', this.props.config.label, this.props.config.type)\n this.context.addToRefreshQueue(mode, this.props.config, deep, delay)\n }\n // console.log('mount', this.props.config.label, this.props.config.type, this.props.config)\n this.props.config.uiRefresh()\n }\n\n componentWillUnmount() {\n // console.log('unmount', this.props.config.label, this.props.config.type, this.props.config)\n this.props.config.uiRef = undefined\n this.props.config.uiRefresh = undefined\n super.componentWillUnmount?.();\n }\n\n // abstract updateStateValue(state: TState): Promise<void>;\n\n}\n","import {BPComponent, BPComponentProps, BPComponentState, UiConfigRendererContextType} from \"./BPComponent\";\n\nexport type BPLabelledComponentState = BPComponentState & {\n label: string\n}\nexport abstract class BPLabelledComponent<TValue, TState, TProps extends BPComponentProps<TValue> = BPComponentProps<TValue>> extends BPComponent<TValue, TState&BPLabelledComponentState, TProps> {\n\n protected constructor(props: TProps, context: UiConfigRendererContextType, state: TState) {\n super(props, context, {label: 'Input', ...state});\n }\n\n getUpdatedState(state: TState & BPLabelledComponentState): TState & BPLabelledComponentState {\n return super.getUpdatedState({\n ...state,\n label: this.context.methods.getLabel(this.props.config) || state.label,\n })\n }\n\n}\n","import {BPLabelledComponent, BPLabelledComponentState} from './BPLabelledComponent'\nimport {BPComponentProps, UiConfigRendererContextType} from './BPComponent'\nimport {PanelActions} from '@blueprintjs/core/lib/esm/components/panel-stack2/panelTypes'\nimport {UiObjectConfig} from 'uiconfig.js'\nimport {getOrCall} from 'ts-browser-helpers'\n\nexport type BPContainerComponentState = BPLabelledComponentState & {\n children: UiObjectConfig[]\n expanded: boolean\n}\nexport class BPContainerComponent<TState extends BPContainerComponentState=BPContainerComponentState> extends BPLabelledComponent<void, TState, BPComponentProps<void> & PanelActions> {\n\n protected _childParentOnChange: UiObjectConfig['parentOnChange'] = (ev, ...args) => {\n // console.warn('child change', ev, this.props.config)\n this.context.methods.dispatchOnChangeSync(this.props.config, {...ev}, ...args)\n }\n\n protected _registerChild(child: UiObjectConfig) {\n child.parentOnChange = this._childParentOnChange\n if(child.property === undefined &&\n child.value === undefined &&\n child.getValue === undefined &&\n child.setValue === undefined &&\n child.type !== 'button' &&\n (this.props.config.property !== undefined || this.props.config.value !== undefined)\n ) child.property = this.props.config.property !== undefined ? this.props.config.property : [this.props.config, 'value']\n }\n\n protected _unregisterChild(child: UiObjectConfig) {\n if (child.parentOnChange !== this._childParentOnChange)\n child.parentOnChange = undefined\n if(Array.isArray(child.property) &&\n (child.property === this.props.config.property ||\n (child.property[0] === this.props.config &&\n child.property[1] === 'value')\n )\n ) delete child.property\n }\n\n constructor(props: BPComponentProps<void> & PanelActions, context: UiConfigRendererContextType, state: TState) {\n super(props, context, state);\n }\n\n getUpdatedState(state: TState) {\n const oldChildren = state.children\n const newChildren = this.context.methods.getChildren(this.props.config)\n const removed = oldChildren.filter(c => !newChildren.includes(c))\n const added = newChildren.filter(c => !oldChildren.includes(c))\n // console.warn(this, this._registerChild, this._childParentOnChange, added, removed)\n removed.forEach(c => this._unregisterChild(c))\n added.forEach(c => this._registerChild(c))\n return {\n ...super.getUpdatedState(state),\n // children: (this.props.config.children || []).map(c => getOrCall(c) || {}).flat(2),\n children: newChildren,\n expanded: getOrCall(this.props.config.expanded) ?? false,\n }\n }\n\n componentDidMount() {\n super.componentDidMount?.();\n this.state.children.forEach(c => this._registerChild(c))\n }\n\n componentWillUnmount() {\n super.componentWillUnmount?.();\n this.state.children.forEach(c => this._unregisterChild(c))\n }\n\n}\n","import React, {DOMAttributes} from \"react\";\nimport {BPComponentProps, UiConfigRendererContextType} from \"./BPComponent\";\nimport {Button, Collapse, Icon, Intent} from \"@blueprintjs/core\";\nimport {ConfigObject} from \"../ConfigObject\";\nimport {PanelActions} from \"@blueprintjs/core/lib/esm/components/panel-stack2/panelTypes\";\nimport {safeSetProperty} from 'ts-browser-helpers'\nimport {BPContainerComponent, BPContainerComponentState} from './BPContainerComponent'\n\nexport type BPFolderComponentState = BPContainerComponentState & {\n}\n\nexport class BPFolderComponent extends BPContainerComponent<BPFolderComponentState> {\n constructor(props: BPComponentProps<void>&PanelActions, context: UiConfigRendererContextType) {\n super(props, context, {children: [], expanded: false, label: 'Folder'});\n }\n\n render() {\n const setExpanded = (e: boolean) => {\n if (e === this.state.expanded) return\n this.setState({...this.state, expanded: e})\n safeSetProperty(this.props.config, \"expanded\", e, true)\n // if (e) this.state.children.forEach(c => Array.isArray(c) ? null : c.uiRefresh?.(\"postFrame\", true, 1)) // todo: handle array and functions\n }\n\n return !this.state.hidden ? (\n <FolderHeadCard\n key={this.props.config.uuid}\n open={this.state.expanded}\n disabled={this.state.disabled}\n minimal={(this.props.level ?? 0) > 0}\n onClick={() => {\n if(this.state.readOnly) return\n setExpanded(!this.state.expanded)\n }}\n label={this.state.label}\n >\n <Collapse isOpen={this.state.expanded} keepChildrenMounted={false}>\n <div className=\"folder-children\" style={{listStyleType: \"none\", paddingLeft: \"0\"}}>\n {this.state.children.map((c, i) => <ConfigObject key={'c' + i} {...this.props} config={c}\n level={(this.props.level ?? 0) + 1}/>)}\n </div>\n </Collapse>\n </FolderHeadCard>\n ) : null\n }\n}\n\nexport const FolderHeadCard: React.FC<React.PropsWithChildren<{ open: boolean, label: string, minimal: boolean, disabled?: boolean, onClick: DOMAttributes<HTMLElement>['onClick'] }>> = (props) => {\n return (\n <div\n // interactive={!props.open}\n className=\"folder-card\"\n // elevation={props.open ? 3 : undefined}\n >\n <div className={props.minimal ? 'folder-head-card-minimal' : 'folder-head-card'}>\n {/*<H6 className=\"folder-head-label\"*/}\n {/* onClick={props.onClick}>{props.label}</H6>*/}\n {/*<Icon icon=\"chevron-right\" style={{*/}\n {/* rotate: props.open ? \"90deg\" : \"0deg\",*/}\n {/* transition: \"rotate 0.25s ease-in-out\"*/}\n {/*}} className=\"folder-head-label-icon\"/>*/}\n\n {/*<Button className=\"folder-trigger-button\" onClick={props.onClick}*/}\n {/* fill={true} minimal={true}*/}\n {/* rightIcon={(*/}\n {/* <Icon icon=\"chevron-right\" style={{*/}\n {/* rotate: props.open ? \"90deg\" : \"0deg\",*/}\n {/* transition: \"rotate 0.25s ease-in-out\"*/}\n {/* }} className=\"folder-head-label-icon\"/>*/}\n {/* )}>{props.label}*/}\n {/*</Button>*/}\n\n <Button\n className=\"folder-trigger-button\" fill={!props.minimal} onClick={props.onClick}\n minimal={true}\n disabled={props.disabled}\n small={props.minimal}\n style={props.minimal ? {} : {fontSize: \"0.95rem\", paddingTop: \"8px\", paddingBottom: \"8px\"}}\n intent={props.open ? Intent.PRIMARY : Intent.NONE}\n rightIcon={(\n <Icon icon=\"chevron-right\" style={{\n rotate: props.open ? \"90deg\" : \"0deg\",\n transition: \"rotate 0.25s ease-in-out\"\n }}/>\n )}>{props.label}\n </Button>\n </div>\n {props.children}\n </div>\n )\n}\n","import {BPComponentProps, UiConfigRendererContextType} from \"./BPComponent\";\nimport {BPLabelledComponent, BPLabelledComponentState} from \"./BPLabelledComponent\";\n\nexport type BPValueComponentState<TStateValue> = BPLabelledComponentState & {\n value: TStateValue\n}\n\nexport abstract class BPValueComponent<TValue, TState extends BPValueComponentState<TStateValue>, TStateValue> extends BPLabelledComponent<TValue, TState> {\n\n protected constructor(props: BPComponentProps<TValue>, context: UiConfigRendererContextType, state: TState) {\n super(props, context, state);\n }\n\n abstract convertValueToState(value: TValue, state: TState): TState;\n\n abstract convertStateToValue(state: TState): Promise<TValue>;\n\n getUpdatedState(state: TState): TState {\n const val = this.context.methods.getValue(this.props.config)\n state = super.getUpdatedState(state)\n return val ? this.convertValueToState(val, state) : state\n }\n\n protected _previousLast = false\n\n doesNeedRefresh(state: TState, _last?: boolean): boolean {\n return this._previousLast !== _last || this.state.value !== state.value\n }\n\n async setValue(value: TStateValue, last?: boolean) {\n return this.updateStateValue({...this.state, value}, last)\n }\n\n forceOnChange: boolean = false\n\n async updateStateValue(state: TState, last?: boolean) {\n if (!this.doesNeedRefresh(state, last)) {\n await this.setStatePromise(state)\n return\n }\n let val = await this.convertStateToValue(state)\n await this.context.methods.setValue(this.props.config, val, {last}, this.forceOnChange)\n await this.refreshConfigState(state)\n }\n\n}\n","import {FormGroup} from \"@blueprintjs/core\";\nimport {PropsWithChildren} from \"react\";\n\nexport function FormGroupComponent(props: PropsWithChildren<{ label: string, flexBasis?: string, disabled?: boolean }>) {\n return (\n <FormGroup className=\"xPaddedContent folderContent\" contentClassName=\"formGroupContent\"\n style={{\n justifyContent: \"space-between\",\n marginTop: \"2px\",\n marginBottom: \"2px\",\n flexBasis: props.flexBasis ?? \"50%\"\n }}\n // helperText=\"Helper text with details...\"\n label={(<span title={props.label}>{props.label}</span>)}\n inline={true}\n disabled={props.disabled}\n // labelInfo=\"(required)\"\n >\n {props.children}\n </FormGroup>\n )\n}\n","import {BPValueComponent, BPValueComponentState} from \"./BPValueComponent\";\nimport {BPComponentProps, UiConfigRendererContextType} from \"./BPComponent\";\nimport {ReactNode} from \"react\";\nimport {FormGroupComponent} from \"../components/FormGroupComponent\";\n\nexport abstract class BPInputComponent<\n TStateValue, TState extends BPValueComponentState<TStateValue> = BPValueComponentState<TStateValue>>\n extends BPValueComponent<TStateValue, TState, TStateValue> {\n\n protected constructor(props: BPComponentProps<TStateValue>, context: UiConfigRendererContextType, state: TState) {\n super(props, context, state);\n }\n\n convertValueToState(value: TStateValue, state: TState): TState {\n return {...state, value}\n }\n\n async convertStateToValue(state: TState): Promise<TStateValue> {\n return state.value;\n }\n\n abstract renderInput(): ReactNode;\n\n protected flexBasis = \"100%\"\n\n render() {\n return !this.state.hidden ? (\n <FormGroupComponent disabled={this.state.disabled} label={this.state.label} flexBasis={this.flexBasis}>\n {this.renderInput()}\n </FormGroupComponent>\n ) : null\n }\n}\n","import {ChangeEventHandler} from \"react\";\nimport {BPComponentProps, UiConfigRendererContextType} from \"./BPComponent\";\nimport {InputGroup} from \"@blueprintjs/core\";\nimport {BPInputComponent} from \"./BPInputComponent\";\n\nexport class BPTextInputComponent extends BPInputComponent<string> {\n constructor(props: BPComponentProps<string>, context: UiConfigRendererContextType) {\n super(props, context, {value: '', label: 'Input'});\n }\n\n private _onChange: ChangeEventHandler<HTMLInputElement> = (e) => {\n this.setValue(e.target.value); // todo: set loading while this promise is happening.\n }\n\n renderInput() {\n return (\n <InputGroup\n // defaultValue={this.state.value} // for uncontrolled usage, we will also need ref and set ref.value on change: https://reactjs.org/docs/uncontrolled-components.html\n value={this.state.value}\n disabled={this.state.disabled}\n readOnly={this.state.readOnly}\n key={this.props.config.uuid}\n onChange={this._onChange}/>\n )\n }\n}\n","import * as React from \"react\";\nimport {Icon, IconName, MaybeElement} from \"@blueprintjs/core\";\n\n// todo: bounds and stepsize\nexport class DraggableIcon extends React.Component<{ icon: IconName | MaybeElement, size?: number, value: number, stepSize?: number, small?: boolean, onChange: (v: number, last?: boolean) => void }> {\n private cursor = 'auto'\n private dragStartOffset = -Infinity\n private dragStartValue = -Infinity\n private lastValue = -Infinity\n private removeEvents = () => {\n if (isFinite(this.lastValue)) this.props.onChange(this.lastValue)\n this.lastValue = -Infinity\n this.dragStartOffset = -Infinity\n this.dragStartValue = -Infinity\n document.removeEventListener('mousemove', this.mouseMoveEvent)\n document.removeEventListener('mouseup', this.mouseUpEvent)\n document.documentElement.style.cursor = this.cursor\n // setDragging(false)\n };\n private mouseUpEvent = (ev: MouseEvent) => {\n ev.stopPropagation()\n ev.preventDefault()\n this.removeEvents()\n };\n private mouseMoveEvent = (ev: MouseEvent) => {\n ev.stopPropagation()\n ev.preventDefault()\n if (ev.buttons > 0) {\n if (isFinite(this.dragStartValue) && isFinite(this.dragStartOffset)) {\n let stepSize = (this.props.stepSize ?? 1) / 10\n let curr = ev.clientX;\n let mm = 100;\n let off = this.dragStartOffset - curr;\n // off = Math.min(mm, Math.max(-mm, off));\n off = off / mm; //-1, 1\n // off = (off + 1)/2;\n // off *= (props.max - props.min) / 2\n off *= ((stepSize) * 100) / 2\n if (ev.shiftKey) off *= 10\n if (ev.altKey) off *= 0.1\n\n let val = this.dragStartValue - off;\n // val = Math.min(props.max, Math.max(props.min, val)); // todo\n val = Number(val.toFixed(Math.max(1, -Math.log10(stepSize / 10)))); // clip decimal places depending on step size\n this.props.onChange(val, false)\n this.lastValue = val;\n }\n } else {\n this.removeEvents()\n // setDragging(false)\n }\n };\n\n render() {\n // const [dragging, setDragging] = React.useState(false)\n\n return (\n <div style={{cursor: 'ew-resize', marginLeft: \"6px\", marginRight: \"6px\", marginTop: this.props.small ? \"3px\" : \"6px\", marginBottom: this.props.small ? \"3px\" : \"6px\"}}\n onMouseDown={(ev) => {\n // if(dragging) return\n this.dragStartOffset = ev.clientX\n this.dragStartValue = this.props.value\n ev.stopPropagation()\n ev.preventDefault()\n this.cursor = document.documentElement.style.cursor\n document.documentElement.style.cursor = \"ew-resize\"\n document.addEventListener('mousemove', this.mouseMoveEvent)\n document.addEventListener('mouseup', this.mouseUpEvent)\n // setDragging(true)\n }}\n >\n <Icon icon={this.props.icon} size={this.props.size}/>\n </div>\n )\n }\n}\n","/*\n * Copyright 2017 Palantir Technologies, Inc. All rights reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Many changes over the original implementation here: https://github.com/palantir/blueprint/blob/develop/packages/docs-app/src/examples/core-examples/numericInputExtendedExample.tsx\n */\n\nimport React from \"react\";\n\nimport type {HTMLInputProps, NumericInputProps} from \"@blueprintjs/core\";\nimport {NumericInput} from \"@blueprintjs/core\";\nimport {DraggableIcon} from \"./DraggableIcon\";\n\nexport interface IExtendedNumericInputState {\n value?: string;\n}\n\nconst NumberAbbreviation = {\n BILLION: \"b\",\n MILLION: \"m\",\n THOUSAND: \"k\",\n};\n\nconst NUMBER_ABBREVIATION_REGEX = /((\\.\\d+)|(\\d+(\\.\\d+)?))(k|m|b)\\b/gi;\nconst SCIENTIFIC_NOTATION_REGEX = /((\\.\\d+)|(\\d+(\\.\\d+)?))(e\\d+)\\b/gi;\n// todo: bounds and stepsize\nexport class ExtendedNumericInput extends React.PureComponent<HTMLInputProps & NumericInputProps & { onChange2: (v: number, last?: boolean) => void }, IExtendedNumericInputState> {\n public state: IExtendedNumericInputState = {\n value: (this.props.value ?? this.props.defaultValue ?? '').toString(),\n };\n\n async setValue(val?: number) {\n return new Promise<void>((resolve) => {\n this.setState({value: (val ?? this.props.value ?? this.props.defaultValue ?? '').toString()}, resolve)\n })\n }\n\n public render() {\n const {value} = this.state;\n const props2: HTMLInputProps & NumericInputProps & { onChange2?: (v: number, last?: boolean) => void } = {...this.props}\n if (props2.onChange2) delete props2.onChange2\n\n return (\n <NumericInput\n {...props2}\n leftElement={(\n <DraggableIcon icon={this.props.leftIcon ?? \"variable\"}\n size={16}\n small={this.props.small}\n value={parseFloat(value ?? '0')}\n stepSize={this.props.stepSize}\n onChange={(v, last) => {\n this.handleValueChange(v, v.toString(), null, last, true)\n }}/>\n )}\n // leftIcon={\"variable\"}\n buttonPosition={this.props.buttonPosition ?? (this.props.disabled ? \"none\" : \"right\")}\n allowNumericCharactersOnly={false}\n onBlur={this.handleBlur}\n onKeyDown={this.handleKeyDown}\n onButtonClick={this.handleButtonClick}\n onValueChange={this.handleValueChange}\n placeholder=\"Enter a number or expression...\"\n value={value}\n />\n );\n }\n\n private handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n this.handleConfirm((e.target as HTMLInputElement).value);\n };\n\n\n private _lastChangedValue = null as [number, string] | null\n private handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.code === 'Enter') {\n this.handleConfirm((e.target as HTMLInputElement).value);\n }else if(e.code === 'ArrowUp' || e.code === 'ArrowDown'){\n if(this._lastChangedValue) {\n if(!this._lastChangedValue[1].length && (e.target as HTMLInputElement).value.length){\n // could be because of NaN, so we need to evaluate the expression\n // note: to test this type in \"1+1\" and press up/down. the output should be 2 and not 1 or 0\n this.handleConfirm((e.target as HTMLInputElement).value)\n // todo: should we increment the value here? (also need to take care of ctrl and alt and step sizes)\n }else this.handleValueChange(this._lastChangedValue[0], this._lastChangedValue[1], e.target as HTMLInputElement, true, true)\n }\n else {\n this.handleConfirm((e.target as HTMLInputElement).value);\n // todo: should we increment the value here? (also need to take care of ctrl and alt and step sizes)\n }\n }\n this._lastChangedValue = null\n };\n\n private handleValueChange = (_valueAsNumber: number, valueAsString: string, inputElement: HTMLInputElement | null, last?: boolean, dispatchOnChange2 = false) => {\n this._lastChangedValue = [_valueAsNumber, valueAsString]\n this.setState({value: valueAsString}, () => {\n this.props.onValueChange?.(_valueAsNumber, valueAsString, inputElement)\n if(dispatchOnChange2)\n this.props.onChange2?.(_valueAsNumber, last)\n });\n };\n\n private handleButtonClick = (_valueAsNumber: number, valueAsString: string) => {\n this.handleValueChange(_valueAsNumber, valueAsString, null, true, true)\n };\n\n private handleConfirm = (value: string) => {\n let result = value;\n result = this.expandScientificNotationTerms(result);\n result = this.expandNumberAbbreviationTerms(result);\n result = this.evaluateSimpleMathExpression(result);\n result = this.nanStringToEmptyString(result);\n this.setState({value: result}, () => {\n this.props.onValueChange?.(parseFloat(result) || 0, result, null)\n this.props.onChange2?.(parseFloat(result) || 0)\n });\n\n // the user could have typed a different expression that evaluates to\n // the same value. force the update to ensure a render triggers even if\n // this is the case.\n this.forceUpdate();\n };\n\n private expandScientificNotationTerms = (value: string) => {\n // leave empty strings empty\n if (!value) {\n return value;\n }\n return value.replace(SCIENTIFIC_NOTATION_REGEX, this.expandScientificNotationNumber);\n };\n\n private expandNumberAbbreviationTerms = (value: string) => {\n // leave empty strings empty\n if (!value) {\n return value;\n }\n return value.replace(NUMBER_ABBREVIATION_REGEX, this.expandAbbreviatedNumber);\n };\n\n // Adapted from http://stackoverflow.com/questions/2276021/evaluating-a-string-as-a-mathematical-expression-in-javascript\n // maybe try a better solution from above, right now it only works left to right\n private evaluateSimpleMathExpression = (value: string) => {\n // leave empty strings empty\n if (!value) {\n return value;\n }\n\n // parse all terms from the expression. split on the +, -, *, /, ^(pow) characters and then\n // validate that each term is a number.\n const terms = value.split(/[+\\-*\\/^]/);\n\n // ex. \"1 + 2 - 3 # 4\" will parse on the + and - signs into\n // [\"1 \", \" 2 \", \" 3 # 4\"]. after trimming whitespace from each term\n // and coercing them to numbers, the third term will become NaN,\n // indicating that there was some illegal character present in it.\n const trimmedTerms = terms.map((term: string) => term.trim());\n const numericTerms = trimmedTerms.map((term: string) => +term);\n const illegalTerms = numericTerms.filter(isNaN);\n\n if (illegalTerms.length > 0) {\n return \"\";\n }\n\n // evaluate the expression now that we know it's valid\n let total = 0;\n\n // the regex below will match decimal numbers--optionally preceded by\n // +-*/^ followed by any number of spaces—-including each of the\n // following:\n // \".1\"\n // \" 1\"\n // \"1.1\"\n // \"+ 1\"\n // \"- 1.1\"\n const matches = value.match(/[+\\-*\\/^]*\\s*(\\.\\d+|\\d+(\\.\\d+)?)/gi) || [];\n for (const match of matches) {\n const compactedMatch = match.replace(/\\s/g, \"\");\n const compactedMatchNum = compactedMatch.replace(/[*\\/^]/g, \"\");\n const num = parseFloat(compactedMatchNum);\n if(compactedMatch.startsWith(\"*\")) total *= num;\n else if(compactedMatch.startsWith(\"/\")) total /= num;\n else if(compactedMatch.startsWith(\"^\")) total = Math.pow(total, num);\n else total += num;\n }\n const roundedTotal = this.roundValue(total);\n return roundedTotal.toString();\n };\n\n private nanStringToEmptyString = (value: string) => {\n // our evaluation logic isn't perfect, so use this as a final\n // sanitization step if the result was not a number.\n return value === \"NaN\" ? \"\" : value;\n };\n\n private expandAbbreviatedNumber = (value: string) => {\n if (!value) {\n return value;\n }\n\n const num = +value.substring(0, value.length - 1);\n const lastChar = value.charAt(value.length - 1).toLowerCase();\n\n let result: number | null = null;\n\n if (lastChar === NumberAbbreviation.THOUSAND) {\n result = num * 1e3;\n } else if (lastChar === NumberAbbreviation.MILLION) {\n result = num * 1e6;\n } else if (lastChar === NumberAbbreviation.BILLION) {\n result = num * 1e9;\n }\n\n const isValid = result != null && !isNaN(result);\n\n if (isValid) {\n result = this.roundValue(result!);\n }\n\n return isValid ? result!.toString() : \"\";\n };\n\n private expandScientificNotationNumber = (value: string) => {\n if (!value) {\n return value;\n }\n return (+value).toString();\n };\n\n private roundValue = (value: number, precision: number = 1) => {\n // round to at most two decimal places\n return Math.round(value * 10 ** precision) / 10 ** precision;\n };\n}\n","import React from \"react\";\nimport {BPComponentProps, UiConfigRendererContextType} from \"./BPComponent\";\nimport {BPInputComponent} from \"./BPInputComponent\";\nimport {ExtendedNumericInput} from \"../components/ExtendedNumericInput\";\nimport {BPValueComponentState} from \"./BPValueComponent\";\n\nexport class BPNumberInputComponent extends BPInputComponent<number> {\n constructor(props: BPComponentProps<number>, context: UiConfigRendererContextType) {\n super(props, context, {value: 0, label: 'Number'});\n }\n\n private _inputs = [React.createRef<ExtendedNumericInput>()]\n\n async refreshConfigState(state?: BPValueComponentState<number>): Promise<void> {\n await super.refreshConfigState(state);\n await this._inputs[0].current?.setValue(this.state.value)\n }\n\n private _onChange = (v: number, last?: boolean) => {\n this.setValue(v, last); // todo: set loading while this promise is happening.\n }\n\n renderInput() {\n return (\n <ExtendedNumericInput\n className=\"numericInput\"\n disabled={this.state.disabled}\n readOnly={this.state.readOnly}\n defaultValue={this.state.value}\n ref={this._inputs[0]}\n key={this.props.config.uuid}\n onChange2={this._onChange} fill={false}/>\n )\n }\n}\n","import {BPComponentProps, UiConfigRendererContextType} from \"./BPComponent\";\nimport React from \"react\";\nimport {BPLabelledComponent, BPLabelledComponentState} from \"./BPLabelledComponent\";\nimport {Button} from \"@blueprintjs/core\";\n\nexport class BPButtonComponent extends BPLabelledComponent<()=>void, BPLabelledComponentState> {\n constructor(props: BPComponentProps<()=>void>, context: UiConfigRendererContextType) {\n super(props, context, {label: 'Button'});\n }\n\n onClick = (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {\n // console.log('her')\n this.context.methods.clickButton(this.props.config, {args: [event]})\n }\n\n render() {\n return !this.state.hidden ? (\n <div className=\"bpButtonComponent xPaddedContent\">\n <Button className=\"bpButton\"\n disabled={this.state.disabled}\n // small={true}\n text={this.state.label} style={{}} onClick={this.onClick}/>\n </div>\n ) : null\n }\n\n}\n","import {ChangeEventHandler} from \"react\";\nimport {BPComponentProps, UiConfigRendererContextType} from \"./BPComponent\";\nimport {Switch} from \"@blueprintjs/core\";\nimport {BPInputComponent} from \"./BPInputComponent\";\n\nexport class BPToggleInputComponent extends BPInputComponent<boolean> {\n constructor(props: BPComponentProps<boolean>, context: UiConfigRendererContextType) {\n super(props, context, {value: false, label: 'Input'});\n }\n\n private _onChange: ChangeEventHandler<HTMLInputElement> = (e) => {\n this.setValue(e.target.checked); // todo: set loading while this promise is happening.\n }\n\n renderInput() {\n return (\n <Switch alignIndicator=\"right\" defaultChecked={this.state.value}\n disabled={this.state.disabled} readOnly={this.state.readOnly}\n label={this.state.label} onChange={this._onChange}\n className=\"switch\" innerLabelChecked=\"on\" innerLabel=\"off\"/>\n )\n }\n\n render() {\n return !this.state.hidden ? (\n <div className=\"xPaddedContent folderContent\" style={{flexBasis: \"100%\"}}>\n {this.renderInput()}\n </div>\n ) : null\n }\n}\n","import {BPComponentProps, UiConfigRendererContextType} from \"./BPComponent\";\nimport {NumericInput, Slider} from \"@blueprintjs/core\";\nimport {BPInputComponent} from \"./BPInputComponent\";\nimport {BPValueComponentState} from \"./BPValueComponent\";\nimport {getOrCall} from \"ts-browser-helpers\";\n\nexport type BPSliderComponentState = BPValueComponentState<number> & {\n min: number,\n max: number,\n step: number\n}\n\nexport class BPSliderInputComponent extends BPInputComponent<number, BPSliderComponentState> {\n constructor(props: BPComponentProps<number>, context: UiConfigRendererContextType) {\n super(props, context, {\n value: 0,\n label: 'Slider',\n min: 0,\n max: 1,\n step: 0.01,\n });\n }\n\n getUpdatedState(state: BPSliderComponentState): BPSliderComponentState {\n const bounds = getOrCall(this.props.config.bounds)\n const max = (bounds?.length ?? 0) >= 2 ? bounds![1] : 1\n const min = (bounds?.length ?? 0) >= 1 ? bounds![0] : 0\n const step = getOrCall(this.props.config.stepSize) || (Math.pow(10, Math.floor(Math.log10((max - min) / 100))))\n return super.getUpdatedState({\n ...state,\n min, max, step\n });\n }\n\n flexBasis = \"75%\"\n\n renderInput() {\n return [(\n <Slider\n value={Math.min(this.state.max, Math.max(this.state.min, this.state.value))}\n key={this.props.config.uuid + '_slider'}\n disabled={this.state.disabled}\n min={this.state.min} max={this.state.max} stepSize={this.state.step}\n labelRenderer={false}\n // labelStepSize={(max - min)}\n // labelValues={[]}\n onChange={(v) => {\n if(this.state.readOnly) return\n this.setValue(v)\n }}\n />\n ),(\n <NumericInput\n style={{maxWidth: \"4rem\", minWidth: \"3rem\"}}\n // defaultValue={state}\n disabled={this.state.disabled}\n value={Math.min(this.state.max, Math.max(this.state.min, this.state.value))}\n key={this.props.config.uuid + '_input'}\n min={this.state.min} max={this.state.max} stepSize={this.state.step}\n minorStepSize={this.state.step/10}\n majorStepSize={this.state.step*10}\n buttonPosition=\"none\"\n onValueChange={(v) => {\n if(this.state.readOnly) return\n this.setValue(v)\n }}\n />)\n ]\n }\n}\n","/*\n * Copyright 2017 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { Classes } from \"@blueprintjs/core\";\nvar NS = Classes.getClassNamespace();\nexport var MULTISELECT = \"\".concat(NS, \"-multi-select\");\nexport var MULTISELECT_POPOVER = \"\".concat(MULTISELECT, \"-popover\");\nexport var MULTISELECT_TAG_INPUT_INPUT = \"\".concat(MULTISELECT, \"-tag-input-input\");\nexport var OMNIBAR = \"\".concat(NS, \"-omnibar\");\nexport var OMNIBAR_OVERLAY = \"\".concat(OMNIBAR, \"-overlay\");\nexport var SELECT_POPOVER = \"\".concat(NS, \"-select-popover\");\nexport var SUGGEST_POPOVER = \"\".concat(NS, \"-suggest-popover\");\n//# sourceMappingURL=classes.js.map","/*\n * Copyright 2017 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * `ItemListRenderer` helper method for rendering each item in `filteredItems`,\n * with optional support for `noResults` (when filtered items is empty)\n * and `initialContent` (when query is empty).\n */\nexport function renderFilteredItems(props, noResults, initialContent) {\n if (props.query.length === 0 && initialContent !== undefined) {\n return initialContent;\n }\n var items = props.filteredItems.map(props.renderItem).filter(function (item) { return item != null; });\n return items.length > 0 ? items : noResults;\n}\n//# sourceMappingURL=itemListRenderer.js.map","/*\n * Copyright 2018 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { Utils } from \"@blueprintjs/core\";\n/**\n * Utility function for executing the {@link ListItemsProps#itemsEqual} prop to test\n * for equality between two items.\n *\n * @return `true` if the two items are equivalent according to `itemsEqualProp`.\n */\nexport function executeItemsEqual(itemsEqualProp, itemA, itemB) {\n // Use strict equality if:\n // A) Default equality check is necessary because itemsEqualProp is undefined.\n // OR\n // B) Either item is null/undefined. Note that null represents \"no item\", while\n // undefined represents an uncontrolled prop. This strict equality check ensures\n // nothing will ever be considered equivalent to an uncontrolled prop.\n if (itemsEqualProp === undefined || itemA == null || itemB == null) {\n return itemA === itemB;\n }\n if (Utils.isFunction(itemsEqualProp)) {\n // itemsEqualProp is an equality comparator function, so use it\n return itemsEqualProp(itemA, itemB);\n }\n else {\n // itemsEqualProp is a property name, so strictly compare the values of the property.\n return itemA[itemsEqualProp] === itemB[itemsEqualProp];\n }\n}\n//# sourceMappingURL=listItemsProps.js.map","/*\n * Copyright 2018 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/** Returns an instance of a \"Create Item\" object. */\nexport function getCreateNewItem() {\n return { __blueprintCreateNewItemBrand: \"blueprint-create-new-item\" };\n}\n/**\n * Type guard returning `true` if the provided item (e.g. the current\n * `activeItem`) is a \"Create Item\" option.\n */\nexport function isCreateNewItem(item) {\n if (item == null) {\n return false;\n }\n // see if the provided item exactly matches the `CreateNewItem` object,\n // with no superfluous keys.\n var keys = Object.keys(item);\n if (keys.length !== 1 || keys[0] !== \"__blueprintCreateNewItemBrand\") {\n return false;\n }\n return item.__blueprintCreateNewItemBrand === \"blueprint-create-new-item\";\n}\n/**\n * Returns the type of the the current active item. This will be a no-op unless\n * the `activeItem` is `undefined` or a \"Create Item\" option, in which case\n * `null` will be returned instead.\n */\nexport function getActiveItem(activeItem) {\n return activeItem == null || isCreateNewItem(activeItem) ? null : activeItem;\n}\n//# sourceMappingURL=listItemsUtils.js.map","/*\n * Copyright 2017 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign, __extends, __rest } from \"tslib\";\nimport * as React from \"react\";\nimport { AbstractComponent, DISPLAYNAME_PREFIX, Menu, Utils } from \"@blueprintjs/core\";\nimport { executeItemsEqual, getActiveItem, getCreateNewItem, isCreateNewItem, renderFilteredItems, } from \"../../common\";\n/**\n * Query list component.\n *\n * @see https://blueprintjs.com/docs/#select/query-list\n */\nvar QueryList = /** @class */ (function (_super) {\n __extends(QueryList, _super);\n function QueryList(props) {\n var _a, _b;\n var _this = _super.call(this, props) || this;\n _this.itemRefs = new Map();\n _this.refHandlers = {\n itemsParent: function (ref) { return (_this.itemsParentRef = ref); },\n };\n /**\n * Flag indicating that we should check whether selected item is in viewport\n * after rendering, typically because of keyboard change. Set to `true` when\n * manipulating state in a way that may cause active item to scroll away.\n */\n _this.shouldCheckActiveItemInViewport = false;\n /**\n * The item that we expect to be the next selected active item (based on click\n * or key interactions). When scrollToActiveItem = false, used to detect if\n * an unexpected external change to the active item has been made.\n */\n _this.expectedNextActiveItem = null;\n /**\n * Flag which is set to true while in between an ENTER \"keydown\" event and its\n * corresponding \"keyup\" event.\n *\n * When entering text via an IME (https://en.wikipedia.org/wiki/Input_method),\n * the ENTER key is pressed to confirm the character(s) to be input from a list\n * of options. The operating system intercepts the ENTER \"keydown\" event and\n * prevents it from propagating to the application, but \"keyup\" is still\n * fired, triggering a spurious event which this component does not expect.\n *\n * To work around this quirk, we keep track of \"real\" key presses by setting\n * this flag in handleKeyDown.\n */\n _this.isEnterKeyPressed = false;\n /** default `itemListRenderer` implementation */\n _this.renderItemList = function (listProps) {\n var _a = _this.props, initialContent = _a.initialContent, noResults = _a.noResults;\n // omit noResults if createNewItemFromQuery and createNewItemRenderer are both supplied, and query is not empty\n var createItemView = listProps.renderCreateItem();\n var maybeNoResults = createItemView != null ? null : noResults;\n var menuContent = renderFilteredItems(listProps, maybeNoResults, initialContent);\n if (menuContent == null && createItemView == null) {\n return null;\n }\n var createFirst = _this.isCreateItemFirst();\n return (React.createElement(Menu, __assign({ role: \"listbox\" }, listProps.menuProps, { ulRef: listProps.itemsParentRef }),\n createFirst && createItemView,\n menuContent,\n !createFirst && createItemView));\n };\n /** wrapper around `itemRenderer` to inject props */\n _this.renderItem = function (item, index) {\n if (_this.props.disabled !== true) {\n var _a = _this.state, activeItem = _a.activeItem, query = _a.query, filteredItems = _a.filteredItems;\n var modifiers = {\n active: executeItemsEqual(_this.props.itemsEqual, getActiveItem(activeItem), item),\n disabled: isItemDisabled(item, index, _this.props.itemDisabled),\n matchesPredicate: filteredItems.indexOf(item) >= 0,\n };\n return _this.props.itemRenderer(item, {\n handleClick: function (e) { return _this.handleItemSelect(item, e); },\n handleFocus: function () { return _this.setActiveItem(item); },\n index: index,\n modifiers: modifiers,\n query: query,\n ref: function (node) {\n if (node) {\n _this.itemRefs.set(index, node);\n }\n else {\n _this.itemRefs.delete(index);\n }\n },\n });\n }\n return null;\n };\n _this.renderCreateItemMenuItem = function () {\n if (_this.isCreateItemRendered(_this.state.createNewItem)) {\n var _a = _this.state, activeItem = _a.activeItem, query = _a.query;\n var trimmedQuery_1 = query.trim();\n var handleClick = function (evt) {\n _this.handleItemCreate(trimmedQuery_1, evt);\n };\n var isActive = isCreateNewItem(activeItem);\n return _this.props.createNewItemRenderer(trimmedQuery_1, isActive, handleClick);\n }\n return null;\n };\n _this.handleItemCreate = function (query, evt) {\n var _a, _b, _c, _d;\n // we keep a cached createNewItem in state, but might as well recompute\n // the result just to be sure it's perfectly in sync with the query.\n var value = (_b = (_a = _this.props).createNewItemFromQuery) === null || _b === void 0 ? void 0 : _b.call(_a, query);\n if (value != null) {\n var newItems = Array.isArray(value) ? value : [value];\n for (var _i = 0, newItems_1 = newItems; _i < newItems_1.length; _i++) {\n var item = newItems_1[_i];\n (_d = (_c = _this.props).onItemSelect) === null || _d === void 0 ? void 0 : _d.call(_c, item, evt);\n }\n _this.maybeResetQuery();\n }\n };\n _this.handleItemSelect = function (item, event) {\n var _a, _b;\n _this.setActiveItem(item);\n (_b = (_a = _this.props).onItemSelect) === null || _b === void 0 ? void 0 : _b.call(_a, item, event);\n _this.maybeResetQuery();\n };\n _this.handlePaste = function (queries) {\n var _a = _this.props, createNewItemFromQuery = _a.createNewItemFromQuery, onItemsPaste = _a.onItemsPaste;\n var nextActiveItem;\n var nextQueries = [];\n // Find an exising item that exactly matches each pasted value, or\n // create a new item if possible. Ignore unmatched values if creating\n // items is disabled.\n var pastedItemsToEmit = [];\n for (var _i = 0, queries_1 = queries; _i < queries_1.length; _i++) {\n var query = queries_1[_i];\n var equalItem = getMatchingItem(query, _this.props);\n if (equalItem !== undefined) {\n nextActiveItem = equalItem;\n pastedItemsToEmit.push(equalItem);\n }\n else if (_this.canCreateItems()) {\n var value = createNewItemFromQuery === null || createNewItemFromQuery === void 0 ? void 0 : createNewItemFromQuery(query);\n if (value !== undefined) {\n var newItems = Array.isArray(value) ? value : [value];\n pastedItemsToEmit.push.apply(pastedItemsToEmit, newItems);\n }\n }\n else {\n nextQueries.push(query);\n }\n }\n // UX nicety: combine all unmatched queries into a single\n // comma-separated query in the input, so we don't lose any information.\n // And don't reset the active item; we'll do that ourselves below.\n _this.setQuery(nextQueries.join(\", \"), false);\n // UX nicety: update the active item if we matched with at least one\n // existing item.\n if (nextActiveItem !== undefined) {\n _this.setActiveItem(nextActiveItem);\n }\n onItemsPaste === null || onItemsPaste === void 0 ? void 0 : onItemsPaste(pastedItemsToEmit);\n };\n _this.handleKeyDown = function (event) {\n var _a, _b;\n var key = event.key;\n if (key === \"ArrowUp\" || key === \"ArrowDown\") {\n event.preventDefault();\n var nextActiveItem = _this.getNextActiveItem(key === \"ArrowUp\" ? -1 : 1);\n if (nextActiveItem != null) {\n _this.setActiveItem(nextActiveItem);\n }\n }\n else if (key === \"Enter\") {\n _this.isEnterKeyPressed = true;\n }\n (_b = (_a = _this.props).onKeyDown) === null || _b === void 0 ? void 0 : _b.call(_a, event);\n };\n _this.handleKeyUp = function (event) {\n var onKeyUp = _this.props.onKeyUp;\n var activeItem = _this.state.activeItem;\n if (event.key === \"Enter\" && _this.isEnterKeyPressed) {\n // We handle ENTER in keyup here to play nice with the Button component's keyboard\n // clicking. Button is commonly used as the only child of Select. If we were to\n // instead process ENTER on keydown, then Button would click itself on keyup and\n // the Select popover would re-open.\n event.preventDefault();\n if (activeItem == null || isCreateNewItem(activeItem)) {\n _this.handleItemCreate(_this.state.query, event);\n }\n else {\n _this.handleItemSelect(activeItem, event);\n }\n _this.isEnterKeyPressed = false;\n }\n onKeyUp === null || onKeyUp === void 0 ? void 0 : onKeyUp(event);\n };\n _this.handleInputQueryChange = function (event) {\n var _a, _b;\n var query = event == null ? \"\" : event.target.value;\n _this.setQuery(query);\n (_b = (_a = _this.props).onQueryChange) === null || _b === void 0 ? void 0 : _b.call(_a, query, event);\n };\n var _c = props.query, query = _c === void 0 ? \"\" : _c;\n var createNewItem = (_a = props.createNewItemFromQuery) === null || _a === void 0 ? void 0 : _a.call(props, query);\n var filteredItems = getFilteredItems(query, props);\n _this.state = {\n activeItem: props.activeItem !== undefined\n ? props.activeItem\n : (_b = props.initialActiveItem) !== null && _b !== void 0 ? _b : getFirstEnabledItem(filteredItems, props.itemDisabled),\n createNewItem: createNewItem,\n filteredItems: filteredItems,\n query: query,\n };\n return _this;\n }\n /** @deprecated no longer necessary now that the TypeScript parser supports type arguments on JSX element tags */\n QueryList.ofType = function () {\n return QueryList;\n };\n QueryList.prototype.render = function () {\n var _a = this.props, className = _a.className, items = _a.items, renderer = _a.renderer, _b = _a.itemListRenderer, itemListRenderer = _b === void 0 ? this.renderItemList : _b, menuProps = _a.menuProps;\n var _c = this.state, createNewItem = _c.createNewItem, spreadableState = __rest(_c, [\"createNewItem\"]);\n return renderer(__assign(__assign({}, spreadableState), { className: className, handleItemSelect: this.handleItemSelect, handleKeyDown: this.handleKeyDown, handleKeyUp: this.handleKeyUp, handlePaste: this.handlePaste, handleQueryChange: this.handleInputQueryChange, itemList: itemListRenderer(__assign(__assign({}, spreadableState), { items: items, itemsParentRef: this.refHandlers.itemsParent, menuProps: menuProps, renderCreateItem: this.renderCreateItemMenuItem, renderItem: this.renderItem })) }));\n };\n QueryList.prototype.componentDidUpdate = function (prevProps) {\n var _this = this;\n if (this.props.activeItem !== undefined && this.props.activeItem !== this.state.activeItem) {\n this.shouldCheckActiveItemInViewport = true;\n this.setState({ activeItem: this.props.activeItem });\n }\n if (this.props.query != null && this.props.query !== prevProps.query) {\n // new query\n this.setQuery(this.props.query, this.props.resetOnQuery, this.props);\n }\n else if (\n // same query (or uncontrolled query), but items in the list changed\n !Utils.shallowCompareKeys(this.props, prevProps, {\n include: [\"items\", \"itemListPredicate\", \"itemPredicate\"],\n })) {\n this.setQuery(this.state.query);\n }\n if (this.shouldCheckActiveItemInViewport) {\n // update scroll position immediately before repaint so DOM is accurate\n // (latest filteredItems) and to avoid flicker.\n this.requestAnimationFrame(function () { return _this.scrollActiveItemIntoView(); });\n // reset the flag\n this.shouldCheckActiveItemInViewport = false;\n }\n };\n QueryList.prototype.scrollActiveItemIntoView = function () {\n var scrollToActiveItem = this.props.scrollToActiveItem !== false;\n var externalChangeToActiveItem = !executeItemsEqual(this.props.itemsEqual, getActiveItem(this.expectedNextActiveItem), getActiveItem(this.props.activeItem));\n this.expectedNextActiveItem = null;\n if (!scrollToActiveItem && externalChangeToActiveItem) {\n return;\n }\n var activeElement = this.getActiveElement();\n if (this.itemsParentRef != null && activeElement != null) {\n var activeTop = activeElement.offsetTop, activeHeight = activeElement.offsetHeight;\n var _a = this.itemsParentRef, parentOffsetTop = _a.offsetTop, parentScrollTop = _a.scrollTop, parentHeight = _a.clientHeight;\n // compute padding on parent element to ensure we always leave space\n var _b = this.getItemsParentPadding(), paddingTop = _b.paddingTop, paddingBottom = _b.paddingBottom;\n // compute the two edges of the active item for comparison, including parent padding\n var activeBottomEdge = activeTop + activeHeight + paddingBottom - parentOffsetTop;\n var activeTopEdge = activeTop - paddingTop - parentOffsetTop;\n if (activeBottomEdge >= parentScrollTop + parentHeight) {\n // offscreen bottom: align bottom of item with bottom of viewport\n this.itemsParentRef.scrollTop = activeBottomEdge + activeHeight - parentHeight;\n }\n else if (activeTopEdge <= parentScrollTop) {\n // offscreen top: align top of item with top of viewport\n this.itemsParentRef.scrollTop = activeTopEdge - activeHeight;\n }\n }\n };\n QueryList.prototype.setQuery = function (query, resetActiveItem, props) {\n var _a;\n if (resetActiveItem === void 0) { resetActiveItem = this.props.resetOnQuery; }\n if (props === void 0) { props = this.props; }\n var createNewItemFromQuery = props.createNewItemFromQuery;\n this.shouldCheckActiveItemInViewport = true;\n var hasQueryChanged = query !== this.state.query;\n if (hasQueryChanged) {\n (_a = props.onQueryChange) === null || _a === void 0 ? void 0 : _a.call(props, query);\n }\n // Leading and trailing whitespace can be confusing to display, so we remove it when passing it\n // to functions dealing with data, like createNewItemFromQuery. But we need the unaltered user-typed\n // query to remain in state to be able to render controlled text inputs properly.\n var trimmedQuery = query.trim();\n var filteredItems = getFilteredItems(trimmedQuery, props);\n var createNewItem = createNewItemFromQuery != null && trimmedQuery !== \"\" ? createNewItemFromQuery(trimmedQuery) : undefined;\n this.setState({ createNewItem: createNewItem, filteredItems: filteredItems, query: query });\n // always reset active item if it's now filtered or disabled\n var activeIndex = this.getActiveIndex(filteredItems);\n var shouldUpdateActiveItem = resetActiveItem ||\n activeIndex < 0 ||\n isItemDisabled(getActiveItem(this.state.activeItem), activeIndex, props.itemDisabled);\n if (shouldUpdateActiveItem) {\n // if the `createNewItem` is first, that should be the first active item.\n if (this.isCreateItemRendered(createNewItem) && this.isCreateItemFirst()) {\n this.setActiveItem(getCreateNewItem());\n }\n else {\n this.setActiveItem(getFirstEnabledItem(filteredItems, props.itemDisabled));\n }\n }\n };\n QueryList.prototype.setActiveItem = function (activeItem) {\n var _a, _b, _c, _d;\n this.expectedNextActiveItem = activeItem;\n if (this.props.activeItem === undefined) {\n // indicate that the active item may need to be scrolled into view after update.\n this.shouldCheckActiveItemInViewport = true;\n this.setState({ activeItem: activeItem });\n }\n if (isCreateNewItem(activeItem)) {\n (_b = (_a = this.props).onActiveItemChange) === null || _b === void 0 ? void 0 : _b.call(_a, null, true);\n }\n else {\n (_d = (_c = this.props).onActiveItemChange) === null || _d === void 0 ? void 0 : _d.call(_c, activeItem, false);\n }\n };\n QueryList.prototype.getActiveElement = function () {\n var _a;\n var activeItem = this.state.activeItem;\n if (this.itemsParentRef != null) {\n if (isCreateNewItem(activeItem)) {\n var index = this.isCreateItemFirst() ? 0 : this.state.filteredItems.length;\n return this.itemsParentRef.children.item(index);\n }\n else {\n var activeIndex = this.getActiveIndex();\n return ((_a = this.itemRefs.get(activeIndex)) !== null && _a !== void 0 ? _a : this.itemsParentRef.children.item(activeIndex));\n }\n }\n return undefined;\n };\n QueryList.prototype.getActiveIndex = function (items) {\n if (items === void 0) { items = this.state.filteredItems; }\n var activeItem = this.state.activeItem;\n if (activeItem == null || isCreateNewItem(activeItem)) {\n return -1;\n }\n // NOTE: this operation is O(n) so it should be avoided in render(). safe for events though.\n for (var i = 0; i < items.length; ++i) {\n if (executeItemsEqual(this.props.itemsEqual, items[i], activeItem)) {\n return i;\n }\n }\n return -1;\n };\n QueryList.prototype.getItemsParentPadding = function () {\n // assert ref exists because it was checked before calling\n var _a = getComputedStyle(this.itemsParentRef), paddingTop = _a.paddingTop, paddingBottom = _a.paddingBottom;\n return {\n paddingBottom: pxToNumber(paddingBottom),\n paddingTop: pxToNumber(paddingTop),\n };\n };\n /**\n * Get the next enabled item, moving in the given direction from the start\n * index. A `null` return value means no suitable item was found.\n *\n * @param direction amount to move in each iteration, typically +/-1\n * @param startIndex item to start iteration\n */\n QueryList.prototype.getNextActiveItem = function (direction, startIndex) {\n if (startIndex === void 0) { startIndex = this.getActiveIndex(); }\n if (this.isCreateItemRendered(this.state.createNewItem)) {\n var reachedCreate = (startIndex === 0 && direction === -1) ||\n (startIndex === this.state.filteredItems.length - 1 && direction === 1);\n if (reachedCreate) {\n return getCreateNewItem();\n }\n }\n return getFirstEnabledItem(this.state.filteredItems, this.props.itemDisabled, direction, startIndex);\n };\n /**\n * @param createNewItem Checks if this item would match the current query. Cannot check this.state.createNewItem\n * every time since state may not have been updated yet.\n */\n QueryList.prototype.isCreateItemRendered = function (createNewItem) {\n return (this.canCreateItems() &&\n this.state.query !== \"\" &&\n // this check is unfortunately O(N) on the number of items, but\n // alas, hiding the \"Create Item\" option when it exactly matches an\n // existing item is much clearer.\n !this.wouldCreatedItemMatchSomeExistingItem(createNewItem));\n };\n QueryList.prototype.isCreateItemFirst = function () {\n return this.props.createNewItemPosition === \"first\";\n };\n QueryList.prototype.canCreateItems = function () {\n return this.props.createNewItemFromQuery != null && this.props.createNewItemRenderer != null;\n };\n QueryList.prototype.wouldCreatedItemMatchSomeExistingItem = function (createNewItem) {\n var _this = this;\n // search only the filtered items, not the full items list, because we\n // only need to check items that match the current query.\n return this.state.filteredItems.some(function (item) {\n var newItems = Array.isArray(createNewItem) ? createNewItem : [createNewItem];\n return newItems.some(function (newItem) { return executeItemsEqual(_this.props.itemsEqual, item, newItem); });\n });\n };\n QueryList.prototype.maybeResetQuery = function () {\n if (this.props.resetOnSelect) {\n this.setQuery(\"\", true);\n }\n };\n QueryList.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".QueryList\");\n QueryList.defaultProps = {\n disabled: false,\n resetOnQuery: true,\n };\n return QueryList;\n}(AbstractComponent));\nexport { QueryList };\nfunction pxToNumber(value) {\n return value == null ? 0 : parseInt(value.slice(0, -2), 10);\n}\nfunction getMatchingItem(query, _a) {\n var items = _a.items, itemPredicate = _a.itemPredicate;\n if (Utils.isFunction(itemPredicate)) {\n // .find() doesn't exist in ES5. Alternative: use a for loop instead of\n // .filter() so that we can return as soon as we find the first match.\n for (var i = 0; i < items.length; i++) {\n var item = items[i];\n if (itemPredicate(query, item, i, true)) {\n return item;\n }\n }\n }\n return undefined;\n}\nfunction getFilteredItems(query, _a) {\n var items = _a.items, itemPredicate = _a.itemPredicate, itemListPredicate = _a.itemListPredicate;\n if (Utils.isFunction(itemListPredicate)) {\n // note that implementations can reorder the items here\n return itemListPredicate(query, items);\n }\n else if (Utils.isFunction(itemPredicate)) {\n return items.filter(function (item, index) { return itemPredicate(query, item, index); });\n }\n return items;\n}\n/** Wrap number around min/max values: if it exceeds one bound, return the other. */\nfunction wrapNumber(value, min, max) {\n if (value < min) {\n return max;\n }\n else if (value > max) {\n return min;\n }\n return value;\n}\nfunction isItemDisabled(item, index, itemDisabled) {\n if (itemDisabled == null || item == null) {\n return false;\n }\n else if (Utils.isFunction(itemDisabled)) {\n return itemDisabled(item, index);\n }\n return !!item[itemDisabled];\n}\n/**\n * Get the next enabled item, moving in the given direction from the start\n * index. A `null` return value means no suitable item was found.\n *\n * @param items the list of items\n * @param itemDisabled callback to determine if a given item is disabled\n * @param direction amount to move in each iteration, typically +/-1\n * @param startIndex which index to begin moving from\n */\nexport function getFirstEnabledItem(items, itemDisabled, direction, startIndex) {\n if (direction === void 0) { direction = 1; }\n if (startIndex === void 0) { startIndex = items.length - 1; }\n if (items.length === 0) {\n return null;\n }\n // remember where we started to prevent an infinite loop\n var index = startIndex;\n var maxIndex = items.length - 1;\n do {\n // find first non-disabled item\n index = wrapNumber(index + direction, 0, maxIndex);\n if (!isItemDisabled(items[index], index, itemDisabled)) {\n return items[index];\n }\n } while (index !== startIndex && startIndex !== -1);\n return null;\n}\n//# sourceMappingURL=queryList.js.map","/*\n * Copyright 2022 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __assign, __extends, __rest } from \"tslib\";\nimport classNames from \"classnames\";\nimport * as React from \"react\";\nimport { AbstractPureComponent, Button, Classes as CoreClasses, DISPLAYNAME_PREFIX, InputGroup, Popover, PopupKind, refHandler, setRef, Utils, } from \"@blueprintjs/core\";\nimport { Cross, Search } from \"@blueprintjs/icons\";\nimport { Classes } from \"../../common\";\nimport { QueryList } from \"../query-list/queryList\";\n/**\n * Select component.\n *\n * @see https://blueprintjs.com/docs/#select/select\n */\nvar Select = /** @class */ (function (_super) {\n __extends(Select, _super);\n function Select() {\n var _a;\n var _this = _super.apply(this, arguments) || this;\n _this.state = { isOpen: false };\n _this.inputElement = null;\n _this.queryList = null;\n _this.handleInputRef = refHandler(_this, \"inputElement\", (_a = _this.props.inputProps) === null || _a === void 0 ? void 0 : _a.inputRef);\n _this.handleQueryListRef = function (ref) { return (_this.queryList = ref); };\n _this.listboxId = Utils.uniqueId(\"listbox\");\n _this.renderQueryList = function (listProps) {\n // not using defaultProps cuz they're hard to type with generics (can't use <T> on static members)\n var _a = _this.props, _b = _a.filterable, filterable = _b === void 0 ? true : _b, _c = _a.disabled, disabled = _c === void 0 ? false : _c, _d = _a.inputProps, inputProps = _d === void 0 ? {} : _d, _e = _a.popoverContentProps, popoverContentProps = _e === void 0 ? {} : _e, _f = _a.popoverProps, popoverProps = _f === void 0 ? {} : _f, popoverRef = _a.popoverRef;\n var input = (React.createElement(InputGroup, __assign({ \"aria-autocomplete\": \"list\", leftIcon: React.createElement(Search, null), placeholder: \"Filter...\", rightElement: _this.maybeRenderClearButton(listProps.query) }, inputProps, { inputRef: _this.handleInputRef, onChange: listProps.handleQueryChange, value: listProps.query })));\n var handleKeyDown = listProps.handleKeyDown, handleKeyUp = listProps.handleKeyUp;\n // N.B. no need to set `fill` since that is unused with the `renderTarget` API\n return (React.createElement(Popover, __assign({ autoFocus: false, enforceFocus: false, isOpen: _this.state.isOpen, disabled: disabled, placement: popoverProps.position || popoverProps.placement ? undefined : \"bottom-start\" }, popoverProps, { className: classNames(listProps.className, popoverProps.className), content: React.createElement(\"div\", __assign({}, popoverContentProps, { onKeyDown: handleKeyDown, onKeyUp: handleKeyUp }),\n filterable ? input : undefined,\n listProps.itemList), onClosing: _this.handlePopoverClosing, onInteraction: _this.handlePopoverInteraction, onOpened: _this.handlePopoverOpened, onOpening: _this.handlePopoverOpening, popoverClassName: classNames(Classes.SELECT_POPOVER, popoverProps.popoverClassName), popupKind: PopupKind.LISTBOX, ref: popoverRef, renderTarget: _this.getPopoverTargetRenderer(listProps, _this.state.isOpen) })));\n };\n // We use the renderTarget API to flatten the rendered DOM and make it easier to implement features like\n // the \"fill\" prop. Note that we must take `isOpen` as an argument to force this render function to be called\n // again after that state changes.\n _this.getPopoverTargetRenderer = function (listProps, isOpen) {\n // N.B. pull out `isOpen` so that it's not forwarded to the DOM, but remember not to use it directly\n // since it may be stale (`renderTarget` is not re-invoked on this.state changes).\n // eslint-disable-next-line react/display-name\n return function (_a) {\n var _b;\n var _isOpen = _a.isOpen, ref = _a.ref, targetProps = __rest(_a, [\"isOpen\", \"ref\"]);\n var _c = _this.props, disabled = _c.disabled, _d = _c.popoverProps, popoverProps = _d === void 0 ? {} : _d, popoverTargetProps = _c.popoverTargetProps;\n var handleKeyDown = listProps.handleKeyDown, handleKeyUp = listProps.handleKeyUp;\n var _e = popoverProps.targetTagName, targetTagName = _e === void 0 ? \"div\" : _e;\n return React.createElement(targetTagName, __assign(__assign(__assign({ \"aria-controls\": _this.listboxId }, popoverTargetProps), targetProps), { \"aria-disabled\": disabled, \"aria-expanded\": isOpen, \n // Note that we must set FILL here in addition to children to get the wrapper element to full width\n className: classNames(targetProps.className, popoverTargetProps === null || popoverTargetProps === void 0 ? void 0 : popoverTargetProps.className, (_b = {},\n _b[CoreClasses.FILL] = _this.props.fill,\n _b)), \n // Normally, Popover would also need to attach its own `onKeyDown` handler via `targetProps`,\n // but in our case we fully manage that interaction and listen for key events to open/close\n // the popover, so we elide it from the DOM.\n onKeyDown: _this.withPopoverTargetPropsHandler(\"keydown\", isOpen ? handleKeyDown : _this.handleTargetKeyDown), onKeyUp: _this.withPopoverTargetPropsHandler(\"keyup\", isOpen ? handleKeyUp : undefined), ref: ref, role: \"combobox\" }), _this.props.children);\n };\n };\n _this.withPopoverTargetPropsHandler = function (eventType, handler) {\n switch (eventType) {\n case \"keydown\":\n return function (event) {\n var _a, _b;\n handler === null || handler === void 0 ? void 0 : handler(event);\n (_b = (_a = _this.props.popoverTargetProps) === null || _a === void 0 ? void 0 : _a.onKeyDown) === null || _b === void 0 ? void 0 : _b.call(_a, event);\n };\n case \"keyup\":\n return function (event) {\n var _a, _b;\n handler === null || handler === void 0 ? void 0 : handler(event);\n (_b = (_a = _this.props.popoverTargetProps) === null || _a === void 0 ? void 0 : _a.onKeyUp) === null || _b === void 0 ? void 0 : _b.call(_a, event);\n };\n }\n };\n /**\n * Target wrapper element \"keydown\" handler while the popover is closed.\n */\n _this.handleTargetKeyDown = function (event) {\n // open popover when arrow key pressed on target while closed\n if (event.key === \"ArrowUp\" || event.key === \"ArrowDown\") {\n event.preventDefault();\n _this.setState({ isOpen: true });\n }\n else if (Utils.isKeyboardClick(event)) {\n _this.setState({ isOpen: true });\n }\n };\n _this.handleItemSelect = function (item, event) {\n var _a, _b;\n var target = event === null || event === void 0 ? void 0 : event.target;\n var menuItem = target === null || target === void 0 ? void 0 : target.closest(\".\".concat(CoreClasses.MENU_ITEM));\n var menuItemDismiss = menuItem === null || menuItem === void 0 ? void 0 : menuItem.matches(\".\".concat(CoreClasses.POPOVER_DISMISS));\n var shouldDismiss = menuItemDismiss !== null && menuItemDismiss !== void 0 ? menuItemDismiss : true;\n _this.setState({ isOpen: !shouldDismiss });\n (_b = (_a = _this.props).onItemSelect) === null || _b === void 0 ? void 0 : _b.call(_a, item, event);\n };\n _this.handlePopoverInteraction = function (isOpen, event) {\n var _a, _b;\n _this.setState({ isOpen: isOpen });\n (_b = (_a = _this.props.popoverProps) === null || _a === void 0 ? void 0 : _a.onInteraction) === null || _b === void 0 ? void 0 : _b.call(_a, isOpen, event);\n };\n _this.handlePopoverOpening = function (node) {\n var _a, _b, _c;\n // save currently focused element before popover steals focus, so we can restore it when closing.\n _this.previousFocusedElement = (_a = Utils.getActiveElement(_this.inputElement)) !== null && _a !== void 0 ? _a : undefined;\n if (_this.props.resetOnClose) {\n _this.resetQuery();\n }\n (_c = (_b = _this.props.popoverProps) === null || _b === void 0 ? void 0 : _b.onOpening) === null || _c === void 0 ? void 0 : _c.call(_b, node);\n };\n _this.handlePopoverOpened = function (node) {\n var _a, _b;\n // scroll active item into view after popover transition completes and all dimensions are stable.\n if (_this.queryList != null) {\n _this.queryList.scrollActiveItemIntoView();\n }\n _this.requestAnimationFrame(function () {\n var _a;\n var _b = _this.props.inputProps, inputProps = _b === void 0 ? {} : _b;\n // autofocus is enabled by default\n if (inputProps.autoFocus !== false) {\n (_a = _this.inputElement) === null || _a === void 0 ? void 0 : _a.focus();\n }\n });\n (_b = (_a = _this.props.popoverProps) === null || _a === void 0 ? void 0 : _a.onOpened) === null || _b === void 0 ? void 0 : _b.call(_a, node);\n };\n _this.handlePopoverClosing = function (node) {\n var _a, _b;\n // restore focus to saved element.\n // timeout allows popover to begin closing and remove focus handlers beforehand.\n /* istanbul ignore next */\n _this.requestAnimationFrame(function () {\n if (_this.previousFocusedElement !== undefined) {\n _this.previousFocusedElement.focus();\n _this.previousFocusedElement = undefined;\n }\n });\n (_b = (_a = _this.props.popoverProps) === null || _a === void 0 ? void 0 : _a.onClosing) === null || _b === void 0 ? void 0 : _b.call(_a, node);\n };\n _this.resetQuery = function () { return _this.queryList && _this.queryList.setQuery(\"\", true); };\n return _this;\n }\n /** @deprecated no longer necessary now that the TypeScript parser supports type arguments on JSX element tags */\n Select.ofType = function () {\n return Select;\n };\n Select.prototype.render = function () {\n // omit props specific to this component, spread the rest.\n var _a = this.props, filterable = _a.filterable, inputProps = _a.inputProps, menuProps = _a.menuProps, popoverProps = _a.popoverProps, restProps = __rest(_a, [\"filterable\", \"inputProps\", \"menuProps\", \"popoverProps\"]);\n return (React.createElement(QueryList, __assign({}, restProps, { menuProps: __assign(__assign({ \"aria-label\": \"selectable options\" }, menuProps), { id: this.listboxId }), onItemSelect: this.handleItemSelect, ref: this.handleQueryListRef, renderer: this.renderQueryList })));\n };\n Select.prototype.componentDidUpdate = function (prevProps, prevState) {\n var _a, _b, _c, _d, _e;\n if (((_a = prevProps.inputProps) === null || _a === void 0 ? void 0 : _a.inputRef) !== ((_b = this.props.inputProps) === null || _b === void 0 ? void 0 : _b.inputRef)) {\n setRef((_c = prevProps.inputProps) === null || _c === void 0 ? void 0 : _c.inputRef, null);\n this.handleInputRef = refHandler(this, \"inputElement\", (_d = this.props.inputProps) === null || _d === void 0 ? void 0 : _d.inputRef);\n setRef((_e = this.props.inputProps) === null || _e === void 0 ? void 0 : _e.inputRef, this.inputElement);\n }\n if (this.state.isOpen && !prevState.isOpen && this.queryList != null) {\n this.queryList.scrollActiveItemIntoView();\n }\n };\n Select.prototype.maybeRenderClearButton = function (query) {\n return query.length > 0 ? (React.createElement(Button, { \"aria-label\": \"Clear filter query\", icon: React.createElement(Cross, null), minimal: true, onClick: this.resetQuery, title: \"Clear filter query\" })) : undefined;\n };\n Select.displayName = \"\".concat(DISPLAYNAME_PREFIX, \".Select\");\n return Select;\n}(AbstractPureComponent));\nexport { Select };\n//# sourceMappingURL=select.js.map","import {BPComponentProps, UiConfigRendererContextType} from \"./BPComponent\";\nimport {Button, MenuItem} from \"@blueprintjs/core\";\nimport {BPInputComponent} from \"./BPInputComponent\";\nimport {BPValueComponentState} from \"./BPValueComponent\";\nimport {ItemRenderer, Select} from \"@blueprintjs/select\";\n\nexport interface DropdownItem{\n label: string,\n value: string|number,\n}\n\nexport type BPDropdownComponentState = BPValueComponentState<string|number> & {\n options: DropdownItem[]\n}\nconst renderDropdownItem: ItemRenderer<DropdownItem> = (item, { handleClick, handleFocus, modifiers }) => {\n if (!modifiers.matchesPredicate) {\n return null;\n }\n return (\n <MenuItem\n text={item.label}\n label={''}\n roleStructure=\"listoption\"\n active={modifiers.active}\n key={item.value}\n onClick={handleClick}\n onFocus={handleFocus}\n />\n );\n};\n\nexport class BPDropdownInputComponent extends BPInputComponent<string|number, BPDropdownComponentState> {\n constructor(props: BPComponentProps<string|number>, context: UiConfigRendererContextType) {\n super(props, context, {\n value: '0',\n label: 'Dropdown',\n options: [{label: 'none', value: ''}]\n });\n }\n\n getUpdatedState(state: BPDropdownComponentState): BPDropdownComponentState {\n const children = this.context.methods.getChildren(this.props.config)\n const options: DropdownItem[] = children.map(value => {\n const label = this.context.methods.getLabel(value)\n return {label, value: value!.value ?? label}\n })\n\n // const selected = options.find(o=>o.value===val)||options[0]\n return super.getUpdatedState({\n ...state, options\n });\n }\n\n renderInput() {\n const item = this.state.options.find(o=>o.value===this.state.value)||this.state.options[0]\n return (\n <Select<DropdownItem>\n filterable={false}\n activeItem={item}\n key={this.props.config.uuid}\n disabled={this.state.disabled}\n popoverProps={{\n minimal: true\n }}\n noResults={<MenuItem disabled={true} text=\"No results.\" roleStructure=\"listoption\" />}\n items={this.state.options}\n onItemSelect={(item)=> {\n if(this.state.readOnly) return\n this.setValue(item.value)\n }}\n itemRenderer={renderDropdownItem}\n >\n {/* children become the popover target; render value here */}\n <Button rightIcon=\"double-caret-vertical\" small={true}\n style={{whiteSpace: 'nowrap', textOverflow: \"ellipsis\"}}>{item.label}</Button>\n </Select>\n )\n }\n}\n","import {BPComponentProps, UiConfigRendererContextType} from \"./BPComponent\";\nimport {ConfigObject} from \"../ConfigObject\";\nimport {BPLabelledComponentState} from \"./BPLabelledComponent\";\nimport {PanelActions} from \"@blueprintjs/core/lib/esm/components/panel-stack2/panelTypes\";\nimport {UiObjectConfig} from 'uiconfig.js'\nimport {safeSetProperty} from 'ts-browser-helpers'\nimport {BPContainerComponent} from './BPContainerComponent'\n\nexport type BPPanelComponentState = BPLabelledComponentState & {\n children: UiObjectConfig[]\n expanded: boolean\n}\n\nexport class BPPanelComponent extends BPContainerComponent<BPPanelComponentState> {\n constructor(props: BPComponentProps<void>&PanelActions, context: UiConfigRendererContextType) {\n super(props, context, {\n children: [],\n expanded: false,\n label: 'Panel'\n });\n }\n\n setExpanded = (e: boolean) => {\n if (e === this.state.expanded) return\n this.setState({...this.state, expanded: e})\n safeSetProperty(this.props.config, \"expanded\", e, true)\n // if (e) this.state.children.forEach(c => Array.isArray(c) ? null : c.uiRefresh?.(\"postFrame\", true, 1)) // todo: handle array and functions\n }\n\n componentDidMount() {\n super.componentDidMount();\n this.setExpanded(true)\n }\n\n componentWillUnmount() {\n this.setExpanded(false)\n super.componentWillUnmount();\n }\n\n render() {\n return !this.state.hidden ? (\n <div\n key={this.props.config.uuid}\n className=\"folder-children\" style={{listStyleType: \"none\", paddingLeft: \"0\"}}>\n {this.state.children.map((c, i) => <ConfigObject key={'c' + i} {...this.props} config={c}/>)}\n </div>\n ) : null\n }\n}\n","import {BPComponent, BPComponentProps, BPComponentState, UiConfigRendererContextType} from \"./BPComponent\";\nimport {Tree, TreeNodeInfo} from \"@blueprintjs/core\";\n\nexport type BPTreeComponentState<T = {}> = BPComponentState & {\n nodes: TreeNodeInfo<T>[]\n}\n\n// https://github.com/palantir/blueprint/blob/develop/packages/docs-app/src/examples/core-examples/treeExample.tsx\ntype NodePath = number[];\n\nexport abstract class BPTreeComponent<T = {}, TConfigVal = void> extends BPComponent<TConfigVal, BPTreeComponentState<T>> {\n constructor(props: BPComponentProps<TConfigVal>, context: UiConfigRendererContextType) {\n super(props, context, {nodes: []});\n }\n\n protected _infoMap = new Map<string | number, TreeNodeInfo<T>>()\n\n protected _createNodeInfo(id: string, obj: T) {\n return {\n id,\n label: 'unnamed',\n nodeData: obj,\n childNodes: [],\n isExpanded: false,\n isSelected: false,\n }\n }\n\n protected abstract _getNodeId(obj: T): string\n\n protected abstract _updateNodeInfo(node: TreeNodeInfo<T>, obj: T): TreeNodeInfo<T>;\n\n protected abstract _getRootNodes(): T[]\n\n protected async _onNodeClick(_id: string | number, _path: number[]) {\n }\n\n protected async _onNodeDoubleClick(_id: string | number, _path: number[]) {\n }\n\n protected _cloneNodes(callback?: (t:TreeNodeInfo<T>)=>void, state?: TreeNodeInfo<T>[]): TreeNodeInfo<T>[] {\n return (state ?? this.state.nodes).map(n => {\n let res: TreeNodeInfo<T> = {\n ...n,\n childNodes: n.childNodes ? this._cloneNodes(callback, n.childNodes) : undefined\n }\n if(callback) callback(res)\n this._infoMap.set(n.id, res)\n return res\n })\n }\n\n protected _forEachNode<T>(nodes: TreeNodeInfo<T>[] | undefined, callback: (node: TreeNodeInfo<T>) => void) {\n if (nodes === undefined) {\n return nodes;\n }\n for (const node of nodes) {\n callback(node);\n this._forEachNode(node.childNodes, callback);\n }\n return nodes\n }\n protected _forNodeAtPath<T>(nodes: TreeNodeInfo<T>[], path: NodePath, callback: (node: TreeNodeInfo<T>) => void) {\n callback(Tree.nodeFromPath(path, nodes));\n }\n\n protected async _onNodeExpandCollapse(_id: string | number, _path: number[]) {\n const nodes = this._cloneNodes()\n const node = this._infoMap.get(_id)\n if (!node) return\n node.isExpanded = !node.isExpanded\n // forNodeAtPath(nodes, _path, node => (node.isExpanded = !node.isExpanded));\n await this.setStatePromise({...this.state, nodes})\n }\n\n protected async _onNodeContextMenu(_id: string | number, _path: number[]) {\n }\n\n protected buildData(data: TreeNodeInfo<T>[], obj: T, _?: any, _2?: any) {\n if (!obj) return data\n const id = this._getNodeId(obj)\n if (!this._infoMap.has(id)) this._infoMap.set(id, this._createNodeInfo(id, obj))\n const node = this._infoMap.get(id)!\n const node2 = this._updateNodeInfo(node, obj)\n if (node2 !== node) this._infoMap.set(id, node2)\n data.push(node2)\n return data\n }\n\n getUpdatedState(_state: BPTreeComponentState<T>): BPTreeComponentState<T> {\n if (!this._infoMap) this._infoMap = new Map()\n const children = this._getRootNodes()\n const nodes = children.map(c => {\n return this.buildData([], c)[0]\n }).filter(v => v)\n return super.getUpdatedState({\n nodes\n })\n }\n\n deselectAll() {\n const nodes = this._cloneNodes(n => n.isSelected = false)\n return this.setStatePromise({...this.state, nodes})\n }\n\n async setSelected(id?: string) {\n const nodes = this._cloneNodes(n => n.isSelected = n.id === id)\n return this.setStatePromise({...this.state, nodes})\n }\n\n componentDidMount() {\n super.componentDidMount();\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n }\n\n render() {\n const TreeT = Tree.ofType<T>()\n return !this.state.hidden ? (\n <TreeT\n contents={this.state.nodes}\n className=\"folderContent\"\n onNodeExpand={(node, _path, _e) => {\n this._onNodeExpandCollapse(node.id, _path)\n }}\n onNodeCollapse={(node, _path, _e) => {\n this._onNodeExpandCollapse(node.id, _path)\n }}\n onNodeClick={(node, _path, _e) => {\n this._onNodeClick(node.id, _path)\n }}\n onNodeDoubleClick={(node, _path, _e) => {\n this._onNodeDoubleClick(node.id, _path)\n }}\n onNodeContextMenu={(node, _path, _e) => {\n this._onNodeContextMenu(node.id, _path)\n }}\n />\n ) : null\n }\n}\n\n","import {TreeNodeInfo} from \"@blueprintjs/core\";\nimport {BPTreeComponent} from \"./BPTreeComponent\";\nimport {UiObjectConfig} from 'uiconfig.js'\nimport {getOrCall, uuidV4} from 'ts-browser-helpers'\n\nexport class BPTreeFolderComponent extends BPTreeComponent<UiObjectConfig> {\n\n protected _getNodeId(obj: UiObjectConfig) {\n if(!obj.uuid) obj.uuid = uuidV4();\n return obj.uuid;\n }\n\n protected _updateNodeInfo(node: TreeNodeInfo<UiObjectConfig>, obj: UiObjectConfig) {\n node.label = getOrCall(obj.label) || 'unnamed'\n node.childNodes = this.context.methods.getChildren(this.props.config).reduce<any[]>((...args) => this.buildData(...args), [])\n return node;\n }\n\n protected _getRootNodes(): UiObjectConfig[] {\n return (this.props.config.children || []).map(c => getOrCall(c) || {}).flat(2) as UiObjectConfig[]\n }\n\n protected async _onNodeClick(_id: string|number) {\n console.log(\"TODO: Tree node clicked\")\n }\n\n protected async _onNodeDoubleClick(_id: string|number) {\n console.log(\"TODO: Tree node double clicked\")\n }\n\n}\n","import e,{useRef as r,useMemo as t,useEffect as n,useState as o,useCallback as a,useLayoutEffect as l}from\"react\";function u(){return(u=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e}).apply(this,arguments)}function c(e,r){if(null==e)return{};var t,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r.indexOf(t=a[n])>=0||(o[t]=e[t]);return o}function i(e){var t=r(e),n=r(function(e){t.current&&t.current(e)});return t.current=e,n.current}var s=function(e,r,t){return void 0===r&&(r=0),void 0===t&&(t=1),e>t?t:e<r?r:e},f=function(e){return\"touches\"in e},v=function(e){return e&&e.ownerDocument.defaultView||self},d=function(e,r,t){var n=e.getBoundingClientRect(),o=f(r)?function(e,r){for(var t=0;t<e.length;t++)if(e[t].identifier===r)return e[t];return e[0]}(r.touches,t):r;return{left:s((o.pageX-(n.left+v(e).pageXOffset))/n.width),top:s((o.pageY-(n.top+v(e).pageYOffset))/n.height)}},h=function(e){!f(e)&&e.preventDefault()},m=e.memo(function(o){var a=o.onMove,l=o.onKey,s=c(o,[\"onMove\",\"onKey\"]),m=r(null),g=i(a),p=i(l),b=r(null),_=r(!1),x=t(function(){var e=function(e){h(e),(f(e)?e.touches.length>0:e.buttons>0)&&m.current?g(d(m.current,e,b.current)):t(!1)},r=function(){return t(!1)};function t(t){var n=_.current,o=v(m.current),a=t?o.addEventListener:o.removeEventListener;a(n?\"touchmove\":\"mousemove\",e),a(n?\"touchend\":\"mouseup\",r)}return[function(e){var r=e.nativeEvent,n=m.current;if(n&&(h(r),!function(e,r){return r&&!f(e)}(r,_.current)&&n)){if(f(r)){_.current=!0;var o=r.changedTouches||[];o.length&&(b.current=o[0].identifier)}n.focus(),g(d(n,r,b.current)),t(!0)}},function(e){var r=e.which||e.keyCode;r<37||r>40||(e.preventDefault(),p({left:39===r?.05:37===r?-.05:0,top:40===r?.05:38===r?-.05:0}))},t]},[p,g]),C=x[0],E=x[1],H=x[2];return n(function(){return H},[H]),e.createElement(\"div\",u({},s,{onTouchStart:C,onMouseDown:C,className:\"react-colorful__interactive\",ref:m,onKeyDown:E,tabIndex:0,role:\"slider\"}))}),g=function(e){return e.filter(Boolean).join(\" \")},p=function(r){var t=r.color,n=r.left,o=r.top,a=void 0===o?.5:o,l=g([\"react-colorful__pointer\",r.className]);return e.createElement(\"div\",{className:l,style:{top:100*a+\"%\",left:100*n+\"%\"}},e.createElement(\"div\",{className:\"react-colorful__pointer-fill\",style:{backgroundColor:t}}))},b=function(e,r,t){return void 0===r&&(r=0),void 0===t&&(t=Math.pow(10,r)),Math.round(t*e)/t},_={grad:.9,turn:360,rad:360/(2*Math.PI)},x=function(e){return L(C(e))},C=function(e){return\"#\"===e[0]&&(e=e.substring(1)),e.length<6?{r:parseInt(e[0]+e[0],16),g:parseInt(e[1]+e[1],16),b:parseInt(e[2]+e[2],16),a:4===e.length?b(parseInt(e[3]+e[3],16)/255,2):1}:{r:parseInt(e.substring(0,2),16),g:parseInt(e.substring(2,4),16),b:parseInt(e.substring(4,6),16),a:8===e.length?b(parseInt(e.substring(6,8),16)/255,2):1}},E=function(e,r){return void 0===r&&(r=\"deg\"),Number(e)*(_[r]||1)},H=function(e){var r=/hsla?\\(?\\s*(-?\\d*\\.?\\d+)(deg|rad|grad|turn)?[,\\s]+(-?\\d*\\.?\\d+)%?[,\\s]+(-?\\d*\\.?\\d+)%?,?\\s*[/\\s]*(-?\\d*\\.?\\d+)?(%)?\\s*\\)?/i.exec(e);return r?N({h:E(r[1],r[2]),s:Number(r[3]),l:Number(r[4]),a:void 0===r[5]?1:Number(r[5])/(r[6]?100:1)}):{h:0,s:0,v:0,a:1}},M=H,N=function(e){var r=e.s,t=e.l;return{h:e.h,s:(r*=(t<50?t:100-t)/100)>0?2*r/(t+r)*100:0,v:t+r,a:e.a}},w=function(e){return K(I(e))},y=function(e){var r=e.s,t=e.v,n=e.a,o=(200-r)*t/100;return{h:b(e.h),s:b(o>0&&o<200?r*t/100/(o<=100?o:200-o)*100:0),l:b(o/2),a:b(n,2)}},q=function(e){var r=y(e);return\"hsl(\"+r.h+\", \"+r.s+\"%, \"+r.l+\"%)\"},k=function(e){var r=y(e);return\"hsla(\"+r.h+\", \"+r.s+\"%, \"+r.l+\"%, \"+r.a+\")\"},I=function(e){var r=e.h,t=e.s,n=e.v,o=e.a;r=r/360*6,t/=100,n/=100;var a=Math.floor(r),l=n*(1-t),u=n*(1-(r-a)*t),c=n*(1-(1-r+a)*t),i=a%6;return{r:b(255*[n,u,l,l,c,n][i]),g:b(255*[c,n,n,u,l,l][i]),b:b(255*[l,l,c,n,n,u][i]),a:b(o,2)}},O=function(e){var r=/hsva?\\(?\\s*(-?\\d*\\.?\\d+)(deg|rad|grad|turn)?[,\\s]+(-?\\d*\\.?\\d+)%?[,\\s]+(-?\\d*\\.?\\d+)%?,?\\s*[/\\s]*(-?\\d*\\.?\\d+)?(%)?\\s*\\)?/i.exec(e);return r?A({h:E(r[1],r[2]),s:Number(r[3]),v:Number(r[4]),a:void 0===r[5]?1:Number(r[5])/(r[6]?100:1)}):{h:0,s:0,v:0,a:1}},j=O,z=function(e){var r=/rgba?\\(?\\s*(-?\\d*\\.?\\d+)(%)?[,\\s]+(-?\\d*\\.?\\d+)(%)?[,\\s]+(-?\\d*\\.?\\d+)(%)?,?\\s*[/\\s]*(-?\\d*\\.?\\d+)?(%)?\\s*\\)?/i.exec(e);return r?L({r:Number(r[1])/(r[2]?100/255:1),g:Number(r[3])/(r[4]?100/255:1),b:Number(r[5])/(r[6]?100/255:1),a:void 0===r[7]?1:Number(r[7])/(r[8]?100:1)}):{h:0,s:0,v:0,a:1}},B=z,D=function(e){var r=e.toString(16);return r.length<2?\"0\"+r:r},K=function(e){var r=e.r,t=e.g,n=e.b,o=e.a,a=o<1?D(b(255*o)):\"\";return\"#\"+D(r)+D(t)+D(n)+a},L=function(e){var r=e.r,t=e.g,n=e.b,o=e.a,a=Math.max(r,t,n),l=a-Math.min(r,t,n),u=l?a===r?(t-n)/l:a===t?2+(n-r)/l:4+(r-t)/l:0;return{h:b(60*(u<0?u+6:u)),s:b(a?l/a*100:0),v:b(a/255*100),a:o}},A=function(e){return{h:b(e.h),s:b(e.s),v:b(e.v),a:b(e.a,2)}},S=e.memo(function(r){var t=r.hue,n=r.onChange,o=g([\"react-colorful__hue\",r.className]);return e.createElement(\"div\",{className:o},e.createElement(m,{onMove:function(e){n({h:360*e.left})},onKey:function(e){n({h:s(t+360*e.left,0,360)})},\"aria-label\":\"Hue\",\"aria-valuenow\":b(t),\"aria-valuemax\":\"360\",\"aria-valuemin\":\"0\"},e.createElement(p,{className:\"react-colorful__hue-pointer\",left:t/360,color:q({h:t,s:100,v:100,a:1})})))}),T=e.memo(function(r){var t=r.hsva,n=r.onChange,o={backgroundColor:q({h:t.h,s:100,v:100,a:1})};return e.createElement(\"div\",{className:\"react-colorful__saturation\",style:o},e.createElement(m,{onMove:function(e){n({s:100*e.left,v:100-100*e.top})},onKey:function(e){n({s:s(t.s+100*e.left,0,100),v:s(t.v-100*e.top,0,100)})},\"aria-label\":\"Color\",\"aria-valuetext\":\"Saturation \"+b(t.s)+\"%, Brightness \"+b(t.v)+\"%\"},e.createElement(p,{className:\"react-colorful__saturation-pointer\",top:1-t.v/100,left:t.s/100,color:q(t)})))}),F=function(e,r){if(e===r)return!0;for(var t in e)if(e[t]!==r[t])return!1;return!0},P=function(e,r){return e.replace(/\\s/g,\"\")===r.replace(/\\s/g,\"\")},X=function(e,r){return e.toLowerCase()===r.toLowerCase()||F(C(e),C(r))};function Y(e,t,l){var u=i(l),c=o(function(){return e.toHsva(t)}),s=c[0],f=c[1],v=r({color:t,hsva:s});n(function(){if(!e.equal(t,v.current.color)){var r=e.toHsva(t);v.current={hsva:r,color:t},f(r)}},[t,e]),n(function(){var r;F(s,v.current.hsva)||e.equal(r=e.fromHsva(s),v.current.color)||(v.current={hsva:s,color:r},u(r))},[s,e,u]);var d=a(function(e){f(function(r){return Object.assign({},r,e)})},[]);return[s,d]}var R,V=\"undefined\"!=typeof window?l:n,$=function(){return R||(\"undefined\"!=typeof __webpack_nonce__?__webpack_nonce__:void 0)},G=function(e){R=e},J=new Map,Q=function(e){V(function(){var r=e.current?e.current.ownerDocument:document;if(void 0!==r&&!J.has(r)){var t=r.createElement(\"style\");t.innerHTML='.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:\"\";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url(\\'data:image/svg+xml;charset=utf-8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill-opacity=\".05\"><path d=\"M8 0h8v8H8zM0 8h8v8H0z\"/></svg>\\')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}',J.set(r,t);var n=$();n&&t.setAttribute(\"nonce\",n),r.head.appendChild(t)}},[])},U=function(t){var n=t.className,o=t.colorModel,a=t.color,l=void 0===a?o.defaultColor:a,i=t.onChange,s=c(t,[\"className\",\"colorModel\",\"color\",\"onChange\"]),f=r(null);Q(f);var v=Y(o,l,i),d=v[0],h=v[1],m=g([\"react-colorful\",n]);return e.createElement(\"div\",u({},s,{ref:f,className:m}),e.createElement(T,{hsva:d,onChange:h}),e.createElement(S,{hue:d.h,onChange:h,className:\"react-colorful__last-control\"}))},W={defaultColor:\"000\",toHsva:x,fromHsva:function(e){return w({h:e.h,s:e.s,v:e.v,a:1})},equal:X},Z=function(r){return e.createElement(U,u({},r,{colorModel:W}))},ee=function(r){var t=r.className,n=r.hsva,o=r.onChange,a={backgroundImage:\"linear-gradient(90deg, \"+k(Object.assign({},n,{a:0}))+\", \"+k(Object.assign({},n,{a:1}))+\")\"},l=g([\"react-colorful__alpha\",t]),u=b(100*n.a);return e.createElement(\"div\",{className:l},e.createElement(\"div\",{className:\"react-colorful__alpha-gradient\",style:a}),e.createElement(m,{onMove:function(e){o({a:e.left})},onKey:function(e){o({a:s(n.a+e.left)})},\"aria-label\":\"Alpha\",\"aria-valuetext\":u+\"%\",\"aria-valuenow\":u,\"aria-valuemin\":\"0\",\"aria-valuemax\":\"100\"},e.createElement(p,{className:\"react-colorful__alpha-pointer\",left:n.a,color:k(n)})))},re=function(t){var n=t.className,o=t.colorModel,a=t.color,l=void 0===a?o.defaultColor:a,i=t.onChange,s=c(t,[\"className\",\"colorModel\",\"color\",\"onChange\"]),f=r(null);Q(f);var v=Y(o,l,i),d=v[0],h=v[1],m=g([\"react-colorful\",n]);return e.createElement(\"div\",u({},s,{ref:f,className:m}),e.createElement(T,{hsva:d,onChange:h}),e.createElement(S,{hue:d.h,onChange:h}),e.createElement(ee,{hsva:d,onChange:h,className:\"react-colorful__last-control\"}))},te={defaultColor:\"0001\",toHsva:x,fromHsva:w,equal:X},ne=function(r){return e.createElement(re,u({},r,{colorModel:te}))},oe={defaultColor:{h:0,s:0,l:0,a:1},toHsva:N,fromHsva:y,equal:F},ae=function(r){return e.createElement(re,u({},r,{colorModel:oe}))},le={defaultColor:\"hsla(0, 0%, 0%, 1)\",toHsva:H,fromHsva:k,equal:P},ue=function(r){return e.createElement(re,u({},r,{colorModel:le}))},ce={defaultColor:{h:0,s:0,l:0},toHsva:function(e){return N({h:e.h,s:e.s,l:e.l,a:1})},fromHsva:function(e){return{h:(r=y(e)).h,s:r.s,l:r.l};var r},equal:F},ie=function(r){return e.createElement(U,u({},r,{colorModel:ce}))},se={defaultColor:\"hsl(0, 0%, 0%)\",toHsva:M,fromHsva:q,equal:P},fe=function(r){return e.createElement(U,u({},r,{colorModel:se}))},ve={defaultColor:{h:0,s:0,v:0,a:1},toHsva:function(e){return e},fromHsva:A,equal:F},de=function(r){return e.createElement(re,u({},r,{colorModel:ve}))},he={defaultColor:\"hsva(0, 0%, 0%, 1)\",toHsva:O,fromHsva:function(e){var r=A(e);return\"hsva(\"+r.h+\", \"+r.s+\"%, \"+r.v+\"%, \"+r.a+\")\"},equal:P},me=function(r){return e.createElement(re,u({},r,{colorModel:he}))},ge={defaultColor:{h:0,s:0,v:0},toHsva:function(e){return{h:e.h,s:e.s,v:e.v,a:1}},fromHsva:function(e){var r=A(e);return{h:r.h,s:r.s,v:r.v}},equal:F},pe=function(r){return e.createElement(U,u({},r,{colorModel:ge}))},be={defaultColor:\"hsv(0, 0%, 0%)\",toHsva:j,fromHsva:function(e){var r=A(e);return\"hsv(\"+r.h+\", \"+r.s+\"%, \"+r.v+\"%)\"},equal:P},_e=function(r){return e.createElement(U,u({},r,{colorModel:be}))},xe={defaultColor:{r:0,g:0,b:0,a:1},toHsva:L,fromHsva:I,equal:F},Ce=function(r){return e.createElement(re,u({},r,{colorModel:xe}))},Ee={defaultColor:\"rgba(0, 0, 0, 1)\",toHsva:z,fromHsva:function(e){var r=I(e);return\"rgba(\"+r.r+\", \"+r.g+\", \"+r.b+\", \"+r.a+\")\"},equal:P},He=function(r){return e.createElement(re,u({},r,{colorModel:Ee}))},Me={defaultColor:{r:0,g:0,b:0},toHsva:function(e){return L({r:e.r,g:e.g,b:e.b,a:1})},fromHsva:function(e){return{r:(r=I(e)).r,g:r.g,b:r.b};var r},equal:F},Ne=function(r){return e.createElement(U,u({},r,{colorModel:Me}))},we={defaultColor:\"rgb(0, 0, 0)\",toHsva:B,fromHsva:function(e){var r=I(e);return\"rgb(\"+r.r+\", \"+r.g+\", \"+r.b+\")\"},equal:P},ye=function(r){return e.createElement(U,u({},r,{colorModel:we}))},qe=/^#?([0-9A-F]{3,8})$/i,ke=function(r){var t=r.color,l=void 0===t?\"\":t,s=r.onChange,f=r.onBlur,v=r.escape,d=r.validate,h=r.format,m=r.process,g=c(r,[\"color\",\"onChange\",\"onBlur\",\"escape\",\"validate\",\"format\",\"process\"]),p=o(function(){return v(l)}),b=p[0],_=p[1],x=i(s),C=i(f),E=a(function(e){var r=v(e.target.value);_(r),d(r)&&x(m?m(r):r)},[v,m,d,x]),H=a(function(e){d(e.target.value)||_(v(l)),C(e)},[l,v,d,C]);return n(function(){_(v(l))},[l,v]),e.createElement(\"input\",u({},g,{value:h?h(b):b,spellCheck:\"false\",onChange:E,onBlur:H}))},Ie=function(e){return\"#\"+e},Oe=function(r){var t=r.prefixed,n=r.alpha,o=c(r,[\"prefixed\",\"alpha\"]),l=a(function(e){return e.replace(/([^0-9A-F]+)/gi,\"\").substring(0,n?8:6)},[n]),i=a(function(e){return function(e,r){var t=qe.exec(e),n=t?t[1].length:0;return 3===n||6===n||!!r&&4===n||!!r&&8===n}(e,n)},[n]);return e.createElement(ke,u({},o,{escape:l,format:t?Ie:void 0,process:Ie,validate:i}))};export{ne as HexAlphaColorPicker,Oe as HexColorInput,Z as HexColorPicker,ie as HslColorPicker,fe as HslStringColorPicker,ae as HslaColorPicker,ue as HslaStringColorPicker,pe as HsvColorPicker,_e as HsvStringColorPicker,de as HsvaColorPicker,me as HsvaStringColorPicker,Ne as RgbColorPicker,ye as RgbStringColorPicker,Ce as RgbaColorPicker,He as RgbaStringColorPicker,G as setNonce};\n//# sourceMappingURL=index.module.js.map\n","import {createRef} from \"react\";\nimport {BPComponentProps, UiConfigRendererContextType} from \"./BPComponent\";\nimport {Button, Icon, InputGroup, Popover} from \"@blueprintjs/core\";\nimport {BPValueComponent, BPValueComponentState} from \"./BPValueComponent\";\nimport {HexColorPicker} from \"react-colorful\";\nimport {FormGroupComponent} from \"../components/FormGroupComponent\";\nimport {getOrCall} from 'ts-browser-helpers'\nimport type {Color, ColorRepresentation} from \"three\"\n\nexport type BPColorComponentState = BPValueComponentState<string> & {\n mode: 'number' | 'string' | 'Color', lastValue?: ColorRepresentation,\n srgbConvert: boolean\n}\n\n\nexport class BPColorInputComponent extends BPValueComponent<ColorRepresentation, BPColorComponentState, string> {\n private _inputRef = createRef<HTMLInputElement>()\n private _tempColor: Color\n\n constructor(props: BPComponentProps<ColorRepresentation>, context: UiConfigRendererContextType) {\n super(props, context, {\n label: 'Color',\n value: \"#000000\",\n mode: 'number',\n srgbConvert: false,\n });\n if(!context.THREE?.Color) throw new Error('BPColorInputComponent requires THREE.Color to be available in context')\n if(!this._tempColor) this._tempColor = new context.THREE.Color()\n }\n\n convertValueToState(val: ColorRepresentation, state: BPColorComponentState): BPColorComponentState {\n if(!this._tempColor) this._tempColor = new this.context.THREE!.Color()\n let mode: BPColorComponentState['mode'] = state.mode\n const srgbConvert = getOrCall(this.props.config.srgb) === true\n if (typeof val === 'string') mode = 'string'\n else if (typeof val === 'number') mode = 'number';\n else if (val.isColor)\n mode = 'Color'\n else console.error('not supported color', val)\n this._tempColor.set(val)\n if (srgbConvert) this._tempColor.convertLinearToSRGB()\n const value = '#' + this._tempColor.getHexString()\n // console.log('color', mode, value, val)\n return {...state, mode, value, lastValue: val, srgbConvert} // default config.srgb = false\n }\n\n async convertStateToValue(state: BPColorComponentState): Promise<ColorRepresentation> {\n if(!this._tempColor) this._tempColor = new this.context.THREE!.Color()\n let val: ColorRepresentation = state.lastValue || 0\n this._tempColor.set(state.value)\n if (state.srgbConvert) this._tempColor.convertSRGBToLinear()\n if (state.mode === 'number') {\n val = this._tempColor.getHex()\n } else if (state.mode === 'string') {\n val = '#' + this._tempColor.getHexString();\n } else if (state.mode === 'Color') {\n val = ((state.lastValue as Color) ?? new this.context.THREE!.Color()).copy(this._tempColor)\n }\n return val;\n }\n\n forceOnChange: boolean = true\n\n doesNeedRefresh(state: BPColorComponentState, _?: boolean): boolean {\n const eq = !super.doesNeedRefresh(state);\n return ((state.value as any as Color)?.isColor && eq) ? true : !eq\n }\n\n private _mouseButtons = 0\n\n componentDidMount() {\n super.componentDidMount();\n document.addEventListener('mousemove', this._mouseMove)\n }\n\n private _mouseMove = (ev: MouseEvent) => {\n this._mouseButtons = ev.buttons\n if (!this._mouseButtons && this._hasMouseUp) this._mouseUp()\n }\n\n componentWillUnmount() {\n document.removeEventListener('mousemove', this._mouseMove)\n this._mouseButtons = 0\n super.componentWillUnmount();\n }\n\n private _hasMouseUp = false\n private _mouseUp = () => {\n document.removeEventListener('mouseup', this._mouseMove)\n if (!this._hasMouseUp) return\n this._hasMouseUp = false\n this.setValue(this._inputRef.current!.value, true)\n\n if (this._hasMouseUp) return\n document.addEventListener('mouseup', this._mouseUp)\n }\n\n render() {\n return !this.state.hidden ? (\n <FormGroupComponent label={this.state.label}>\n <InputGroup inputRef={this._inputRef}\n disabled={this.state.disabled} readOnly={this.state.readOnly}\n leftElement={(\n <Popover\n popoverClassName={'color-picker-popover'}\n usePortal={false}\n minimal={false}\n content={\n <HexColorPicker color={this.state.value}\n onChange={(c) => {\n if(this.state.readOnly || this.state.disabled) return\n this._tempColor.set(c)\n const v = '#' + this._tempColor.getHexString().toUpperCase()\n this.setValue(v, false)\n this._inputRef.current!.value = v\n\n if (this._hasMouseUp) return\n this._hasMouseUp = true\n document.addEventListener('mouseup', this._mouseUp)\n }\n }/>\n }\n >\n <Button\n disabled={this.state.disabled || this.state.readOnly}\n icon={<Icon icon=\"full-circle\" color={this.state.value}/>}\n text=\"\" minimal\n />\n </Popover>\n )} key={this.props.config.uuid} defaultValue={this.state.value} onChange={(e) => {\n const isHex = /^([A-Fa-f\\d]+)$/.exec(e.target.value) // if someone pastes a color hex without #\n this._tempColor.set((isHex ? '#' : '') + e.target.value)\n this.setValue('#' + this._tempColor.getHexString().toUpperCase())\n }}/>\n </FormGroupComponent>\n ) : null\n }\n}\n","import React, {useEffect, useRef} from \"react\";\nimport {Button, ControlGroup, FileInput, HTMLSelect, InputGroup} from \"@blueprintjs/core\";\nimport {BPFileComponentState} from \"../bpComponents/BPFileComponent\";\n\nexport interface FileComponentProps {\n state: BPFileComponentState\n onChange: (state: Partial<BPFileComponentState>)=>void\n}\nexport const FileComponent: React.FC<FileComponentProps> = ({state, onChange})=>{\n const fileInputRef = useRef<HTMLInputElement>()\n const textInputRef = useRef<HTMLInputElement>()\n // console.log('render file component', state)\n useEffect(() => {\n const fileElement = fileInputRef.current;\n const textElement = textInputRef.current;\n const val = state.value\n if(!val) {\n fileElement && (fileElement.value = '')\n textElement && (textElement.value = '')\n return\n }\n if(typeof val === 'string') {\n textElement && (textElement.value = val)\n return\n }\n if(!fileElement) return;\n // console.log(val)\n const dataTransfer = new DataTransfer();\n dataTransfer.items.add(val instanceof File ? val : new File([val], (val as any).name||('file'+((val as any).ext?'.'+(val as any).ext:'')))); // it can be Blob also because of GLTF loaded...\n fileElement!.files = dataTransfer.files\n }, [state.value]);\n // useEffect(() => {\n // fileInputRef.current && (fileInputRef.current.placeholder = 'https://example.com/file.png')\n // }, []);\n\n return (\n <div style={{flexGrow: \"1\", display: \"flex\", height: \"100%\"}}>\n <ControlGroup fill={false} vertical={false} style={{width: \"100%\"}}>\n {!state.readOnly ? (<HTMLSelect options={['url', 'file']} minimal={true} fill={false}\n disabled={state.disabled}\n value={state.mode} onChange={(e)=>{\n onChange({mode: e.target.value as 'url'|'file'})\n }} /> ) : null}\n {state.mode === 'url' ? (\n <InputGroup style={{flexGrow: \"1\", flexShrink: \"1\"}} inputRef={textInputRef as any} type=\"url\" defaultValue={typeof state.value === 'string' ? state.value : ''}\n rightElement={(\n <Button disabled={state.readOnly} minimal={true} icon=\"arrow-right\" onClick={()=>{\n onChange({mode:'url', value: textInputRef.current?.value??''})\n }} ></Button>\n )}\n disabled={state.disabled} readOnly={state.readOnly}\n onChange={(_)=>{\n }} placeholder=\"https://example.com/file.png\"/>\n ) : (\n <FileInput inputProps={{ref: fileInputRef as any}} style={{flexGrow: \"1\", flexShrink: \"1\", minWidth: \"50px\"}}\n text={(state.value as File)?.name || 'No file'}\n disabled={state.disabled}\n onClick={(e)=>{\n if(state.readOnly) {\n e.preventDefault()\n e.stopPropagation()\n }\n }}\n buttonText={state.readOnly ? '-' : state.value ? 'Change' : 'Choose'}\n onChange={()=>{\n onChange({mode: 'file', value: fileInputRef.current?.files?.[0]??null})\n }} className=\"inputGroupFile\" />\n )}\n {!state.readOnly && state.value && (\n <Button minimal={true} icon=\"small-cross\"\n disabled={state.disabled}\n onClick={()=>{\n onChange({value: null})\n }}></Button>\n )}\n </ControlGroup>\n </div>\n )\n}\n","import {FileComponent} from \"../components/FileComponent\";\nimport {BPComponentProps, UiConfigRendererContextType} from \"./BPComponent\";\nimport {BPValueComponent, BPValueComponentState} from \"./BPValueComponent\";\nimport {FormGroupComponent} from \"../components/FormGroupComponent\";\n\ntype StateValue = string | File | null\ntype FileImportType = any\nexport type BPFileComponentState = BPValueComponentState<StateValue> & {\n mode: 'url'|'file',\n}\n\ntype BPFileComponentExtras = {fileLoader?: {load: (v: string|File|{path: string, file: File|Blob})=>Promise<FileImportType>}}\ntype BPFileComponentContextType = UiConfigRendererContextType & BPFileComponentExtras\n\nexport class BPFileComponent extends BPValueComponent<FileImportType | null, BPFileComponentState, StateValue> {\n declare context: BPFileComponentContextType\n declare props: BPComponentProps<FileImportType | null> & BPFileComponentExtras\n constructor(props: BPComponentProps<FileImportType | null> & BPFileComponentExtras, context: BPFileComponentContextType) {\n super(props, context, {\n mode: 'file',\n value: null,\n label: 'File'\n });\n if(!context.fileLoader && !props.fileLoader) throw new Error('BPFileComponent requires fileLoader to be available in context')\n }\n\n convertValueToState(val: FileImportType | null, state: BPFileComponentState): BPFileComponentState {\n let mode: BPFileComponentState['mode'] = state.mode\n let value = state.value\n if (val) { // todo: move to subclass in threepipe\n if (val.userData) {\n if (val.userData.__sourceBlob) {\n value = val.userData.__sourceBlob\n mode = 'file'\n } else if (val.userData.rootPath?.length) {\n value = val.userData.rootPath\n mode = 'url'\n }\n }\n }\n return {...state, mode, value}\n }\n\n async convertStateToValue(state: BPFileComponentState): Promise<FileImportType|null> {\n const value = state.value\n let val: any\n if (value === null) {\n val = null\n } else if (typeof value === 'string') {\n val = await (this.context.fileLoader ?? this.props.fileLoader)!.load(value);\n } else {\n // todo handle blob with no name\n val = await (this.context.fileLoader ?? this.props.fileLoader)!.load({path: value.name || 'file', file: value});\n }\n // console.log(val)\n return val;\n }\n\n // doesNeedRefresh(state: BPFileComponentState): boolean {\n // return super.doesNeedRefresh(state);\n // }\n\n render() {\n return !this.state.hidden ? (\n <FormGroupComponent label={this.state.label} flexBasis={\"100%\"} disabled={this.state.disabled}>\n <FileComponent state={this.state} onChange={(s) => {\n this.updateStateValue({...this.state, ...s}); // todo: set loading while this promise is happening.\n }} key={this.props.config.uuid}/>\n </FormGroupComponent>\n ) : null\n }\n}\n","// https://github.com/palantir/blueprint/issues/2348#issuecomment-389322440\nimport {ReactNode} from \"react\";\n\nexport const bpIconWrapper = (path: ReactNode, viewbox = 16) => {\n return (\n <span className=\"bp5-icon\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n x=\"0\"\n y=\"0\"\n width=\"16\"\n height=\"16\"\n role=\"img\"\n viewBox={`0 0 ${viewbox} ${viewbox}`}\n >\n {path}\n </svg>\n </span>\n );\n};\n","import {bpIconWrapper} from \"./bpIconWrapper\";\n\nexport const xIcon1 = bpIconWrapper(\n <path\n d=\"M5.77344 1.59131L5.6416 1.99414C4.94336 2.49219 4.36475 3.0708 3.90576 3.72998C3.20264 4.74561 2.62891 5.9834 2.18457 7.44336C1.74512 8.89844 1.52539 10.2656 1.52539 11.5449C1.52539 12.3604 1.71826 13.2393 2.104 14.1816L1.97949 14.6064C0.666016 12.8486 0.00927734 11.0957 0.00927734 9.34766C0.00927734 8.3418 0.229004 7.3457 0.668457 6.35938C1.18604 5.20703 1.95264 4.18408 2.96826 3.29053C3.74463 2.60693 4.67969 2.04053 5.77344 1.59131ZM4.93115 5.3999L7.4873 4.96045C7.95117 5.68799 8.27832 6.48877 8.46875 7.36279C8.94727 6.65479 9.30859 6.15918 9.55273 5.87598C9.87988 5.49512 10.1484 5.24854 10.3584 5.13623C10.5732 5.01904 10.8003 4.96045 11.0396 4.96045C11.3081 4.96045 11.5132 5.03369 11.6548 5.18018C11.8013 5.32666 11.8745 5.52441 11.8745 5.77344C11.8745 6.00781 11.8013 6.20068 11.6548 6.35205C11.5132 6.49854 11.335 6.57178 11.1201 6.57178C10.9639 6.57178 10.7832 6.54492 10.5781 6.49121C10.3779 6.43262 10.2388 6.40332 10.1606 6.40332C9.95557 6.40332 9.76025 6.47656 9.57471 6.62305C9.3208 6.82324 9.0083 7.25049 8.63721 7.90479C9.05225 9.36963 9.38428 10.2632 9.6333 10.5854C9.77979 10.7759 9.92871 10.8711 10.0801 10.8711C10.207 10.8711 10.3169 10.8394 10.4097 10.7759C10.5513 10.6733 10.7686 10.417 11.0615 10.0068L11.3252 10.1606C10.8955 10.854 10.4756 11.3423 10.0654 11.6255C9.75293 11.8452 9.44531 11.9551 9.14258 11.9551C8.83008 11.9551 8.56885 11.8867 8.35889 11.75C8.15381 11.6084 7.9707 11.3813 7.80957 11.0688C7.64844 10.7515 7.45801 10.2461 7.23828 9.55273C6.66699 10.2803 6.21777 10.8125 5.89062 11.1494C5.56836 11.4814 5.2998 11.6987 5.08496 11.8013C4.87012 11.9038 4.64062 11.9551 4.39648 11.9551C4.14258 11.9551 3.94238 11.8818 3.7959 11.7354C3.64453 11.5889 3.56885 11.3984 3.56885 11.1641C3.56885 10.915 3.64941 10.71 3.81055 10.5488C3.97168 10.3877 4.17676 10.3071 4.42578 10.3071C4.55762 10.3071 4.70654 10.3462 4.87256 10.4243C5.1167 10.5415 5.29248 10.6001 5.3999 10.6001C5.5415 10.6001 5.66846 10.5708 5.78076 10.5122C5.92725 10.439 6.11279 10.2803 6.3374 10.0361C6.47412 9.88477 6.72559 9.5625 7.0918 9.06934C6.62305 7.33105 6.25684 6.29102 5.99316 5.94922C5.82715 5.72949 5.61719 5.61963 5.36328 5.61963C5.23145 5.61963 5.07031 5.63916 4.87988 5.67822L4.93115 5.3999ZM10.0581 14.6064L10.1899 14.2036C10.7515 13.8032 11.2275 13.3638 11.6182 12.8853C12.0039 12.4067 12.4019 11.7451 12.812 10.9004C13.2222 10.0508 13.5566 9.14258 13.8154 8.17578C14.1475 6.9209 14.3135 5.74658 14.3135 4.65283C14.3135 3.8374 14.1206 2.95605 13.7349 2.00879L13.8521 1.59131C15.1655 3.34912 15.8223 5.09961 15.8223 6.84277C15.8223 7.85352 15.6025 8.85205 15.1631 9.83838C14.6504 10.9858 13.8838 12.0063 12.8633 12.8999C12.0869 13.5835 11.1519 14.1523 10.0581 14.6064Z\"/>\n);\nexport const yIcon1 = bpIconWrapper(\n <path\n d=\"M6.19092 1.59131L6.05908 1.99414C5.36084 2.49219 4.78223 3.0708 4.32324 3.72998C3.62012 4.74561 3.04639 5.9834 2.60205 7.44336C2.1626 8.89844 1.94287 10.2656 1.94287 11.5449C1.94287 12.3604 2.13574 13.2393 2.52148 14.1816L2.39697 14.6064C1.0835 12.8486 0.426758 11.0957 0.426758 9.34766C0.426758 8.3418 0.646484 7.3457 1.08594 6.35938C1.60352 5.20703 2.37012 4.18408 3.38574 3.29053C4.16211 2.60693 5.09717 2.04053 6.19092 1.59131ZM5.04834 5.61963L7.3042 4.96045C7.48486 5.18506 7.61182 5.39746 7.68506 5.59766C7.81689 5.94434 7.90967 6.42285 7.96338 7.0332C8.06592 8.23438 8.13672 9.51611 8.17578 10.8784C8.69824 10.1899 9.29639 9.2793 9.97021 8.14648C10.1753 7.80469 10.2778 7.48242 10.2778 7.17969C10.2778 6.98926 10.1582 6.80859 9.91895 6.6377C9.68457 6.4668 9.53809 6.33496 9.47949 6.24219C9.4209 6.14453 9.3916 6.02002 9.3916 5.86865C9.3916 5.62451 9.47949 5.41211 9.65527 5.23145C9.83594 5.05078 10.0532 4.96045 10.3071 4.96045C10.5757 4.96045 10.8076 5.06299 11.0029 5.26807C11.2031 5.47314 11.3032 5.71484 11.3032 5.99316C11.3032 6.32031 11.2104 6.70117 11.0249 7.13574C10.8442 7.56543 10.417 8.30518 9.74316 9.35498C8.87891 10.6978 8.03174 11.8599 7.20166 12.8413C6.66943 13.4663 6.23975 13.9155 5.9126 14.189C5.58545 14.4673 5.24609 14.687 4.89453 14.8481C4.68457 14.9409 4.47705 14.9873 4.27197 14.9873C3.99365 14.9873 3.75684 14.8896 3.56152 14.6943C3.36133 14.499 3.26123 14.2671 3.26123 13.9985C3.26123 13.73 3.35156 13.5029 3.53223 13.3174C3.70801 13.1318 3.91553 13.0391 4.15479 13.0391C4.45264 13.0391 4.72607 13.1953 4.9751 13.5078C5.14111 13.7178 5.27783 13.8228 5.38525 13.8228C5.49756 13.8228 5.60742 13.791 5.71484 13.7275C5.86133 13.6494 6.06641 13.4688 6.33008 13.1855C6.35938 12.5752 6.37402 12.1138 6.37402 11.8013C6.37402 11.3813 6.35449 10.7905 6.31543 10.0288L6.19092 7.23828C6.14697 6.72559 6.03711 6.35693 5.86133 6.13232C5.72461 5.96631 5.54639 5.8833 5.32666 5.8833C5.24365 5.8833 5.15088 5.89062 5.04834 5.90527V5.61963ZM9.64062 14.6064L9.77246 14.2036C10.334 13.8032 10.8101 13.3638 11.2007 12.8853C11.5864 12.4067 11.9844 11.7451 12.3945 10.9004C12.8047 10.0508 13.1392 9.14258 13.3979 8.17578C13.73 6.9209 13.896 5.74658 13.896 4.65283C13.896 3.8374 13.7031 2.95605 13.3174 2.00879L13.4346 1.59131C14.748 3.34912 15.4048 5.09961 15.4048 6.84277C15.4048 7.85352 15.1851 8.85205 14.7456 9.83838C14.2329 10.9858 13.4663 12.0063 12.4458 12.8999C11.6694 13.5835 10.7344 14.1523 9.64062 14.6064Z\"/>\n);\nexport const zIcon1 = bpIconWrapper(\n <path\n d=\"M6.60107 1.59131L6.46924 1.99414C5.771 2.49219 5.19238 3.0708 4.7334 3.72998C4.03027 4.74561 3.45654 5.9834 3.01221 7.44336C2.57275 8.89844 2.35303 10.2656 2.35303 11.5449C2.35303 12.3604 2.5459 13.2393 2.93164 14.1816L2.80713 14.6064C1.49365 12.8486 0.836914 11.0957 0.836914 9.34766C0.836914 8.3418 1.05664 7.3457 1.49609 6.35938C2.01367 5.20703 2.78027 4.18408 3.7959 3.29053C4.57227 2.60693 5.50732 2.04053 6.60107 1.59131ZM11.0322 5.16553L6.87207 10.0801C7.18457 10.1729 7.4165 10.312 7.56787 10.4976C7.76318 10.7417 7.90479 11.1079 7.99268 11.5962C8.08057 12.0796 8.18066 12.3848 8.29297 12.5117C8.40527 12.6436 8.52002 12.7095 8.63721 12.7095C8.71533 12.7095 8.78857 12.6729 8.85693 12.5996C8.92529 12.5312 8.95947 12.4531 8.95947 12.3652C8.95947 12.2725 8.93018 12.1211 8.87158 11.9111C8.83252 11.7695 8.81299 11.6328 8.81299 11.501C8.81299 11.2275 8.89844 10.998 9.06934 10.8125C9.24512 10.627 9.45508 10.5342 9.69922 10.5342C9.91895 10.5342 10.1021 10.6172 10.2485 10.7832C10.3999 10.9443 10.4756 11.1567 10.4756 11.4204C10.4756 11.8257 10.29 12.1943 9.91895 12.5264C9.54785 12.8584 9.09131 13.0244 8.54932 13.0244C7.92432 13.0244 7.31152 12.7363 6.71094 12.1602C6.4668 11.9307 6.26904 11.7744 6.11768 11.6914C6.02979 11.6475 5.91748 11.6255 5.78076 11.6255C5.66357 11.6255 5.53418 11.667 5.39258 11.75H4.92383L9.17188 6.71094H7.64844C7.21387 6.71094 6.89893 6.76465 6.70361 6.87207C6.51318 6.97949 6.33252 7.18945 6.16162 7.50195H5.84668L6.45459 5.16553H11.0322ZM9.23047 14.6064L9.3623 14.2036C9.92383 13.8032 10.3999 13.3638 10.7905 12.8853C11.1763 12.4067 11.5742 11.7451 11.9844 10.9004C12.3945 10.0508 12.729 9.14258 12.9878 8.17578C13.3198 6.9209 13.4858 5.74658 13.4858 4.65283C13.4858 3.8374 13.293 2.95605 12.9072 2.00879L13.0244 1.59131C14.3379 3.34912 14.9946 5.09961 14.9946 6.84277C14.9946 7.85352 14.7749 8.85205 14.3354 9.83838C13.8228 10.9858 13.0562 12.0063 12.0356 12.8999C11.2593 13.5835 10.3242 14.1523 9.23047 14.6064Z\"/>\n);\n\nexport const xIcon2 = bpIconWrapper(\n <path\n d=\"M4.56494 11.75L7.5166 8.10254V8.08789L4.65283 4.66748H5.73682L7.95605 7.41406L10.1021 4.66748H11.1641L8.37354 8.10254L11.4351 11.75H10.3584L7.95605 8.64453H7.94141L5.62695 11.75H4.56494Z\"/>\n);\nexport const yIcon2 = bpIconWrapper(\n <path\n d=\"M4.77734 4.66748H5.75146L7.31152 8.54199C7.74121 9.67969 7.99512 10.4243 8.07324 10.7759C8.1416 10.2974 8.87158 8.26123 10.2632 4.66748H11.208L8.25635 12.3359C8.14404 12.624 8.03906 12.8608 7.94141 13.0464C7.84863 13.2319 7.71924 13.4395 7.55322 13.6689C7.39209 13.8984 7.19434 14.0718 6.95996 14.189C6.72559 14.311 6.46191 14.3721 6.16895 14.3721C5.80762 14.3721 5.41699 14.3379 4.99707 14.2695L4.92383 13.4272C5.38281 13.5493 5.79785 13.6104 6.16895 13.6104C6.33008 13.6104 6.47656 13.5737 6.6084 13.5005C6.74512 13.4321 6.8501 13.3687 6.92334 13.3101C7.00146 13.2515 7.08936 13.1221 7.18701 12.9219C7.28955 12.7217 7.35303 12.585 7.37744 12.5117C7.40186 12.4434 7.47021 12.27 7.58252 11.9917C7.62158 11.8794 7.64111 11.7939 7.64111 11.7354C7.64111 11.6865 7.61182 11.5913 7.55322 11.4497L4.77734 4.66748Z\"/>\n);\nexport const zIcon2 = bpIconWrapper(\n <path\n d=\"M5.05566 11.75V11.2373L9.604 5.40723H5.28271V4.66748H10.9077V5.16553L6.38135 11.0029H10.9663V11.75H5.05566Z\"/>\n);\n\nexport const xIcon3 = bpIconWrapper(\n <path\n d=\"M4.12109 12L7.4668 7.59375L4.29688 3.66211H5.31641L7.90039 6.96094L10.373 3.66211H11.334L8.33398 7.60547L11.8613 12H10.8418L7.90039 8.18555L5.09375 12H4.12109Z\"/>\n);\nexport const yIcon3 = bpIconWrapper(\n <path\n d=\"M3.97461 3.66211H4.99414L8.04102 7.89844L11.0938 3.66211H12.002L8.4043 8.66602V12H7.57227V8.66602L3.97461 3.66211Z\"/>\n);\nexport const zIcon3 = bpIconWrapper(\n <path d=\"M4.84766 12V11.5664L10.0156 4.2832H5.0293V3.66211H11.1465V4.07812L5.97266 11.3613H11.2168V12H4.84766Z\"/>\n);\n\nexport const uIcon3 = bpIconWrapper(\n <path\n d=\"M5.02344 9.03516V3.66211H5.86133V9.09375C5.86133 10.1328 6.18555 10.8535 6.83398 11.2559C7.16992 11.4629 7.5625 11.5664 8.01172 11.5664C8.23438 11.5664 8.45117 11.5371 8.66211 11.4785C8.87695 11.4199 9.10742 11.3105 9.35352 11.1504C9.60352 10.9902 9.80273 10.7363 9.95117 10.3887C10.1035 10.0371 10.1797 9.61328 10.1797 9.11719V3.66211H10.959V9.09375C10.959 10.0625 10.6562 10.8242 10.0508 11.3789C9.44922 11.9297 8.76953 12.2051 8.01172 12.2051C7.27734 12.2051 6.62891 11.9648 6.06641 11.4844C5.50781 11.0039 5.17188 10.4004 5.05859 9.67383C5.03516 9.5293 5.02344 9.31641 5.02344 9.03516Z\"/>\n);\nexport const vIcon3 = bpIconWrapper(\n <path\n d=\"M4.12109 3.66211H5.00586L7.87695 10.7871L8.0293 11.2207L9.07227 8.57812L11.0645 3.66211H11.8613L8.46289 12.0586H7.52539L4.12109 3.66211Z\"/>\n);\nexport const wIcon3 = bpIconWrapper(\n <path\n d=\"M2.36914 3.66211H3.18359L4.70703 8.74805C5.12109 10.1738 5.34961 10.998 5.39258 11.2207L5.50977 10.7051L6.16016 8.44922L7.58984 3.66211H8.42773L9.74609 8.00391C10.3125 9.95703 10.6172 11.0293 10.6602 11.2207C10.6836 11.0684 10.9355 10.1758 11.416 8.54297L12.8809 3.66211H13.6133L11.0645 12.0586H10.2031L8.36914 5.92969L8.0293 4.74023L7.9707 4.44141L7.87695 4.89844L7.26172 7.00781L5.75 12.0586H4.91211L2.36914 3.66211Z\"/>\n);\nexport const hIcon3 = bpIconWrapper(\n <path d=\"M4.92969 12V3.66211H5.76758V7.3418H10.2207V3.66211H11.0586V12H10.2207V7.98047H5.76758V12H4.92969Z\"/>\n);\n\n\nexport const xIcon4 = bpIconWrapper(\n <path\n d=\"M4.93115 5.3999L7.4873 4.96045C7.95117 5.68799 8.27832 6.48877 8.46875 7.36279C8.94727 6.65479 9.30859 6.15918 9.55273 5.87598C9.87988 5.49512 10.1484 5.24854 10.3584 5.13623C10.5732 5.01904 10.8003 4.96045 11.0396 4.96045C11.3081 4.96045 11.5132 5.03369 11.6548 5.18018C11.8013 5.32666 11.8745 5.52441 11.8745 5.77344C11.8745 6.00781 11.8013 6.20068 11.6548 6.35205C11.5132 6.49854 11.335 6.57178 11.1201 6.57178C10.9639 6.57178 10.7832 6.54492 10.5781 6.49121C10.3779 6.43262 10.2388 6.40332 10.1606 6.40332C9.95557 6.40332 9.76025 6.47656 9.57471 6.62305C9.3208 6.82324 9.0083 7.25049 8.63721 7.90479C9.05225 9.36963 9.38428 10.2632 9.6333 10.5854C9.77979 10.7759 9.92871 10.8711 10.0801 10.8711C10.207 10.8711 10.3169 10.8394 10.4097 10.7759C10.5513 10.6733 10.7686 10.417 11.0615 10.0068L11.3252 10.1606C10.8955 10.854 10.4756 11.3423 10.0654 11.6255C9.75293 11.8452 9.44531 11.9551 9.14258 11.9551C8.83008 11.9551 8.56885 11.8867 8.35889 11.75C8.15381 11.6084 7.9707 11.3813 7.80957 11.0688C7.64844 10.7515 7.45801 10.2461 7.23828 9.55273C6.66699 10.2803 6.21777 10.8125 5.89062 11.1494C5.56836 11.4814 5.2998 11.6987 5.08496 11.8013C4.87012 11.9038 4.64062 11.9551 4.39648 11.9551C4.14258 11.9551 3.94238 11.8818 3.7959 11.7354C3.64453 11.5889 3.56885 11.3984 3.56885 11.1641C3.56885 10.915 3.64941 10.71 3.81055 10.5488C3.97168 10.3877 4.17676 10.3071 4.42578 10.3071C4.55762 10.3071 4.70654 10.3462 4.87256 10.4243C5.1167 10.5415 5.29248 10.6001 5.3999 10.6001C5.5415 10.6001 5.66846 10.5708 5.78076 10.5122C5.92725 10.439 6.11279 10.2803 6.3374 10.0361C6.47412 9.88477 6.72559 9.5625 7.0918 9.06934C6.62305 7.33105 6.25684 6.29102 5.99316 5.94922C5.82715 5.72949 5.61719 5.61963 5.36328 5.61963C5.23145 5.61963 5.07031 5.63916 4.87988 5.67822L4.93115 5.3999Z\"/>\n);\nexport const yIcon4 = bpIconWrapper(\n <path\n d=\"M5.04834 5.61963L7.3042 4.96045C7.48486 5.18506 7.61182 5.39746 7.68506 5.59766C7.81689 5.94434 7.90967 6.42285 7.96338 7.0332C8.06592 8.23438 8.13672 9.51611 8.17578 10.8784C8.69824 10.1899 9.29639 9.2793 9.97021 8.14648C10.1753 7.80469 10.2778 7.48242 10.2778 7.17969C10.2778 6.98926 10.1582 6.80859 9.91895 6.6377C9.68457 6.4668 9.53809 6.33496 9.47949 6.24219C9.4209 6.14453 9.3916 6.02002 9.3916 5.86865C9.3916 5.62451 9.47949 5.41211 9.65527 5.23145C9.83594 5.05078 10.0532 4.96045 10.3071 4.96045C10.5757 4.96045 10.8076 5.06299 11.0029 5.26807C11.2031 5.47314 11.3032 5.71484 11.3032 5.99316C11.3032 6.32031 11.2104 6.70117 11.0249 7.13574C10.8442 7.56543 10.417 8.30518 9.74316 9.35498C8.87891 10.6978 8.03174 11.8599 7.20166 12.8413C6.66943 13.4663 6.23975 13.9155 5.9126 14.189C5.58545 14.4673 5.24609 14.687 4.89453 14.8481C4.68457 14.9409 4.47705 14.9873 4.27197 14.9873C3.99365 14.9873 3.75684 14.8896 3.56152 14.6943C3.36133 14.499 3.26123 14.2671 3.26123 13.9985C3.26123 13.73 3.35156 13.5029 3.53223 13.3174C3.70801 13.1318 3.91553 13.0391 4.15479 13.0391C4.45264 13.0391 4.72607 13.1953 4.9751 13.5078C5.14111 13.7178 5.27783 13.8228 5.38525 13.8228C5.49756 13.8228 5.60742 13.791 5.71484 13.7275C5.86133 13.6494 6.06641 13.4688 6.33008 13.1855C6.35938 12.5752 6.37402 12.1138 6.37402 11.8013C6.37402 11.3813 6.35449 10.7905 6.31543 10.0288L6.19092 7.23828C6.14697 6.72559 6.03711 6.35693 5.86133 6.13232C5.72461 5.96631 5.54639 5.8833 5.32666 5.8833C5.24365 5.8833 5.15088 5.89062 5.04834 5.90527V5.61963Z\"/>\n);\nexport const zIcon4 = bpIconWrapper(\n <path\n d=\"M11.0322 5.16553L6.87207 10.0801C7.18457 10.1729 7.4165 10.312 7.56787 10.4976C7.76318 10.7417 7.90479 11.1079 7.99268 11.5962C8.08057 12.0796 8.18066 12.3848 8.29297 12.5117C8.40527 12.6436 8.52002 12.7095 8.63721 12.7095C8.71533 12.7095 8.78857 12.6729 8.85693 12.5996C8.92529 12.5312 8.95947 12.4531 8.95947 12.3652C8.95947 12.2725 8.93018 12.1211 8.87158 11.9111C8.83252 11.7695 8.81299 11.6328 8.81299 11.501C8.81299 11.2275 8.89844 10.998 9.06934 10.8125C9.24512 10.627 9.45508 10.5342 9.69922 10.5342C9.91895 10.5342 10.1021 10.6172 10.2485 10.7832C10.3999 10.9443 10.4756 11.1567 10.4756 11.4204C10.4756 11.8257 10.29 12.1943 9.91895 12.5264C9.54785 12.8584 9.09131 13.0244 8.54932 13.0244C7.92432 13.0244 7.31152 12.7363 6.71094 12.1602C6.4668 11.9307 6.26904 11.7744 6.11768 11.6914C6.02979 11.6475 5.91748 11.6255 5.78076 11.6255C5.66357 11.6255 5.53418 11.667 5.39258 11.75H4.92383L9.17188 6.71094H7.64844C7.21387 6.71094 6.89893 6.76465 6.70361 6.87207C6.51318 6.97949 6.33252 7.18945 6.16162 7.50195H5.84668L6.45459 5.16553H11.0322Z\"/>\n);\n\n\nexport const xIcon5 = bpIconWrapper(\n <path\n d=\"M1.44336 7.83008C1.44336 5.2793 2.27539 3.33594 3.93945 2H4.54297C4.16016 2.35937 3.87109 2.66406 3.67578 2.91406C2.69922 4.1875 2.21094 5.81836 2.21094 7.80664C2.21094 10.2949 2.96875 12.2305 4.48438 13.6133C4.51562 13.6367 4.53516 13.6543 4.54297 13.666H3.93945C3.09961 12.9863 2.47266 12.1406 2.05859 11.1289C1.64844 10.1211 1.44336 9.02148 1.44336 7.83008ZM5.25195 11L7.61328 8.08203V8.07031L5.32227 5.33398H6.18945L7.96484 7.53125L9.68164 5.33398H10.5312L8.29883 8.08203L10.748 11H9.88672L7.96484 8.51562H7.95312L6.10156 11H5.25195ZM11.4453 13.666C11.9336 13.2246 12.3164 12.7832 12.5938 12.3418C13.3789 11.1191 13.7715 9.60742 13.7715 7.80664C13.7715 5.31836 13.0195 3.40234 11.5156 2.05859C11.4766 2.02734 11.4531 2.00781 11.4453 2H12.043C12.8828 2.67188 13.5078 3.50977 13.918 4.51367C14.332 5.51758 14.5391 6.61523 14.5391 7.80664C14.5391 8.91992 14.3477 9.99414 13.9648 11.0293C13.582 12.0645 12.9414 12.9434 12.043 13.666H11.4453Z\"/>\n);\nexport const yIcon5 = bpIconWrapper(\n <path\n d=\"M1.44336 7.83008C1.44336 5.2793 2.27539 3.33594 3.93945 2H4.54297C4.16016 2.35937 3.87109 2.66406 3.67578 2.91406C2.69922 4.1875 2.21094 5.81836 2.21094 7.80664C2.21094 10.2949 2.96875 12.2305 4.48438 13.6133C4.51562 13.6367 4.53516 13.6543 4.54297 13.666H3.93945C3.09961 12.9863 2.47266 12.1406 2.05859 11.1289C1.64844 10.1211 1.44336 9.02148 1.44336 7.83008ZM5.42188 5.33398H6.20117L7.44922 8.43359C7.79297 9.34375 7.99609 9.93945 8.05859 10.2207C8.11328 9.83789 8.69727 8.20898 9.81055 5.33398H10.5664L8.20508 11.4688C8.11523 11.6992 8.03125 11.8887 7.95312 12.0371C7.87891 12.1855 7.77539 12.3516 7.64258 12.5352C7.51367 12.7188 7.35547 12.8574 7.16797 12.9512C6.98047 13.0488 6.76953 13.0977 6.53516 13.0977C6.24609 13.0977 5.93359 13.0703 5.59766 13.0156L5.53906 12.3418C5.90625 12.4395 6.23828 12.4883 6.53516 12.4883C6.66406 12.4883 6.78125 12.459 6.88672 12.4004C6.99609 12.3457 7.08008 12.2949 7.13867 12.248C7.20117 12.2012 7.27148 12.0977 7.34961 11.9375C7.43164 11.7773 7.48242 11.668 7.50195 11.6094C7.52148 11.5547 7.57617 11.416 7.66602 11.1934C7.69727 11.1035 7.71289 11.0352 7.71289 10.9883C7.71289 10.9492 7.68945 10.873 7.64258 10.7598L5.42188 5.33398ZM11.4453 13.666C11.9336 13.2246 12.3164 12.7832 12.5938 12.3418C13.3789 11.1191 13.7715 9.60742 13.7715 7.80664C13.7715 5.31836 13.0195 3.40234 11.5156 2.05859C11.4766 2.02734 11.4531 2.00781 11.4453 2H12.043C12.8828 2.67188 13.5078 3.50977 13.918 4.51367C14.332 5.51758 14.5391 6.61523 14.5391 7.80664C14.5391 8.91992 14.3477 9.99414 13.9648 11.0293C13.582 12.0645 12.9414 12.9434 12.043 13.666H11.4453Z\"/>\n);\nexport const zIcon5 = bpIconWrapper(\n <path\n d=\"M1.49023 7.83008C1.49023 5.2793 2.32227 3.33594 3.98633 2H4.58984C4.20703 2.35937 3.91797 2.66406 3.72266 2.91406C2.74609 4.1875 2.25781 5.81836 2.25781 7.80664C2.25781 10.2949 3.01562 12.2305 4.53125 13.6133C4.5625 13.6367 4.58203 13.6543 4.58984 13.666H3.98633C3.14648 12.9863 2.51953 12.1406 2.10547 11.1289C1.69531 10.1211 1.49023 9.02148 1.49023 7.83008ZM5.64453 11V10.5898L9.2832 5.92578H5.82617V5.33398H10.3262V5.73242L6.70508 10.4023H10.373V11H5.64453ZM11.3984 13.666C11.8867 13.2246 12.2695 12.7832 12.5469 12.3418C13.332 11.1191 13.7246 9.60742 13.7246 7.80664C13.7246 5.31836 12.9727 3.40234 11.4688 2.05859C11.4297 2.02734 11.4062 2.00781 11.3984 2H11.9961C12.8359 2.67188 13.4609 3.50977 13.8711 4.51367C14.2852 5.51758 14.4922 6.61523 14.4922 7.80664C14.4922 8.91992 14.3008 9.99414 13.918 11.0293C13.5352 12.0645 12.8945 12.9434 11.9961 13.666H11.3984Z\"/>\n);\n\n\nexport const xIcon6 = bpIconWrapper(\n <path\n d=\"M7.50928 8.40771L5.96387 4.8042C5.69043 4.16943 5.46826 3.77637 5.29736 3.625C5.13135 3.46875 4.86768 3.37354 4.50635 3.33936V3.06836H8.89355L8.81299 3.33936C8.50537 3.36377 8.29785 3.4248 8.19043 3.52246C8.08301 3.62012 8.0293 3.74951 8.0293 3.91064C8.0293 4.10107 8.11475 4.39893 8.28564 4.8042L9.16455 6.88428L10.3877 5.76367C11.0713 5.14355 11.5083 4.67969 11.6987 4.37207C11.811 4.19141 11.8672 4.02783 11.8672 3.88135C11.8672 3.74951 11.8062 3.62988 11.6841 3.52246C11.5669 3.41504 11.3765 3.354 11.1128 3.33936L11.2007 3.06836H14.4453L14.3794 3.33936C14.1353 3.3833 13.9106 3.47119 13.7056 3.60303C13.3784 3.81299 12.8315 4.26953 12.0649 4.97266L9.3916 7.42627L10.8931 10.9199C11.2397 11.7158 11.4985 12.1992 11.6694 12.3701C11.8452 12.541 12.104 12.6606 12.4458 12.729L12.3726 13H7.9707L8.05859 12.729C8.36621 12.7241 8.59082 12.6631 8.73242 12.5459C8.87402 12.4238 8.94482 12.2749 8.94482 12.0991C8.94482 11.8599 8.80811 11.4277 8.53467 10.8027L7.729 8.93506L5.89795 10.6416C5.31689 11.1787 4.97754 11.5303 4.87988 11.6963C4.78711 11.8574 4.74072 12.0112 4.74072 12.1577C4.74072 12.3042 4.80908 12.4336 4.9458 12.5459C5.08252 12.6582 5.30713 12.7192 5.61963 12.729L5.53174 13H2.08936L2.1626 12.729C2.42139 12.6802 2.64355 12.5996 2.8291 12.4873C3.2832 12.2139 3.84229 11.7695 4.50635 11.1543L7.50928 8.40771Z\"/>\n);\nexport const yIcon6 = bpIconWrapper(\n <path\n d=\"M7.38477 8.61279L6.5498 4.99463C6.4082 4.36963 6.2373 3.94238 6.03711 3.71289C5.88574 3.53711 5.60986 3.4126 5.20947 3.33936L5.29004 3.06836H10.0581L9.97021 3.33936C9.50635 3.33936 9.16699 3.43457 8.95215 3.625C8.74219 3.81055 8.63721 4.03271 8.63721 4.2915C8.63721 4.45264 8.68115 4.7334 8.76904 5.13379L9.41357 8.0708L11.0176 5.85889C11.4277 5.29248 11.6841 4.89453 11.7866 4.66504C11.8892 4.43066 11.9404 4.22559 11.9404 4.0498C11.9404 3.87402 11.8745 3.72021 11.7427 3.58838C11.6108 3.45654 11.3984 3.37354 11.1055 3.33936L11.186 3.06836H14.167V3.33936C13.8984 3.36865 13.6665 3.45654 13.4712 3.60303C13.2759 3.74951 12.895 4.21338 12.3286 4.99463L9.50879 8.87646L8.84961 11.1763C8.70801 11.6499 8.63721 11.9258 8.63721 12.0039C8.63721 12.2139 8.71777 12.3872 8.87891 12.5239C9.04004 12.6606 9.31104 12.729 9.69189 12.729H9.97021L9.88965 13H4.80664L4.87988 12.729C5.25098 12.7339 5.54883 12.6851 5.77344 12.5825C5.99805 12.4751 6.1665 12.3384 6.27881 12.1724C6.35693 12.0552 6.47168 11.7427 6.62305 11.2349L7.38477 8.61279Z\"/>\n);\nexport const zIcon6 = bpIconWrapper(\n <path\n d=\"M13.5957 3.33936L6.00049 12.458H6.59375C7.78027 12.458 8.73242 12.2847 9.4502 11.938C10.168 11.5864 10.832 11.0078 11.4424 10.2021H11.75L10.71 13H3.00488V12.729L10.5928 3.63965H9.6626C8.47119 3.63965 7.5874 3.78857 7.01123 4.08643C6.43506 4.37939 5.94189 4.87988 5.53174 5.58789H5.23877L6.08838 3.06836H13.5957V3.33936Z\"/>\n);\n\nexport const xIcon7 = bpIconWrapper(\n <path\n d=\"M12.7249 12.595L12.2749 12.55C11.9899 12.505 11.8099 12.31 11.2849 11.5L8.64488 7.3L10.9549 4.18C11.5699 3.37 11.7499 3.19 11.9749 3.16L12.5899 3.115V2.665H11.0749L8.29988 6.715L6.37988 3.475C6.03488 2.905 5.80988 2.65 5.52488 2.5L3.40988 2.905L3.43988 3.295L4.11488 3.34C4.47488 3.37 4.99988 3.865 5.49488 4.69L7.41488 7.885L4.48988 11.83C4.11488 12.34 3.93488 12.505 3.60488 12.55L3.21488 12.595V13.045C3.87488 13 3.87488 13 3.99488 13C4.11488 13 4.11488 13 4.75988 13.045L7.78988 8.455L10.5499 13.045C11.4799 13 11.4799 13 11.6599 13C11.7349 13 12.0799 13.015 12.7249 13.045V12.595Z\"/>\n);\nexport const yIcon7 = bpIconWrapper(\n <path\n d=\"M3.13988 2.8V3.235L3.57488 3.28C4.08488 3.355 4.86488 4.135 5.49488 5.23L7.35488 8.47C7.44488 8.62 7.48988 8.83 7.48988 9.07V11.2C7.48988 12.385 7.41488 12.505 6.72488 12.55L6.00488 12.595V13.045C6.88988 13.015 7.41488 13 8.19488 13C8.97488 13 9.51488 13.015 10.3999 13.045V12.595L9.67988 12.55C8.98988 12.505 8.91488 12.385 8.91488 11.2V9.265C8.91488 8.44 9.12488 7.93 9.99488 6.61C11.1049 4.945 11.5999 4.27 12.8149 2.815V2.59H11.6149C11.0449 3.7 10.5799 4.51 9.99488 5.44L8.44988 7.885L6.30488 3.97C5.82488 3.115 5.20988 2.425 4.93988 2.425L3.13988 2.8Z\"/>\n);\nexport const zIcon7 = bpIconWrapper(\n <path\n d=\"M12.5599 3.055L12.4999 2.62L10.1599 2.665L6.67988 2.635L4.20488 2.62C4.23488 3.175 4.24988 3.445 4.24988 3.835C4.24988 4.225 4.23488 4.495 4.20488 5.05H4.71488L4.80488 3.985C4.84988 3.4 5.25488 3.28 7.08488 3.28H10.5049L3.22988 12.625V13.045L7.90988 13L12.4849 13.045C12.4849 11.755 12.4999 11.23 12.5749 10.405H12.0649L11.9749 11.26C11.8699 12.25 11.6599 12.34 9.36488 12.34H5.26988L12.5599 3.055Z\"/>\n);\n\nexport const xIcon8 = bpIconWrapper(\n <path\n d=\"M1.79302 7.776C1.79302 4.136 3.15102 2.652 3.96302 1.7L3.69702 1.336C2.89902 2.05 0.589023 3.912 0.589023 7.776C0.589023 9.274 0.939023 10.688 1.61102 11.948C2.10102 12.886 2.54902 13.432 3.69702 14.51L3.96302 14.216C3.31902 13.418 1.79302 11.71 1.79302 7.776ZM8.42946 7.944L10.4175 5.62C10.5015 5.522 10.6555 5.466 10.8935 5.466H11.0895V5.074H9.94146L8.20546 7.524L7.14146 5.9C6.93146 5.592 6.77746 5.41 6.30146 4.934L4.67746 5.214L4.74746 5.578L5.04146 5.606C5.29346 5.62 5.60146 5.816 5.74146 6.012L7.42146 8.448L5.33546 10.912C5.23746 11.038 5.05546 11.122 4.91546 11.122H4.67746V11.5H5.88146L7.75746 8.812L9.61946 11.542C10.3475 11.5 10.3475 11.5 10.4735 11.5C10.6135 11.5 10.6135 11.5 11.3415 11.542V11.122L10.9915 11.08C10.8235 11.066 10.6555 10.954 10.5015 10.744L8.42946 7.944ZM12.3165 1.336L12.0505 1.7C12.8205 2.596 14.2205 4.136 14.2205 7.776C14.2205 11.64 12.7645 13.334 12.0505 14.216L12.3165 14.51C13.0585 13.81 15.4245 11.822 15.4245 7.79C15.4245 3.912 13.1145 2.05 12.3165 1.336Z\"/>\n);\nexport const yIcon8 = bpIconWrapper(\n <path\n d=\"M1.51275 7.776C1.51275 4.136 2.87075 2.652 3.68275 1.7L3.41675 1.336C2.61875 2.05 0.30875 3.912 0.30875 7.776C0.30875 9.274 0.65875 10.688 1.33075 11.948C1.82075 12.886 2.26875 13.432 3.41675 14.51L3.68275 14.216C3.03875 13.418 1.51275 11.71 1.51275 7.776ZM8.27519 10.296C7.96719 9.764 7.81319 9.442 7.56119 8.756L6.66519 6.404C6.58119 6.166 6.52519 5.956 6.52519 5.816C6.52519 5.62 6.67919 5.508 7.00119 5.494L7.53319 5.466V5.074C6.17519 5.116 6.17519 5.116 5.90919 5.116C5.64319 5.116 5.64319 5.116 4.28519 5.074V5.466L4.53719 5.494C4.88719 5.536 5.05519 5.69 5.26519 6.18L6.79119 9.848C7.18319 10.8 7.32319 11.136 7.57519 11.836L7.25319 12.69C6.80519 13.866 6.25919 14.524 5.72719 14.524C5.50319 14.524 5.25119 14.412 5.01319 14.202H4.83119L4.49519 15.252C4.76119 15.392 4.98519 15.462 5.25119 15.462C6.18919 15.462 6.79119 14.958 7.32319 13.74L10.1652 7.188C10.7252 5.914 10.9912 5.536 11.3412 5.494L11.7332 5.466V5.074C10.6272 5.116 10.6272 5.116 10.4032 5.116C10.1792 5.116 10.1792 5.116 9.07319 5.074V5.466L9.43719 5.494C9.82919 5.522 10.0252 5.648 10.0252 5.844C10.0252 5.942 9.99719 6.068 9.94119 6.208L8.27519 10.296ZM12.5968 1.336L12.3308 1.7C13.1008 2.596 14.5008 4.136 14.5008 7.776C14.5008 11.64 13.0448 13.334 12.3308 14.216L12.5968 14.51C13.3388 13.81 15.7048 11.822 15.7048 7.79C15.7048 3.912 13.3948 2.05 12.5968 1.336Z\"/>\n);\nexport const zIcon8 = bpIconWrapper(\n <path\n d=\"M1.9024 7.776C1.9024 4.136 3.2604 2.652 4.0724 1.7L3.8064 1.336C3.0084 2.05 0.698398 3.912 0.698398 7.776C0.698398 9.274 1.0484 10.688 1.7204 11.948C2.2104 12.886 2.6584 13.432 3.8064 14.51L4.0724 14.216C3.4284 13.418 1.9024 11.71 1.9024 7.776ZM10.8768 5.452V5.032C9.89684 5.06 9.47684 5.074 8.94484 5.074L5.47284 5.032C5.44484 5.746 5.43084 5.914 5.34684 6.88H5.76684L5.93484 5.928C5.99084 5.634 6.24284 5.564 7.27884 5.564H9.28084C8.98684 6.026 8.74884 6.348 8.37084 6.824L5.99084 9.792L4.73084 11.262L4.81484 11.542C6.27084 11.5 6.35484 11.5 6.95684 11.5L10.8208 11.542C10.8208 11.22 10.8488 10.884 10.9468 10.212L11.0308 9.554H10.6108L10.3588 10.66C10.3028 10.912 9.71484 11.01 8.37084 11.01H6.48084L10.8768 5.452ZM12.2072 1.336L11.9412 1.7C12.7112 2.596 14.1112 4.136 14.1112 7.776C14.1112 11.64 12.6552 13.334 11.9412 14.216L12.2072 14.51C12.9492 13.81 15.3152 11.822 15.3152 7.79C15.3152 3.912 13.0052 2.05 12.2072 1.336Z\"/>\n);\n\nexport const xIcon9 = bpIconWrapper(\n <path\n d=\"M8.42946 7.944L10.4175 5.62C10.5015 5.522 10.6555 5.466 10.8935 5.466H11.0895V5.074H9.94146L8.20546 7.524L7.14146 5.9C6.93146 5.592 6.77746 5.41 6.30146 4.934L4.67746 5.214L4.74746 5.578L5.04146 5.606C5.29346 5.62 5.60146 5.816 5.74146 6.012L7.42146 8.448L5.33546 10.912C5.23746 11.038 5.05546 11.122 4.91546 11.122H4.67746V11.5H5.88146L7.75746 8.812L9.61946 11.542C10.3475 11.5 10.3475 11.5 10.4735 11.5C10.6135 11.5 10.6135 11.5 11.3415 11.542V11.122L10.9915 11.08C10.8235 11.066 10.6555 10.954 10.5015 10.744L8.42946 7.944Z\"/>\n);\nexport const yIcon9 = bpIconWrapper(\n <path\n d=\"M8.27519 10.296C7.96719 9.764 7.81319 9.442 7.56119 8.756L6.66519 6.404C6.58119 6.166 6.52519 5.956 6.52519 5.816C6.52519 5.62 6.67919 5.508 7.00119 5.494L7.53319 5.466V5.074C6.17519 5.116 6.17519 5.116 5.90919 5.116C5.64319 5.116 5.64319 5.116 4.28519 5.074V5.466L4.53719 5.494C4.88719 5.536 5.05519 5.69 5.26519 6.18L6.79119 9.848C7.18319 10.8 7.32319 11.136 7.57519 11.836L7.25319 12.69C6.80519 13.866 6.25919 14.524 5.72719 14.524C5.50319 14.524 5.25119 14.412 5.01319 14.202H4.83119L4.49519 15.252C4.76119 15.392 4.98519 15.462 5.25119 15.462C6.18919 15.462 6.79119 14.958 7.32319 13.74L10.1652 7.188C10.7252 5.914 10.9912 5.536 11.3412 5.494L11.7332 5.466V5.074C10.6272 5.116 10.6272 5.116 10.4032 5.116C10.1792 5.116 10.1792 5.116 9.07319 5.074V5.466L9.43719 5.494C9.82919 5.522 10.0252 5.648 10.0252 5.844C10.0252 5.942 9.99719 6.068 9.94119 6.208L8.27519 10.296Z\"/>\n);\nexport const zIcon9 = bpIconWrapper(\n <path\n d=\"M10.8768 5.452V5.032C9.89684 5.06 9.47684 5.074 8.94484 5.074L5.47284 5.032C5.44484 5.746 5.43084 5.914 5.34684 6.88H5.76684L5.93484 5.928C5.99084 5.634 6.24284 5.564 7.27884 5.564H9.28084C8.98684 6.026 8.74884 6.348 8.37084 6.824L5.99084 9.792L4.73084 11.262L4.81484 11.542C6.27084 11.5 6.35484 11.5 6.95684 11.5L10.8208 11.542C10.8208 11.22 10.8488 10.884 10.9468 10.212L11.0308 9.554H10.6108L10.3588 10.66C10.3028 10.912 9.71484 11.01 8.37084 11.01H6.48084L10.8768 5.452Z\"/>\n);\n\nexport const xIcon10 = bpIconWrapper(\n <path\n d=\"M6.1748 2.03809C5.66895 2.50749 5.27702 2.89714 4.99902 3.20703C4.72103 3.51693 4.42253 3.95671 4.10352 4.52637C3.78451 5.09603 3.47689 5.79785 3.18066 6.63184C2.96647 7.22428 2.77962 7.80306 2.62012 8.36816C2.46517 8.92871 2.34212 9.49382 2.25098 10.0635C2.15983 10.6286 2.11426 11.2074 2.11426 11.7998C2.11426 12.6702 2.23503 13.4632 2.47656 14.1787L1.86133 14.4316C1.74284 14.1445 1.61751 13.7868 1.48535 13.3584C1.35319 12.93 1.23242 12.415 1.12305 11.8135C1.01823 11.2119 0.96582 10.6104 0.96582 10.0088C0.96582 8.91048 1.13216 7.9056 1.46484 6.99414C1.79753 6.08268 2.21224 5.28516 2.70898 4.60156C3.20573 3.91797 3.70247 3.34375 4.19922 2.87891C4.69596 2.40951 5.19499 1.97656 5.69629 1.58008L6.1748 2.03809ZM11.541 6.13965C11.541 6.43132 11.5 6.71159 11.418 6.98047H10.7617C10.8529 6.66602 10.8984 6.38118 10.8984 6.12598C10.8984 6.06673 10.8802 6.00293 10.8438 5.93457C10.8118 5.86621 10.7458 5.83203 10.6455 5.83203C10.5726 5.83203 10.5111 5.85254 10.4609 5.89355C10.4108 5.93457 10.2855 6.0599 10.085 6.26953L8.81348 7.60938L9.3877 9.4209C9.4515 9.61686 9.5153 9.78092 9.5791 9.91309C9.6429 10.0407 9.72266 10.1045 9.81836 10.1045C9.97786 10.1045 10.1214 9.98145 10.249 9.73535C10.3766 9.48926 10.4678 9.27051 10.5225 9.0791H11.1377C11.001 9.57585 10.8232 9.98145 10.6045 10.2959C10.3857 10.6104 10.151 10.8405 9.90039 10.9863C9.64974 11.1276 9.41276 11.1982 9.18945 11.1982C8.82943 11.1982 8.55371 11.0752 8.3623 10.8291C8.17546 10.5785 8.00911 10.2253 7.86328 9.76953L7.59668 8.91504L6.09961 10.5078C5.66211 10.9681 5.29753 11.1982 5.00586 11.1982C4.60482 11.1982 4.4043 10.9316 4.4043 10.3984C4.4043 10.0202 4.48405 9.64193 4.64355 9.26367H5.38184C5.21322 9.73763 5.12891 10.0407 5.12891 10.1729C5.12891 10.3141 5.1722 10.3848 5.25879 10.3848C5.33171 10.3848 5.45703 10.2959 5.63477 10.1182L7.38477 8.25879L7.0498 7.19238C6.98145 6.97363 6.92676 6.81413 6.88574 6.71387C6.84473 6.60905 6.79232 6.52474 6.72852 6.46094C6.66927 6.39714 6.59408 6.36523 6.50293 6.36523C6.24316 6.36523 6.02441 6.70247 5.84668 7.37695H5.21777C5.36361 6.89844 5.52995 6.50195 5.7168 6.1875C5.9082 5.86849 6.1224 5.62467 6.35938 5.45605C6.59635 5.28743 6.84928 5.20312 7.11816 5.20312C7.47363 5.20312 7.75846 5.33073 7.97266 5.58594C8.19141 5.83659 8.36914 6.18522 8.50586 6.63184L8.61523 6.98047L9.66797 5.8457C10.0781 5.41732 10.4473 5.20312 10.7754 5.20312C11.099 5.20312 11.3063 5.30794 11.3975 5.51758C11.4932 5.72721 11.541 5.93457 11.541 6.13965ZM15.2256 5.98926C15.2256 7.07845 15.0592 8.08333 14.7266 9.00391C14.3984 9.91992 13.9837 10.7197 13.4824 11.4033C12.9857 12.0915 12.498 12.6566 12.0195 13.0986C11.5456 13.5452 11.0352 13.985 10.4883 14.418L10.0166 13.9531C10.4769 13.5339 10.8574 13.1579 11.1582 12.8252C11.459 12.4925 11.7666 12.0413 12.0811 11.4717C12.4001 10.9066 12.71 10.2025 13.0107 9.35938C13.348 8.42969 13.61 7.54329 13.7969 6.7002C13.9837 5.8571 14.0771 5.02311 14.0771 4.19824C14.0771 3.86556 14.0475 3.48275 13.9883 3.0498C13.9336 2.6123 13.8402 2.20215 13.708 1.81934L14.3232 1.56641C14.3916 1.7168 14.4759 1.9401 14.5762 2.23633C14.6764 2.52799 14.7744 2.86523 14.8701 3.24805C14.9658 3.6263 15.0479 4.05469 15.1162 4.5332C15.1891 5.01172 15.2256 5.49707 15.2256 5.98926Z\"/>\n);\nexport const yIcon10 = bpIconWrapper(\n <path\n d=\"M6.31836 2.03809C5.8125 2.50749 5.42057 2.89714 5.14258 3.20703C4.86458 3.51693 4.56608 3.95671 4.24707 4.52637C3.92806 5.09603 3.62044 5.79785 3.32422 6.63184C3.11003 7.22428 2.92318 7.80306 2.76367 8.36816C2.60872 8.92871 2.48568 9.49382 2.39453 10.0635C2.30339 10.6286 2.25781 11.2074 2.25781 11.7998C2.25781 12.6702 2.37858 13.4632 2.62012 14.1787L2.00488 14.4316C1.88639 14.1445 1.76107 13.7868 1.62891 13.3584C1.49674 12.93 1.37598 12.415 1.2666 11.8135C1.16178 11.2119 1.10938 10.6104 1.10938 10.0088C1.10938 8.91048 1.27572 7.9056 1.6084 6.99414C1.94108 6.08268 2.35579 5.28516 2.85254 4.60156C3.34928 3.91797 3.84603 3.34375 4.34277 2.87891C4.83952 2.40951 5.33854 1.97656 5.83984 1.58008L6.31836 2.03809ZM10.9873 6.49512C10.9873 7.28809 10.7184 8.14714 10.1807 9.07227C9.64746 9.9974 8.95931 10.8678 8.11621 11.6836C7.27767 12.5039 6.40495 13.167 5.49805 13.6729C4.59115 14.1787 3.79818 14.4316 3.11914 14.4316C2.80924 14.4316 2.54492 14.3656 2.32617 14.2334C2.10742 14.1058 1.99805 13.9189 1.99805 13.6729C1.99805 13.4769 2.0778 13.3151 2.2373 13.1875C2.39681 13.0645 2.5791 13.0029 2.78418 13.0029C2.94824 13.0029 3.08724 13.0166 3.20117 13.0439C3.3151 13.0758 3.46094 13.1283 3.63867 13.2012C4.02148 13.3288 4.30632 13.3926 4.49316 13.3926C4.80306 13.3926 5.07878 13.2969 5.32031 13.1055C5.56641 12.9186 5.76693 12.693 5.92188 12.4287C6.29557 11.7725 6.48242 10.8473 6.48242 9.65332C6.48242 9.36165 6.47331 9.05632 6.45508 8.7373C6.43685 8.41374 6.40951 8.08333 6.37305 7.74609C6.33659 7.40885 6.28418 7.09896 6.21582 6.81641C6.17936 6.67057 6.11556 6.53841 6.02441 6.41992C5.93783 6.30143 5.83757 6.24219 5.72363 6.24219C5.36816 6.24219 5.14941 6.64323 5.06738 7.44531H4.50684C4.61165 6.53385 4.84863 5.93229 5.21777 5.64062C5.58691 5.34896 5.94238 5.20312 6.28418 5.20312C6.97233 5.20312 7.44173 5.57682 7.69238 6.32422C7.94759 7.06706 8.0752 7.95345 8.0752 8.9834C8.0752 9.83561 8.02962 10.5352 7.93848 11.082C8.74967 10.1341 9.18717 9.6123 9.25098 9.5166C9.46061 9.20671 9.63151 8.90592 9.76367 8.61426C9.89583 8.31803 9.96191 8.02637 9.96191 7.73926C9.96191 7.51595 9.88444 7.20833 9.72949 6.81641C9.56999 6.41992 9.49023 6.13053 9.49023 5.94824C9.49023 5.72949 9.5472 5.55176 9.66113 5.41504C9.77962 5.27376 9.91862 5.20312 10.0781 5.20312C10.2331 5.20312 10.3789 5.25326 10.5156 5.35352C10.6569 5.45378 10.7708 5.60189 10.8574 5.79785C10.944 5.98926 10.9873 6.22168 10.9873 6.49512ZM15.082 5.98926C15.082 7.07845 14.9157 8.08333 14.583 9.00391C14.2549 9.91992 13.8402 10.7197 13.3389 11.4033C12.8421 12.0915 12.3545 12.6566 11.876 13.0986C11.402 13.5452 10.8916 13.985 10.3447 14.418L9.87305 13.9531C10.3333 13.5339 10.7139 13.1579 11.0146 12.8252C11.3154 12.4925 11.623 12.0413 11.9375 11.4717C12.2565 10.9066 12.5664 10.2025 12.8672 9.35938C13.2044 8.42969 13.4665 7.54329 13.6533 6.7002C13.8402 5.8571 13.9336 5.02311 13.9336 4.19824C13.9336 3.86556 13.904 3.48275 13.8447 3.0498C13.79 2.6123 13.6966 2.20215 13.5645 1.81934L14.1797 1.56641C14.248 1.7168 14.3324 1.9401 14.4326 2.23633C14.5329 2.52799 14.6309 2.86523 14.7266 3.24805C14.8223 3.6263 14.9043 4.05469 14.9727 4.5332C15.0456 5.01172 15.082 5.49707 15.082 5.98926Z\"/>\n);\nexport const zIcon10 = bpIconWrapper(\n <path\n d=\"M6.60547 2.03809C6.09961 2.50749 5.70768 2.89714 5.42969 3.20703C5.15169 3.51693 4.85319 3.95671 4.53418 4.52637C4.21517 5.09603 3.90755 5.79785 3.61133 6.63184C3.39714 7.22428 3.21029 7.80306 3.05078 8.36816C2.89583 8.92871 2.77279 9.49382 2.68164 10.0635C2.59049 10.6286 2.54492 11.2074 2.54492 11.7998C2.54492 12.6702 2.66569 13.4632 2.90723 14.1787L2.29199 14.4316C2.1735 14.1445 2.04818 13.7868 1.91602 13.3584C1.78385 12.93 1.66309 12.415 1.55371 11.8135C1.44889 11.2119 1.39648 10.6104 1.39648 10.0088C1.39648 8.91048 1.56283 7.9056 1.89551 6.99414C2.22819 6.08268 2.6429 5.28516 3.13965 4.60156C3.63639 3.91797 4.13314 3.34375 4.62988 2.87891C5.12663 2.40951 5.62565 1.97656 6.12695 1.58008L6.60547 2.03809ZM11.0898 5.53809C11.0898 5.68392 10.9508 5.93001 10.6729 6.27637C10.3949 6.61816 10.0166 7.00098 9.53809 7.4248C9.06413 7.84863 8.49447 8.29297 7.8291 8.75781C7.18197 9.20443 6.70117 9.55534 6.38672 9.81055C6.67839 9.72852 6.89714 9.67155 7.04297 9.63965C7.19336 9.60319 7.41895 9.58496 7.71973 9.58496C8.06608 9.58496 8.41471 9.63737 8.76562 9.74219C8.9707 9.79688 9.12565 9.82422 9.23047 9.82422C9.44466 9.82422 9.611 9.77409 9.72949 9.67383C9.84798 9.56901 9.95736 9.43685 10.0576 9.27734H10.6729C10.5771 9.54167 10.4268 9.82422 10.2217 10.125C10.0166 10.4212 9.75684 10.6742 9.44238 10.8838C9.12793 11.0934 8.7679 11.1982 8.3623 11.1982C8.14355 11.1982 7.95215 11.1663 7.78809 11.1025C7.62402 11.0433 7.44173 10.9521 7.24121 10.8291C7.01335 10.6833 6.82422 10.5739 6.67383 10.501C6.52344 10.4235 6.35938 10.3848 6.18164 10.3848C5.91732 10.3848 5.70085 10.5146 5.53223 10.7744C5.43652 10.9385 5.35905 11.0501 5.2998 11.1094C5.24056 11.1686 5.16081 11.1982 5.06055 11.1982C4.96484 11.1982 4.88509 11.1618 4.82129 11.0889C4.75749 11.016 4.72559 10.9408 4.72559 10.8633C4.72559 10.6719 4.8418 10.4486 5.07422 10.1934C5.30664 9.93815 5.59147 9.67839 5.92871 9.41406C6.27051 9.14974 6.77865 8.77376 7.45312 8.28613C8.46484 7.54785 9.20085 6.95996 9.66113 6.52246C9.38314 6.65007 9.02539 6.71387 8.58789 6.71387C8.44206 6.71387 8.30306 6.70247 8.1709 6.67969C8.03874 6.6569 7.85417 6.61816 7.61719 6.56348C7.31185 6.49512 7.12044 6.46094 7.04297 6.46094C6.83333 6.46094 6.67611 6.50651 6.57129 6.59766C6.46647 6.6888 6.36849 6.81641 6.27734 6.98047H5.68945C5.86263 6.5612 6.11328 6.16016 6.44141 5.77734C6.77409 5.39453 7.22298 5.20312 7.78809 5.20312C8.09798 5.20312 8.48079 5.33301 8.93652 5.59277C9.05501 5.66569 9.16439 5.73177 9.26465 5.79102C9.36947 5.8457 9.45378 5.88444 9.51758 5.90723C9.58594 5.92546 9.6543 5.93457 9.72266 5.93457C9.96875 5.93457 10.1784 5.78874 10.3516 5.49707C10.4154 5.39681 10.4701 5.32389 10.5156 5.27832C10.5658 5.22819 10.6364 5.20312 10.7275 5.20312C10.8551 5.20312 10.9463 5.24186 11.001 5.31934C11.0602 5.39225 11.0898 5.46517 11.0898 5.53809ZM14.7949 5.98926C14.7949 7.07845 14.6286 8.08333 14.2959 9.00391C13.9678 9.91992 13.5531 10.7197 13.0518 11.4033C12.555 12.0915 12.0674 12.6566 11.5889 13.0986C11.1149 13.5452 10.6045 13.985 10.0576 14.418L9.58594 13.9531C10.0462 13.5339 10.4268 13.1579 10.7275 12.8252C11.0283 12.4925 11.3359 12.0413 11.6504 11.4717C11.9694 10.9066 12.2793 10.2025 12.5801 9.35938C12.9173 8.42969 13.1794 7.54329 13.3662 6.7002C13.5531 5.8571 13.6465 5.02311 13.6465 4.19824C13.6465 3.86556 13.6169 3.48275 13.5576 3.0498C13.5029 2.6123 13.4095 2.20215 13.2773 1.81934L13.8926 1.56641C13.9609 1.7168 14.0452 1.9401 14.1455 2.23633C14.2458 2.52799 14.3438 2.86523 14.4395 3.24805C14.5352 3.6263 14.6172 4.05469 14.6855 4.5332C14.7585 5.01172 14.7949 5.49707 14.7949 5.98926Z\"/>\n);\n\nexport const xIcon11 = bpIconWrapper(\n <path\n d=\"M11.541 6.13965C11.541 6.43132 11.5 6.71159 11.418 6.98047H10.7617C10.8529 6.66602 10.8984 6.38118 10.8984 6.12598C10.8984 6.06673 10.8802 6.00293 10.8438 5.93457C10.8118 5.86621 10.7458 5.83203 10.6455 5.83203C10.5726 5.83203 10.5111 5.85254 10.4609 5.89355C10.4108 5.93457 10.2855 6.0599 10.085 6.26953L8.81348 7.60938L9.3877 9.4209C9.4515 9.61686 9.5153 9.78092 9.5791 9.91309C9.6429 10.0407 9.72266 10.1045 9.81836 10.1045C9.97786 10.1045 10.1214 9.98145 10.249 9.73535C10.3766 9.48926 10.4678 9.27051 10.5225 9.0791H11.1377C11.001 9.57585 10.8232 9.98145 10.6045 10.2959C10.3857 10.6104 10.151 10.8405 9.90039 10.9863C9.64974 11.1276 9.41276 11.1982 9.18945 11.1982C8.82943 11.1982 8.55371 11.0752 8.3623 10.8291C8.17546 10.5785 8.00911 10.2253 7.86328 9.76953L7.59668 8.91504L6.09961 10.5078C5.66211 10.9681 5.29753 11.1982 5.00586 11.1982C4.60482 11.1982 4.4043 10.9316 4.4043 10.3984C4.4043 10.0202 4.48405 9.64193 4.64355 9.26367H5.38184C5.21322 9.73763 5.12891 10.0407 5.12891 10.1729C5.12891 10.3141 5.1722 10.3848 5.25879 10.3848C5.33171 10.3848 5.45703 10.2959 5.63477 10.1182L7.38477 8.25879L7.0498 7.19238C6.98145 6.97363 6.92676 6.81413 6.88574 6.71387C6.84473 6.60905 6.79232 6.52474 6.72852 6.46094C6.66927 6.39714 6.59408 6.36523 6.50293 6.36523C6.24316 6.36523 6.02441 6.70247 5.84668 7.37695H5.21777C5.36361 6.89844 5.52995 6.50195 5.7168 6.1875C5.9082 5.86849 6.1224 5.62467 6.35938 5.45605C6.59635 5.28743 6.84928 5.20312 7.11816 5.20312C7.47363 5.20312 7.75846 5.33073 7.97266 5.58594C8.19141 5.83659 8.36914 6.18522 8.50586 6.63184L8.61523 6.98047L9.66797 5.8457C10.0781 5.41732 10.4473 5.20312 10.7754 5.20312C11.099 5.20312 11.3063 5.30794 11.3975 5.51758C11.4932 5.72721 11.541 5.93457 11.541 6.13965Z\"/>\n);\nexport const yIcon11 = bpIconWrapper(\n <path\n d=\"M10.9873 6.49512C10.9873 7.28809 10.7184 8.14714 10.1807 9.07227C9.64746 9.9974 8.95931 10.8678 8.11621 11.6836C7.27767 12.5039 6.40495 13.167 5.49805 13.6729C4.59115 14.1787 3.79818 14.4316 3.11914 14.4316C2.80924 14.4316 2.54492 14.3656 2.32617 14.2334C2.10742 14.1058 1.99805 13.9189 1.99805 13.6729C1.99805 13.4769 2.0778 13.3151 2.2373 13.1875C2.39681 13.0645 2.5791 13.0029 2.78418 13.0029C2.94824 13.0029 3.08724 13.0166 3.20117 13.0439C3.3151 13.0758 3.46094 13.1283 3.63867 13.2012C4.02148 13.3288 4.30632 13.3926 4.49316 13.3926C4.80306 13.3926 5.07878 13.2969 5.32031 13.1055C5.56641 12.9186 5.76693 12.693 5.92188 12.4287C6.29557 11.7725 6.48242 10.8473 6.48242 9.65332C6.48242 9.36165 6.47331 9.05632 6.45508 8.7373C6.43685 8.41374 6.40951 8.08333 6.37305 7.74609C6.33659 7.40885 6.28418 7.09896 6.21582 6.81641C6.17936 6.67057 6.11556 6.53841 6.02441 6.41992C5.93783 6.30143 5.83757 6.24219 5.72363 6.24219C5.36816 6.24219 5.14941 6.64323 5.06738 7.44531H4.50684C4.61165 6.53385 4.84863 5.93229 5.21777 5.64062C5.58691 5.34896 5.94238 5.20312 6.28418 5.20312C6.97233 5.20312 7.44173 5.57682 7.69238 6.32422C7.94759 7.06706 8.0752 7.95345 8.0752 8.9834C8.0752 9.83561 8.02962 10.5352 7.93848 11.082C8.74967 10.1341 9.18717 9.6123 9.25098 9.5166C9.46061 9.20671 9.63151 8.90592 9.76367 8.61426C9.89583 8.31803 9.96191 8.02637 9.96191 7.73926C9.96191 7.51595 9.88444 7.20833 9.72949 6.81641C9.56999 6.41992 9.49023 6.13053 9.49023 5.94824C9.49023 5.72949 9.5472 5.55176 9.66113 5.41504C9.77962 5.27376 9.91862 5.20312 10.0781 5.20312C10.2331 5.20312 10.3789 5.25326 10.5156 5.35352C10.6569 5.45378 10.7708 5.60189 10.8574 5.79785C10.944 5.98926 10.9873 6.22168 10.9873 6.49512Z\"/>\n);\nexport const zIcon11 = bpIconWrapper(\n <path\n d=\"M11.0898 5.53809C11.0898 5.68392 10.9508 5.93001 10.6729 6.27637C10.3949 6.61816 10.0166 7.00098 9.53809 7.4248C9.06413 7.84863 8.49447 8.29297 7.8291 8.75781C7.18197 9.20443 6.70117 9.55534 6.38672 9.81055C6.67839 9.72852 6.89714 9.67155 7.04297 9.63965C7.19336 9.60319 7.41895 9.58496 7.71973 9.58496C8.06608 9.58496 8.41471 9.63737 8.76562 9.74219C8.9707 9.79688 9.12565 9.82422 9.23047 9.82422C9.44466 9.82422 9.611 9.77409 9.72949 9.67383C9.84798 9.56901 9.95736 9.43685 10.0576 9.27734H10.6729C10.5771 9.54167 10.4268 9.82422 10.2217 10.125C10.0166 10.4212 9.75684 10.6742 9.44238 10.8838C9.12793 11.0934 8.7679 11.1982 8.3623 11.1982C8.14355 11.1982 7.95215 11.1663 7.78809 11.1025C7.62402 11.0433 7.44173 10.9521 7.24121 10.8291C7.01335 10.6833 6.82422 10.5739 6.67383 10.501C6.52344 10.4235 6.35938 10.3848 6.18164 10.3848C5.91732 10.3848 5.70085 10.5146 5.53223 10.7744C5.43652 10.9385 5.35905 11.0501 5.2998 11.1094C5.24056 11.1686 5.16081 11.1982 5.06055 11.1982C4.96484 11.1982 4.88509 11.1618 4.82129 11.0889C4.75749 11.016 4.72559 10.9408 4.72559 10.8633C4.72559 10.6719 4.8418 10.4486 5.07422 10.1934C5.30664 9.93815 5.59147 9.67839 5.92871 9.41406C6.27051 9.14974 6.77865 8.77376 7.45312 8.28613C8.46484 7.54785 9.20085 6.95996 9.66113 6.52246C9.38314 6.65007 9.02539 6.71387 8.58789 6.71387C8.44206 6.71387 8.30306 6.70247 8.1709 6.67969C8.03874 6.6569 7.85417 6.61816 7.61719 6.56348C7.31185 6.49512 7.12044 6.46094 7.04297 6.46094C6.83333 6.46094 6.67611 6.50651 6.57129 6.59766C6.46647 6.6888 6.36849 6.81641 6.27734 6.98047H5.68945C5.86263 6.5612 6.11328 6.16016 6.44141 5.77734C6.77409 5.39453 7.22298 5.20312 7.78809 5.20312C8.09798 5.20312 8.48079 5.33301 8.93652 5.59277C9.05501 5.66569 9.16439 5.73177 9.26465 5.79102C9.36947 5.8457 9.45378 5.88444 9.51758 5.90723C9.58594 5.92546 9.6543 5.93457 9.72266 5.93457C9.96875 5.93457 10.1784 5.78874 10.3516 5.49707C10.4154 5.39681 10.4701 5.32389 10.5156 5.27832C10.5658 5.22819 10.6364 5.20312 10.7275 5.20312C10.8551 5.20312 10.9463 5.24186 11.001 5.31934C11.0602 5.39225 11.0898 5.46517 11.0898 5.53809Z\"/>\n);\n\nexport const xIcon12 = bpIconWrapper(\n <path\n d=\"M14.2412 3.23047L14.043 3.85938C13.8789 3.85938 13.7194 3.88444 13.5645 3.93457C13.4141 3.9847 13.2113 4.09863 12.9561 4.27637C12.7054 4.44954 12.3499 4.74577 11.8896 5.16504L9.56543 7.29102L10.8096 10.6816C10.9372 11.0143 11.0397 11.2513 11.1172 11.3926C11.1992 11.5339 11.3223 11.6501 11.4863 11.7412C11.6549 11.8278 11.8874 11.8711 12.1836 11.8711L11.999 12.5H7.76074L7.95215 11.8711C8.24837 11.8711 8.51042 11.8369 8.73828 11.7686C8.9707 11.7002 9.08691 11.5475 9.08691 11.3105C9.08691 11.1419 9.04134 10.9323 8.9502 10.6816L8.16406 8.59668L6.49609 10.1348C6.17253 10.4355 5.96289 10.6497 5.86719 10.7773C5.77604 10.9004 5.73047 11.0508 5.73047 11.2285C5.73047 11.4564 5.83073 11.6204 6.03125 11.7207C6.23177 11.821 6.4528 11.8711 6.69434 11.8711L6.49609 12.5H2.46973L2.66113 11.8711C2.93913 11.8711 3.23763 11.7868 3.55664 11.6182C3.87565 11.4495 4.16276 11.2604 4.41797 11.0508C4.67773 10.8366 5.00814 10.5495 5.40918 10.1895L7.91113 7.90625L6.77637 4.87109C6.65332 4.54297 6.55306 4.31738 6.47559 4.19434C6.40267 4.06673 6.30241 3.98014 6.1748 3.93457C6.0472 3.88444 5.85124 3.85938 5.58691 3.85938L5.77148 3.23047H9.76367L9.56543 3.85938C9.24186 3.85938 8.99805 3.89355 8.83398 3.96191C8.66992 4.03027 8.58789 4.1875 8.58789 4.43359C8.58789 4.58398 8.62435 4.75716 8.69727 4.95312L9.3125 6.62109L10.8506 5.21973C11.0921 4.99642 11.2516 4.82552 11.3291 4.70703C11.4111 4.58854 11.4521 4.47917 11.4521 4.37891C11.4521 4.03255 11.1924 3.85938 10.6729 3.85938L10.8506 3.23047H14.2412Z\"/>\n);\nexport const yIcon12 = bpIconWrapper(\n <path\n d=\"M13.79 3.23047L13.6396 3.85938C13.3753 3.85938 13.1406 3.90039 12.9355 3.98242C12.735 4.06445 12.5254 4.21712 12.3066 4.44043C12.0924 4.66374 11.8509 4.96452 11.582 5.34277L9.32617 8.4668L8.66992 10.6133C8.58333 10.8958 8.54004 11.0964 8.54004 11.2148C8.54004 11.4154 8.60156 11.5635 8.72461 11.6592C8.85221 11.7549 9.00033 11.8141 9.16895 11.8369C9.34212 11.8597 9.55176 11.8711 9.79785 11.8711L9.60645 12.5H5.04004L5.23828 11.8711C5.59831 11.8711 5.86263 11.846 6.03125 11.7959C6.20443 11.7458 6.33431 11.6569 6.4209 11.5293C6.51204 11.4017 6.6123 11.1693 6.72168 10.832L7.44629 8.4668L6.40039 4.72754C6.32747 4.48145 6.25684 4.30371 6.18848 4.19434C6.12012 4.0804 6.00846 3.99609 5.85352 3.94141C5.70312 3.88672 5.47982 3.85938 5.18359 3.85938L5.36133 3.23047H9.44922L9.25781 3.85938C8.94792 3.85938 8.69499 3.89811 8.49902 3.97559C8.30306 4.0485 8.20508 4.22624 8.20508 4.50879C8.20508 4.60905 8.23698 4.77995 8.30078 5.02148L9.0459 7.74219L10.625 5.51367C10.7617 5.31771 10.8643 5.16276 10.9326 5.04883C11.0055 4.9349 11.0579 4.83008 11.0898 4.73438C11.1263 4.63867 11.1445 4.55208 11.1445 4.47461C11.1445 4.20117 11.0534 4.03027 10.8711 3.96191C10.6888 3.89355 10.4632 3.85938 10.1943 3.85938L10.3721 3.23047H13.79Z\"/>\n);\nexport const zIcon12 = bpIconWrapper(\n <path\n d=\"M13.127 3.76367L6.28418 11.8301H8.38281C9.84115 11.8301 10.8779 11.1351 11.4932 9.74512H12.1631L11.3086 12.5H3.94629V11.8438L10.7207 3.90723H8.62207C8.31217 3.90723 8.02051 3.93913 7.74707 4.00293C7.47363 4.06673 7.17057 4.23307 6.83789 4.50195C6.50977 4.77083 6.20898 5.17415 5.93555 5.71191H5.27246L6.03125 3.23047H13.127V3.76367Z\"/>\n);\n\n","import React from \"react\";\nimport {BPComponentProps, UiConfigRendererContextType} from \"./BPComponent\";\nimport {BPInputComponent} from \"./BPInputComponent\";\nimport {BPValueComponentState} from \"./BPValueComponent\";\nimport type {Vector2, Vector3, Vector4} from \"three\";\nimport {ExtendedNumericInput} from \"../components/ExtendedNumericInput\";\nimport {wIcon3, xIcon3, yIcon3, zIcon3} from \"../components/variableIcons\";\nimport {getOrCall} from 'ts-browser-helpers'\n\nexport type BPVectorComponentState = BPValueComponentState<Vector2|Vector3|Vector4> & {\n min: number,\n max: number,\n step: number,\n components: 1|2|3|4,\n}\n\nexport class BPVectorInputComponent extends BPInputComponent<Vector2|Vector3|Vector4, BPVectorComponentState> {\n constructor(props: BPComponentProps<Vector2|Vector3|Vector4>, context: UiConfigRendererContextType) {\n super(props, context, {\n value: new context.THREE!.Vector2(),\n label: 'Vector',\n min: -Infinity,\n max: Infinity,\n step: 0.01,\n components: 2,\n });\n }\n\n forceOnChange: boolean = true\n\n doesNeedRefresh(_: BPVectorComponentState): boolean {\n return true;\n }\n\n getUpdatedState(state: BPVectorComponentState): BPVectorComponentState {\n const bounds = getOrCall(this.props.config.bounds)\n const max = (bounds?.length ?? 0) >= 2 ? bounds![1] : Infinity\n const min = (bounds?.length ?? 0) >= 1 ? bounds![0] : -Infinity\n const step = getOrCall(this.props.config.stepSize) || (isFinite(max) && isFinite(min) ? (Math.pow(10, Math.floor(Math.log10((max - min) / 100)))) : 0.01)\n state = super.getUpdatedState({\n ...state,\n min, max, step\n });\n // console.warn(state.value)\n let com = this.props.config.type!.replace('vector', '').replace('vec', '')\n let components: any = 0;\n // console.log(com, components)\n if(!com.length){\n let v = state.value as any;\n // console.log(v)\n if(typeof v.w === \"number\") components = 4\n else if (typeof v.z === \"number\") components = 3\n else if (typeof v.y === \"number\") components = 2\n else if (typeof v.x === \"number\") components = 1\n } else {\n components = Math.min(4, Math.max(1, parseInt(com)))\n }\n state.components = components\n return state\n }\n\n private _inputs = [React.createRef<ExtendedNumericInput>(), React.createRef<ExtendedNumericInput>(), React.createRef<ExtendedNumericInput>(), React.createRef<ExtendedNumericInput>()]\n\n async refreshConfigState(state?: BPVectorComponentState): Promise<void> {\n await super.refreshConfigState(state);\n await this._inputs[0].current?.setValue(this.state.value.x)\n await this._inputs[1].current?.setValue(this.state.value.y)\n await this._inputs[2].current?.setValue((this.state.value as any).z)\n await this._inputs[3].current?.setValue((this.state.value as any).w)\n }\n\n renderInput() {\n let ret = []\n if (!this.state.value) return <></>;\n\n // console.warn(this.state.value)\n if (this.state.components > 0) {\n const x = (\n <ExtendedNumericInput\n style={{maxWidth: \"8rem\", minWidth: \"2rem\"}}\n disabled={this.state.disabled} readOnly={this.state.readOnly}\n // defaultValue={state}\n leftIcon={xIcon3}\n value={this.state.value.x}\n key={this.props.config.uuid + '_x'}\n ref={this._inputs[0]}\n min={this.state.min} max={this.state.max} stepSize={this.state.step}\n minorStepSize={this.state.step / 10}\n majorStepSize={this.state.step * 10}\n buttonPosition=\"none\"\n onChange2={(v, last) => {\n this.state.value.x = v\n this.setValue(this.state.value, last) // todo: does need refresh?\n }}\n />)\n ret.push(x)\n }\n if(this.state.components>1) {\n const y = (\n <ExtendedNumericInput\n style={{maxWidth: \"8rem\", minWidth: \"2rem\"}}\n // defaultValue={state}\n disabled={this.state.disabled} readOnly={this.state.readOnly}\n value={this.state.value.y}\n leftIcon={yIcon3}\n key={this.props.config.uuid + '_y'}\n ref={this._inputs[1]}\n min={this.state.min} max={this.state.max} stepSize={this.state.step}\n minorStepSize={this.state.step / 10}\n majorStepSize={this.state.step * 10}\n buttonPosition=\"none\"\n onChange2={(v, last) => {\n this.state.value.y = v\n this.setValue(this.state.value, last) // todo: does need refresh?\n }}\n />)\n ret.push(y)\n }\n if(this.state.components>2) {\n const z = (\n <ExtendedNumericInput\n style={{maxWidth: \"8rem\", minWidth: \"2rem\"}}\n // defaultValue={state}\n disabled={this.state.disabled} readOnly={this.state.readOnly}\n value={(this.state.value as Vector3|Vector4).z}\n key={this.props.config.uuid + '_z'}\n leftIcon={zIcon3}\n min={this.state.min} max={this.state.max} stepSize={this.state.step}\n ref={this._inputs[2]}\n minorStepSize={this.state.step / 10}\n majorStepSize={this.state.step * 10}\n buttonPosition=\"none\"\n onChange2={(v, last) => {\n (this.state.value as Vector3 | Vector4).z = v\n this.setValue(this.state.value, last) // todo: does need refresh?\n }}\n />)\n ret.push(z)\n }\n if(this.state.components>3) {\n const z = (\n <ExtendedNumericInput\n style={{maxWidth: \"8rem\", minWidth: \"2rem\"}}\n // defaultValue={state}\n disabled={this.state.disabled} readOnly={this.state.readOnly}\n value={(this.state.value as Vector4).w}\n key={this.props.config.uuid + '_w'}\n leftIcon={wIcon3}\n ref={this._inputs[3]}\n min={this.state.min} max={this.state.max} stepSize={this.state.step}\n minorStepSize={this.state.step / 10}\n majorStepSize={this.state.step * 10}\n buttonPosition=\"none\"\n onChange2={(v, last) => {\n (this.state.value as Vector4).w = v\n this.setValue(this.state.value, last) // todo: does need refresh?\n }}\n />)\n ret.push(z)\n }\n return ret\n }\n}\n","import React from \"react\";\nimport {Class, PartialRecord} from \"ts-browser-helpers\";\nimport {BPComponentProps, BPComponentState, UiConfigRendererContext} from \"./bpComponents/BPComponent\";\nimport {BPFolderComponent, FolderHeadCard} from \"./bpComponents/BPFolderComponent\";\nimport {BPTextInputComponent} from \"./bpComponents/BPTextInputComponent\";\nimport {BPNumberInputComponent} from \"./bpComponents/BPNumberInputComponent\";\nimport {BPButtonComponent} from \"./bpComponents/BPButtonComponent\";\nimport {BPToggleInputComponent} from \"./bpComponents/BPToggleInputComponent\";\nimport {BPSliderInputComponent} from \"./bpComponents/BPSliderInputComponent\";\nimport {BPDropdownInputComponent} from \"./bpComponents/BPDropdownInputComponent\";\nimport {PanelActions} from \"@blueprintjs/core/lib/esm/components/panel-stack2/panelTypes\";\nimport {BPPanelComponent} from \"./bpComponents/BPPanelComponent\";\nimport {BPTreeFolderComponent} from \"./bpComponents/BPTreeFolderComponent\";\nimport {UiObjectConfig} from 'uiconfig.js'\nimport {BPColorInputComponent} from './bpComponents/BPColorInputComponent'\nimport {BPFileComponent} from \"./bpComponents/BPFileComponent\";\nimport {BPVectorInputComponent} from './bpComponents/BPVectorInputComponent'\n// import {BPVectorInputComponent} from \"./bpComponents/BPVectorInputComponent\";\n// import {BPFileComponent} from \"./bpComponents/BPFileComponent\";\n// import {BPColorInputComponent} from \"./bpComponents/BPColorInputComponent\";\n// import {BPHierarchyComponent} from \"./bpComponents/BPHierarchyComponent\";\n\nexport type UiConfigTypes = 'input' | 'button' | 'folder' | 'checkbox' | 'toggle' |\n 'dropdown' | 'slider' | 'color' | 'image' | 'number' | 'panel' | 'tree' | 'hierarchy' |\n 'vec' | 'vec2' | 'vec3' | 'vec4' | 'monitor'\n\nexport interface ConfigProps extends PanelActions {\n config: UiObjectConfig;\n isPanel?: boolean,\n level?: number,\n}\n\nexport const ConfigObjectGenerators: PartialRecord<UiConfigTypes, Class<React.Component<BPComponentProps<any>, BPComponentState>>> = {\n input: BPTextInputComponent,\n number: BPNumberInputComponent,\n button: BPButtonComponent,\n // folder: BPPanelComponent,\n folder: BPFolderComponent,\n panel: BPPanelComponent,\n // folder: bpPopFolderGenerator,\n checkbox: BPToggleInputComponent,\n toggle: BPToggleInputComponent,\n dropdown: BPDropdownInputComponent,\n slider: BPSliderInputComponent,\n tree: BPTreeFolderComponent,\n color: BPColorInputComponent,\n image: BPFileComponent,\n vec: BPVectorInputComponent,\n vec2: BPVectorInputComponent,\n vec3: BPVectorInputComponent,\n vec4: BPVectorInputComponent,\n // hierarchy: BPHierarchyComponent,\n}\n\nexport class ConfigObject extends React.Component<ConfigProps, {}> {\n static contextType = UiConfigRendererContext\n declare context: React.ContextType<typeof UiConfigRendererContext>\n state = {}\n\n render() {\n this.context.methods.initUiConfig(this.props.config)\n if (!this.props.config.type) return (<div key={this.props.config.uuid}></div>)\n let type = this.props.config.type as any as UiConfigTypes\n const val = this.context.methods.getValue(this.props.config)\n\n // hacks\n if (type === 'input' && typeof val === 'number') this.props.config.type = type = 'number'\n if (type === 'input' && typeof val === 'boolean') this.props.config.type = type = 'toggle'\n if (type === 'monitor') {\n this.props.config.type = type = 'input'\n this.props.config.readOnly = true\n }\n if (val && type === 'input' && typeof (val as any).x === 'number') this.props.config.type = type = 'vec'\n\n let BPComp = ConfigObjectGenerators[type]\n if (type === 'panel' && !this.props.isPanel) {\n const label = this.context.methods.getLabel(this.props.config)\n return (\n <div key={this.props.config.uuid}>\n <FolderHeadCard label={label} minimal={false} open={false} onClick={() => {\n this.props.openPanel<{ config: UiObjectConfig<any> }>({\n props: {config: this.props.config},\n title: label,\n renderPanel: props => {\n if (BPComp)\n return (<BPComp {...props}/>)\n else return <></>\n }\n })\n }}/>\n </div>\n )\n }\n if (BPComp) {\n return (<div key={this.props.config.uuid}><BPComp {...{...this.props, isPanel: undefined}} /></div>)\n }\n return (<div key={this.props.config.uuid}>Unknown type: {this.props.config.type}</div>)\n\n // let uiRef: React.FC | BPUiRef<any> | null = this.props.uiConfig.uiRef\n // if (uiRef) {\n // if (typeof uiRef === 'function') {\n // const FC = uiRef\n // return (<li key={this.props.uiConfig.uuid}><FC/></li>)\n // }\n // const FC = uiRef.FC\n // return (<li key={this.props.uiConfig.uuid}><FC defaultState={this.state} onChange={(s)=>{this.setState({...this.state, ...s})}}/></li>)\n // }\n // if (!this.props.uiConfig.type) return (<li key={v4()}></li>)\n // if (!this.props.uiConfig.uuid) this.props.uiConfig.uuid = v4()\n // const g = ConfigObjectGenerators[this.props.uiConfig.type as any as UiConfigTypes]\n // // console.log(props.uiConfig)\n // if (!g) return <li key={this.props.uiConfig.uuid}></li>\n // this.props.uiConfig.uiRefresh = (mode, deep, delay) => {\n // console.log('refresh', mode, deep, delay) // todo handle mode, deep, delay\n // const _uiRef: React.FC | BPUiRef<any> | null = g(this.props.uiConfig)\n // this.props.uiConfig.uiRef = _uiRef\n // if (typeof _uiRef !== 'function') {\n // this.setState(_uiRef.state)\n // }\n // }\n // uiRef = g(this.props.uiConfig)\n // this.props.uiConfig.uiRef = uiRef\n // if (typeof uiRef !== 'function') {\n // this.state = {...uiRef.state}\n // }\n // if (uiRef) {\n // if (typeof uiRef === 'function')\n // return (<li key={this.props.uiConfig.uuid}>{uiRef({})}</li>)\n // return (<li key={this.props.uiConfig.uuid}>{uiRef.FC({\n // defaultState: this.state, onChange: (s) => {\n // this.setState(s)\n // }\n // })}</li>)\n // }\n // return (<li key={v4()}>Error rendering ConfigObject</li>)\n }\n}\n","/*\n * Copyright 2018 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// tslint:disable:object-literal-sort-keys\nexport const Elevation = {\n ZERO: 0 as const,\n ONE: 1 as const,\n TWO: 2 as const,\n THREE: 3 as const,\n FOUR: 4 as const,\n};\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport type Elevation = (typeof Elevation)[keyof typeof Elevation];\n","/*\n * Copyright 2015 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// tslint:disable:object-literal-sort-keys\n\n/**\n * The four basic intents.\n */\nexport const Intent = {\n NONE: \"none\" as const,\n PRIMARY: \"primary\" as const,\n SUCCESS: \"success\" as const,\n WARNING: \"warning\" as const,\n DANGER: \"danger\" as const,\n};\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport type Intent = (typeof Intent)[keyof typeof Intent];\n","/*\n * Copyright 2015 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Alignment } from \"./alignment\";\nimport { Elevation } from \"./elevation\";\nimport { Intent } from \"./intent\";\nimport { Position } from \"./position\";\n\n// injected by webpack.DefinePlugin\ndeclare let BLUEPRINT_NAMESPACE: string | undefined;\ndeclare let REACT_APP_BLUEPRINT_NAMESPACE: string | undefined;\n\nlet NS = \"bp5\";\n\nif (typeof BLUEPRINT_NAMESPACE !== \"undefined\") {\n NS = BLUEPRINT_NAMESPACE;\n} else if (typeof REACT_APP_BLUEPRINT_NAMESPACE !== \"undefined\") {\n NS = REACT_APP_BLUEPRINT_NAMESPACE;\n}\n\n// modifiers\nexport const ACTIVE = `${NS}-active`;\nexport const ALIGN_LEFT = `${NS}-align-left`;\nexport const ALIGN_RIGHT = `${NS}-align-right`;\nexport const COMPACT = `${NS}-compact`;\nexport const DARK = `${NS}-dark`;\nexport const DISABLED = `${NS}-disabled`;\nexport const FILL = `${NS}-fill`;\nexport const FIXED = `${NS}-fixed`;\nexport const FIXED_TOP = `${NS}-fixed-top`;\nexport const INLINE = `${NS}-inline`;\nexport const INTERACTIVE = `${NS}-interactive`;\nexport const LARGE = `${NS}-large`;\nexport const LOADING = `${NS}-loading`;\nexport const MINIMAL = `${NS}-minimal`;\nexport const OUTLINED = `${NS}-outlined`;\nexport const PADDED = `${NS}-padded`;\nexport const MULTILINE = `${NS}-multiline`;\nexport const READ_ONLY = `${NS}-read-only`;\nexport const ROUND = `${NS}-round`;\nexport const SELECTED = `${NS}-selected`;\nexport const SMALL = `${NS}-small`;\nexport const VERTICAL = `${NS}-vertical`;\nexport const POSITION_TOP = positionClass(Position.TOP);\nexport const POSITION_BOTTOM = positionClass(Position.BOTTOM);\nexport const POSITION_LEFT = positionClass(Position.LEFT);\nexport const POSITION_RIGHT = positionClass(Position.RIGHT);\n\nexport const ELEVATION_0 = elevationClass(Elevation.ZERO);\nexport const ELEVATION_1 = elevationClass(Elevation.ONE);\nexport const ELEVATION_2 = elevationClass(Elevation.TWO);\nexport const ELEVATION_3 = elevationClass(Elevation.THREE);\nexport const ELEVATION_4 = elevationClass(Elevation.FOUR);\n\nexport const INTENT_PRIMARY = intentClass(Intent.PRIMARY)!;\nexport const INTENT_SUCCESS = intentClass(Intent.SUCCESS)!;\nexport const INTENT_WARNING = intentClass(Intent.WARNING)!;\nexport const INTENT_DANGER = intentClass(Intent.DANGER)!;\n\nexport const FOCUS_DISABLED = `${NS}-focus-disabled`;\nexport const FOCUS_STYLE_MANAGER_IGNORE = `${NS}-focus-style-manager-ignore`;\n\n// text utilities\nexport const UI_TEXT = `${NS}-ui-text`;\nexport const RUNNING_TEXT = `${NS}-running-text`;\nexport const MONOSPACE_TEXT = `${NS}-monospace-text`;\nexport const TEXT_LARGE = `${NS}-text-large`;\nexport const TEXT_SMALL = `${NS}-text-small`;\nexport const TEXT_MUTED = `${NS}-text-muted`;\nexport const TEXT_DISABLED = `${NS}-text-disabled`;\nexport const TEXT_OVERFLOW_ELLIPSIS = `${NS}-text-overflow-ellipsis`;\n\n// textual elements\nexport const BLOCKQUOTE = `${NS}-blockquote`;\nexport const CODE = `${NS}-code`;\nexport const CODE_BLOCK = `${NS}-code-block`;\nexport const HEADING = `${NS}-heading`;\nexport const LIST = `${NS}-list`;\nexport const LIST_UNSTYLED = `${NS}-list-unstyled`;\nexport const RTL = `${NS}-rtl`;\n\n// components\nexport const ALERT = `${NS}-alert`;\nexport const ALERT_BODY = `${ALERT}-body`;\nexport const ALERT_CONTENTS = `${ALERT}-contents`;\nexport const ALERT_FOOTER = `${ALERT}-footer`;\n\nexport const BREADCRUMB = `${NS}-breadcrumb`;\nexport const BREADCRUMB_CURRENT = `${BREADCRUMB}-current`;\nexport const BREADCRUMBS = `${BREADCRUMB}s`;\nexport const BREADCRUMBS_COLLAPSED = `${BREADCRUMB}s-collapsed`;\n\nexport const BUTTON = `${NS}-button`;\nexport const BUTTON_GROUP = `${BUTTON}-group`;\nexport const BUTTON_SPINNER = `${BUTTON}-spinner`;\nexport const BUTTON_TEXT = `${BUTTON}-text`;\n\nexport const CALLOUT = `${NS}-callout`;\nexport const CALLOUT_HAS_BODY_CONTENT = `${CALLOUT}-has-body-content`;\nexport const CALLOUT_ICON = `${CALLOUT}-icon`;\n\nexport const CARD = `${NS}-card`;\nexport const CONTROL_CARD = `${NS}-control-card`;\nexport const CONTROL_CARD_LABEL = `${CONTROL_CARD}-label`;\nexport const SWITCH_CONTROL_CARD = `${NS}-switch-control-card`;\nexport const CHECKBOX_CONTROL_CARD = `${NS}-checkbox-control-card`;\nexport const RADIO_CONTROL_CARD = `${NS}-radio-control-card`;\n\nexport const CARD_LIST = `${NS}-card-list`;\nexport const CARD_LIST_BORDERED = `${CARD_LIST}-bordered`;\n\nexport const COLLAPSE = `${NS}-collapse`;\nexport const COLLAPSE_BODY = `${COLLAPSE}-body`;\n\nexport const CONTEXT_MENU = `${NS}-context-menu`;\nexport const CONTEXT_MENU_VIRTUAL_TARGET = `${CONTEXT_MENU}-virtual-target`;\nexport const CONTEXT_MENU_POPOVER = `${CONTEXT_MENU}-popover`;\nexport const CONTEXT_MENU_BACKDROP = `${CONTEXT_MENU}-backdrop`;\n\nexport const CONTROL_GROUP = `${NS}-control-group`;\n\nexport const DIALOG = `${NS}-dialog`;\nexport const DIALOG_CONTAINER = `${DIALOG}-container`;\nexport const DIALOG_HEADER = `${DIALOG}-header`;\nexport const DIALOG_BODY = `${DIALOG}-body`;\nexport const DIALOG_BODY_SCROLL_CONTAINER = `${DIALOG}-body-scroll-container`;\nexport const DIALOG_CLOSE_BUTTON = `${DIALOG}-close-button`;\nexport const DIALOG_FOOTER = `${DIALOG}-footer`;\nexport const DIALOG_FOOTER_FIXED = `${DIALOG}-footer-fixed`;\nexport const DIALOG_FOOTER_MAIN_SECTION = `${DIALOG}-footer-main-section`;\nexport const DIALOG_FOOTER_ACTIONS = `${DIALOG}-footer-actions`;\n\nexport const DIALOG_STEP = `${NS}-dialog-step`;\nexport const DIALOG_STEP_CONTAINER = `${DIALOG_STEP}-container`;\nexport const DIALOG_STEP_TITLE = `${DIALOG_STEP}-title`;\nexport const DIALOG_STEP_ICON = `${DIALOG_STEP}-icon`;\nexport const DIALOG_STEP_VIEWED = `${DIALOG_STEP}-viewed`;\n\nexport const DIVIDER = `${NS}-divider`;\n\nexport const DRAWER = `${NS}-drawer`;\nexport const DRAWER_BODY = `${DRAWER}-body`;\nexport const DRAWER_FOOTER = `${DRAWER}-footer`;\nexport const DRAWER_HEADER = `${DRAWER}-header`;\n\nexport const EDITABLE_TEXT = `${NS}-editable-text`;\nexport const EDITABLE_TEXT_CONTENT = `${EDITABLE_TEXT}-content`;\nexport const EDITABLE_TEXT_EDITING = `${EDITABLE_TEXT}-editing`;\nexport const EDITABLE_TEXT_INPUT = `${EDITABLE_TEXT}-input`;\nexport const EDITABLE_TEXT_PLACEHOLDER = `${EDITABLE_TEXT}-placeholder`;\n\nexport const FLEX_EXPANDER = `${NS}-flex-expander`;\n\nexport const HTML_SELECT = `${NS}-html-select`;\n/** @deprecated use `<HTMLSelect>` component or `Classes.HTML_SELECT` instead */\nexport const SELECT = `${NS}-select`;\n\nexport const HTML_TABLE = `${NS}-html-table`;\nexport const HTML_TABLE_BORDERED = `${HTML_TABLE}-bordered`;\nexport const HTML_TABLE_STRIPED = `${HTML_TABLE}-striped`;\n\nexport const INPUT = `${NS}-input`;\nexport const INPUT_GHOST = `${INPUT}-ghost`;\nexport const INPUT_GROUP = `${INPUT}-group`;\nexport const INPUT_LEFT_CONTAINER = `${INPUT}-left-container`;\nexport const INPUT_ACTION = `${INPUT}-action`;\n\nexport const RESIZABLE_INPUT_SPAN = `${NS}-resizable-input-span`;\n\nexport const TEXT_AREA = `${NS}-text-area`;\nexport const TEXT_AREA_AUTO_RESIZE = `${TEXT_AREA}-auto-resize`;\n\nexport const CONTROL = `${NS}-control`;\nexport const CONTROL_INDICATOR = `${CONTROL}-indicator`;\nexport const CONTROL_INDICATOR_CHILD = `${CONTROL_INDICATOR}-child`;\nexport const CHECKBOX = `${NS}-checkbox`;\nexport const RADIO = `${NS}-radio`;\nexport const RADIO_GROUP = `${NS}-radio-group`;\nexport const SWITCH = `${NS}-switch`;\nexport const SWITCH_INNER_TEXT = `${SWITCH}-inner-text`;\nexport const FILE_INPUT = `${NS}-file-input`;\nexport const FILE_INPUT_HAS_SELECTION = `${NS}-file-input-has-selection`;\nexport const FILE_UPLOAD_INPUT = `${NS}-file-upload-input`;\nexport const FILE_UPLOAD_INPUT_CUSTOM_TEXT = `${NS}-file-upload-input-custom-text`;\n\nexport const KEY = `${NS}-key`;\nexport const KEY_COMBO = `${KEY}-combo`;\nexport const MODIFIER_KEY = `${NS}-modifier-key`;\n\nexport const HOTKEY = `${NS}-hotkey`;\nexport const HOTKEY_LABEL = `${HOTKEY}-label`;\nexport const HOTKEY_COLUMN = `${HOTKEY}-column`;\nexport const HOTKEY_DIALOG = `${HOTKEY}-dialog`;\n\nexport const LABEL = `${NS}-label`;\nexport const FORM_GROUP = `${NS}-form-group`;\nexport const FORM_CONTENT = `${NS}-form-content`;\nexport const FORM_HELPER_TEXT = `${NS}-form-helper-text`;\nexport const FORM_GROUP_SUB_LABEL = `${NS}-form-group-sub-label`;\n\nexport const MENU = `${NS}-menu`;\nexport const MENU_ITEM = `${MENU}-item`;\nexport const MENU_ITEM_IS_SELECTABLE = `${MENU_ITEM}-is-selectable`;\nexport const MENU_ITEM_SELECTED_ICON = `${MENU_ITEM}-selected-icon`;\nexport const MENU_ITEM_ICON = `${MENU_ITEM}-icon`;\nexport const MENU_ITEM_LABEL = `${MENU_ITEM}-label`;\nexport const MENU_SUBMENU = `${NS}-submenu`;\nexport const MENU_SUBMENU_ICON = `${MENU_SUBMENU}-icon`;\nexport const MENU_DIVIDER = `${MENU}-divider`;\nexport const MENU_HEADER = `${MENU}-header`;\n\nexport const MULTISTEP_DIALOG = `${NS}-multistep-dialog`;\nexport const MULTISTEP_DIALOG_PANELS = `${MULTISTEP_DIALOG}-panels`;\nexport const MULTISTEP_DIALOG_LEFT_PANEL = `${MULTISTEP_DIALOG}-left-panel`;\nexport const MULTISTEP_DIALOG_RIGHT_PANEL = `${MULTISTEP_DIALOG}-right-panel`;\nexport const MULTISTEP_DIALOG_NAV_TOP = `${MULTISTEP_DIALOG}-nav-top`;\nexport const MULTISTEP_DIALOG_NAV_RIGHT = `${MULTISTEP_DIALOG}-nav-right`;\n\nexport const SECTION = `${NS}-section`;\nexport const SECTION_COLLAPSED = `${SECTION}-collapsed`;\nexport const SECTION_HEADER = `${SECTION}-header`;\nexport const SECTION_HEADER_LEFT = `${SECTION_HEADER}-left`;\nexport const SECTION_HEADER_TITLE = `${SECTION_HEADER}-title`;\nexport const SECTION_HEADER_SUB_TITLE = `${SECTION_HEADER}-sub-title`;\nexport const SECTION_HEADER_DIVIDER = `${SECTION_HEADER}-divider`;\nexport const SECTION_HEADER_TABS = `${SECTION_HEADER}-tabs`;\nexport const SECTION_HEADER_RIGHT = `${SECTION_HEADER}-right`;\nexport const SECTION_CARD = `${SECTION}-card`;\n\nexport const NAVBAR = `${NS}-navbar`;\nexport const NAVBAR_GROUP = `${NAVBAR}-group`;\nexport const NAVBAR_HEADING = `${NAVBAR}-heading`;\nexport const NAVBAR_DIVIDER = `${NAVBAR}-divider`;\n\nexport const NON_IDEAL_STATE = `${NS}-non-ideal-state`;\nexport const NON_IDEAL_STATE_VISUAL = `${NON_IDEAL_STATE}-visual`;\nexport const NON_IDEAL_STATE_TEXT = `${NON_IDEAL_STATE}-text`;\n\nexport const NUMERIC_INPUT = `${NS}-numeric-input`;\n\nexport const OVERFLOW_LIST = `${NS}-overflow-list`;\nexport const OVERFLOW_LIST_SPACER = `${OVERFLOW_LIST}-spacer`;\n\nexport const OVERLAY = `${NS}-overlay`;\nexport const OVERLAY_BACKDROP = `${OVERLAY}-backdrop`;\nexport const OVERLAY_CONTAINER = `${OVERLAY}-container`;\nexport const OVERLAY_CONTENT = `${OVERLAY}-content`;\nexport const OVERLAY_INLINE = `${OVERLAY}-inline`;\nexport const OVERLAY_OPEN = `${OVERLAY}-open`;\nexport const OVERLAY_SCROLL_CONTAINER = `${OVERLAY}-scroll-container`;\nexport const OVERLAY_START_FOCUS_TRAP = `${OVERLAY}-start-focus-trap`;\nexport const OVERLAY_END_FOCUS_TRAP = `${OVERLAY}-end-focus-trap`;\n\nexport const PANEL_STACK = `${NS}-panel-stack`;\nexport const PANEL_STACK_HEADER = `${PANEL_STACK}-header`;\nexport const PANEL_STACK_HEADER_BACK = `${PANEL_STACK}-header-back`;\nexport const PANEL_STACK_VIEW = `${PANEL_STACK}-view`;\n\nexport const PANEL_STACK2 = `${NS}-panel-stack2`;\nexport const PANEL_STACK2_HEADER = `${PANEL_STACK}-header`;\nexport const PANEL_STACK2_HEADER_BACK = `${PANEL_STACK}-header-back`;\nexport const PANEL_STACK2_VIEW = `${PANEL_STACK}-view`;\n\nexport const POPOVER = `${NS}-popover`;\nexport const POPOVER_ARROW = `${POPOVER}-arrow`;\nexport const POPOVER_BACKDROP = `${POPOVER}-backdrop`;\nexport const POPOVER_CAPTURING_DISMISS = `${POPOVER}-capturing-dismiss`;\nexport const POPOVER_CONTENT = `${POPOVER}-content`;\nexport const POPOVER_CONTENT_PLACEMENT = `${POPOVER}-placement`;\nexport const POPOVER_CONTENT_SIZING = `${POPOVER_CONTENT}-sizing`;\nexport const POPOVER_DISMISS = `${POPOVER}-dismiss`;\nexport const POPOVER_DISMISS_OVERRIDE = `${POPOVER_DISMISS}-override`;\nexport const POPOVER_MATCH_TARGET_WIDTH = `${POPOVER}-match-target-width`;\nexport const POPOVER_OPEN = `${POPOVER}-open`;\nexport const POPOVER_POPPER_ESCAPED = `${POPOVER}-popper-escaped`;\nexport const POPOVER_REFERENCE_HIDDEN = `${POPOVER}-reference-hidden`;\nexport const POPOVER_TARGET = `${POPOVER}-target`;\nexport const POPOVER_TRANSITION_CONTAINER = `${POPOVER}-transition-container`;\n/** @deprecated, no longer used in Blueprint v5.x */\nexport const POPOVER_WRAPPER = `${POPOVER}-wrapper`;\n\nexport const PROGRESS_BAR = `${NS}-progress-bar`;\nexport const PROGRESS_METER = `${NS}-progress-meter`;\nexport const PROGRESS_NO_STRIPES = `${NS}-no-stripes`;\nexport const PROGRESS_NO_ANIMATION = `${NS}-no-animation`;\n\nexport const PORTAL = `${NS}-portal`;\n\nexport const SKELETON = `${NS}-skeleton`;\n\nexport const SLIDER = `${NS}-slider`;\nexport const SLIDER_AXIS = `${SLIDER}-axis`;\nexport const SLIDER_HANDLE = `${SLIDER}-handle`;\nexport const SLIDER_LABEL = `${SLIDER}-label`;\nexport const SLIDER_TRACK = `${SLIDER}-track`;\nexport const SLIDER_PROGRESS = `${SLIDER}-progress`;\nexport const START = `${NS}-start`;\nexport const END = `${NS}-end`;\n\nexport const SPINNER = `${NS}-spinner`;\nexport const SPINNER_ANIMATION = `${SPINNER}-animation`;\nexport const SPINNER_HEAD = `${SPINNER}-head`;\nexport const SPINNER_NO_SPIN = `${NS}-no-spin`;\nexport const SPINNER_TRACK = `${SPINNER}-track`;\n\nexport const SEGMENTED_CONTROL = `${NS}-segmented-control`;\n\nexport const TAB = `${NS}-tab`;\nexport const TAB_ICON = `${TAB}-icon`;\nexport const TAB_TAG = `${TAB}-tag`;\nexport const TAB_INDICATOR = `${TAB}-indicator`;\nexport const TAB_INDICATOR_WRAPPER = `${TAB_INDICATOR}-wrapper`;\nexport const TAB_LIST = `${TAB}-list`;\nexport const TAB_PANEL = `${TAB}-panel`;\nexport const TABS = `${TAB}s`;\n\nexport const TAG = `${NS}-tag`;\nexport const TAG_REMOVE = `${TAG}-remove`;\n\nexport const TAG_INPUT = `${NS}-tag-input`;\nexport const TAG_INPUT_ICON = `${TAG_INPUT}-icon`;\nexport const TAG_INPUT_VALUES = `${TAG_INPUT}-values`;\n\nexport const TOAST = `${NS}-toast`;\nexport const TOAST_CONTAINER = `${TOAST}-container`;\nexport const TOAST_MESSAGE = `${TOAST}-message`;\n\nexport const TOOLTIP = `${NS}-tooltip`;\nexport const TOOLTIP_INDICATOR = `${TOOLTIP}-indicator`;\n\nexport const TREE = `${NS}-tree`;\nexport const TREE_NODE = `${NS}-tree-node`;\nexport const TREE_NODE_CARET = `${TREE_NODE}-caret`;\nexport const TREE_NODE_CARET_CLOSED = `${TREE_NODE_CARET}-closed`;\nexport const TREE_NODE_CARET_NONE = `${TREE_NODE_CARET}-none`;\nexport const TREE_NODE_CARET_OPEN = `${TREE_NODE_CARET}-open`;\nexport const TREE_NODE_CONTENT = `${TREE_NODE}-content`;\nexport const TREE_NODE_EXPANDED = `${TREE_NODE}-expanded`;\nexport const TREE_NODE_ICON = `${TREE_NODE}-icon`;\nexport const TREE_NODE_LABEL = `${TREE_NODE}-label`;\nexport const TREE_NODE_LIST = `${TREE_NODE}-list`;\nexport const TREE_NODE_SECONDARY_LABEL = `${TREE_NODE}-secondary-label`;\nexport const TREE_NODE_SELECTED = `${TREE_NODE}-selected`;\nexport const TREE_ROOT = `${NS}-tree-root`;\n\nexport const ICON = `${NS}-icon`;\nexport const ICON_STANDARD = `${ICON}-standard`;\nexport const ICON_LARGE = `${ICON}-large`;\n\n/**\n * Returns the namespace prefix for all Blueprint CSS classes.\n * Customize this namespace at build time by defining it with `webpack.DefinePlugin`.\n */\nexport function getClassNamespace() {\n return NS;\n}\n\n/** Return CSS class for alignment. */\nexport function alignmentClass(alignment: Alignment | undefined) {\n switch (alignment) {\n case Alignment.LEFT:\n return ALIGN_LEFT;\n case Alignment.RIGHT:\n return ALIGN_RIGHT;\n default:\n return undefined;\n }\n}\n\nexport function elevationClass(elevation: Elevation): string;\nexport function elevationClass(elevation: undefined): undefined;\nexport function elevationClass(elevation: Elevation | undefined): string | undefined;\nexport function elevationClass(elevation: Elevation | undefined) {\n if (elevation === undefined) {\n return undefined;\n }\n return `${NS}-elevation-${elevation}`;\n}\n\n/**\n * Returns CSS class for icon name.\n */\nexport function iconClass(iconName: string): string;\nexport function iconClass(iconName: undefined): undefined;\nexport function iconClass(iconName: string | undefined): string | undefined;\nexport function iconClass(iconName: string | undefined) {\n if (iconName == null) {\n return undefined;\n }\n return iconName.indexOf(`${NS}-icon-`) === 0 ? iconName : `${NS}-icon-${iconName}`;\n}\n\n/** Return CSS class for intent. */\nexport function intentClass(intent: Intent): string;\nexport function intentClass(intent: typeof Intent.NONE | undefined): undefined;\nexport function intentClass(intent: Intent | undefined): Intent | undefined;\nexport function intentClass(intent: Intent | undefined) {\n if (intent == null || intent === Intent.NONE) {\n return undefined;\n }\n return `${NS}-intent-${intent.toLowerCase()}`;\n}\n\nexport function positionClass(position: Position): string;\nexport function positionClass(position: undefined): undefined;\nexport function positionClass(position: Position | undefined): string | undefined;\nexport function positionClass(position: Position | undefined) {\n if (position === undefined) {\n return undefined;\n }\n return `${NS}-position-${position}`;\n}\n","import React from 'react'\nimport {Menu, MenuItem} from '@blueprintjs/core'\nimport {Classes} from '@blueprintjs/core/src/common'\n\nexport const defaultVisualStyle = {\n darkMode: true,\n setDarkMode: (_: boolean) => {},\n themes: {\n // https://github.com/pnnl/blueprint-styler/blob/9a2f5461f6e8682f829bd9e1722c5c4c051f7c0f/src/styles/style-manifest.ts#L12\n 'bpx-default': { label: 'Blueprint Default', link: 'https://blueprintjs.com/docs/#blueprint' },\n 'bpx-bpv3': { label: 'Blueprint v3', link: 'https://blueprintjs.com/docs/versions/3/' },\n 'bpx-flat': { label: 'Flat', link: 'https://pnnl.github.io/blueprint-styler/?style=bpx-flat' },\n 'bpx-carbon': { label: 'IBM Carbon', link: 'https://carbondesignsystem.com/components/overview/' },\n 'bpx-antd': { label: 'Ant Design', link: 'https://ant.design/components/overview/' },\n 'bpx-fluent': { label: 'Microsoft Fluent', link: 'https://fluentuipr.z22.web.core.windows.net/heads/master/theming-designer/index.html' },\n 'bpx-pnnl': { label: 'PNNL v3', link: 'https://forgedev.pnnl.gov/prc3/' },\n // 'bpx-static': { label: 'None', link: 'https://blueprintjs.com/docs/#blueprint' },\n },\n theme: 'bpx-default',\n setTheme: (_: string) => {},\n}\nexport const VisualStyleContext = React.createContext<typeof defaultVisualStyle>(defaultVisualStyle)\nexport const useVisualStyle = () => React.useContext(VisualStyleContext)\n\nconst localStoragePrefix = 'bpUi'\nconst localStorageIds = {\n 'darkMode': localStoragePrefix + 'DarkMode',\n 'theme': localStoragePrefix + 'Theme',\n}\nexport function setupVisualStyle(){\n const [darkMode, setDarkMode] = React.useState(localStorage.getItem(localStorageIds.darkMode) !== (defaultVisualStyle.darkMode ? 'false' : 'true'))\n React.useEffect(() => {\n localStorage.setItem('bpUiDarkMode', darkMode ? 'true' : 'false')\n const clas = Classes.DARK\n if(!darkMode) document.body.classList.remove(clas)\n else document.body.classList.add(clas)\n }, [darkMode])\n const [theme, setTheme] = React.useState(localStorage.getItem(localStorageIds.theme) || defaultVisualStyle.theme)\n React.useEffect(() => {\n localStorage.setItem('bpUiTheme', theme)\n document.documentElement.classList.remove(...Object.keys(defaultVisualStyle.themes).map(k => k))\n document.documentElement.classList.add(theme)\n }, [theme])\n return {darkMode, setDarkMode, theme, setTheme}\n}\n\nexport function VisualStyleProvider({children}: {children: React.ReactNode}) {\n const visualStyle = setupVisualStyle()\n return <VisualStyleContext.Provider value={{...defaultVisualStyle, ...visualStyle}}>\n {children}\n </VisualStyleContext.Provider>\n}\n\nexport function ThemeSettingsMenuComponent() {\n const visualStyle = useVisualStyle()\n return <Menu className={Classes.ELEVATION_0}>\n <MenuItem\n icon=\"contrast\"\n text=\"Color\"\n // intent={intent}\n // labelElement={\"⌘,\"}\n roleStructure=\"menuitem\"\n children={\n <>\n <MenuItem icon=\"flash\" text=\"Light Mode\"\n shouldDismissPopover={false}\n key=\"light\"\n selected={!visualStyle.darkMode}\n onClick={() => visualStyle.setDarkMode(false)}\n roleStructure=\"listoption\"/>\n <MenuItem icon=\"moon\" text=\"Dark Mode\"\n shouldDismissPopover={false}\n key=\"dark\"\n selected={visualStyle.darkMode}\n onClick={() => visualStyle.setDarkMode(true)}\n roleStructure=\"listoption\"/>\n </>\n }\n />\n <MenuItem\n icon=\"style\"\n text=\"Theme\"\n // intent={intent}\n // labelElement={\"⌘,\"}\n roleStructure=\"menuitem\"\n children={\n <>\n {Object.entries(visualStyle.themes).map(([key, value]) => (\n <MenuItem\n shouldDismissPopover={false}\n key={key}\n text={value.label}\n selected={visualStyle.theme === key}\n onClick={() => visualStyle.setTheme(key)}\n roleStructure=\"listoption\"/>\n ))}\n </>\n }\n />\n </Menu>\n}\n","import React from \"react\";\nimport {Button, Card, Panel, PanelStack2, Popover} from \"@blueprintjs/core\";\nimport {ConfigObject, ConfigProps} from \"../ConfigObject\";\nimport {UiObjectConfig} from 'uiconfig.js'\nimport {UiConfigRendererContext} from '../bpComponents/BPComponent'\nimport {Classes} from '@blueprintjs/core/src/common'\nimport {\n defaultVisualStyle,\n setupVisualStyle,\n ThemeSettingsMenuComponent,\n VisualStyleContext\n} from './VisualStyleContext'\n\n// import {ViewerAppContext} from \"./ViewerAppComponent\";\n\nexport function ConfigurationPanelComponent({config}: { config: UiObjectConfig<any, 'panel'> }) {\n const renderer = React.useContext(UiConfigRendererContext)\n const stackItem = React.useCallback(() => {\n return {\n props: {config: config},\n renderPanel(props: ConfigProps) {\n // console.log(props.config === config)\n return (\n <ul style={{listStyleType: \"none\", paddingLeft: \"0\", margin: \"0\"}}>\n {/*{v && (<ConfigObject {...props}/>)}*/}\n {config && (<ConfigObject {...props} isPanel={true}/>)}\n </ul>\n )\n },\n title: renderer.methods.getLabel(config)\n } as Panel<{ config: UiObjectConfig }>\n }, [config])\n const [currentPanelStack, setCurrentPanelStack] = React.useState<Array<Panel<{ config: UiObjectConfig }>>>([stackItem()]);\n\n React.useEffect(() => {\n setCurrentPanelStack([stackItem()])\n }, [stackItem, setCurrentPanelStack])\n\n const style = setupVisualStyle()\n\n return (\n <VisualStyleContext.Provider value={{...defaultVisualStyle, ...style}}>\n <Card id=\"bpInspectorCard\" className={style.darkMode?Classes.DARK:\"\"} style={{height: \"100%\", flexGrow: \"1\", position: \"relative\"}}>\n <PanelStack2 className=\"inspectorPanelStack\"\n showPanelHeader={true}\n renderActivePanelOnly={true}\n onOpen={(p) => setCurrentPanelStack([...currentPanelStack, p] as any)}\n onClose={() => setCurrentPanelStack(currentPanelStack.slice(0, -1))}\n stack={currentPanelStack}/>\n <div className={\"bpPanelStackHeaderOverlay \" + Classes.PANEL_STACK2_HEADER}>\n <Popover targetProps={{style: {position: \"absolute\", right: \"5px\"}}}\n minimal={true}\n targetTagName={\"div\"}\n content={\n <ThemeSettingsMenuComponent/>\n } placement=\"bottom\">\n <Button icon=\"cog\" small minimal text=\"\" />\n </Popover>\n </div>\n </Card>\n </VisualStyleContext.Provider>\n )\n}\n","import {createDiv, createStyles, css} from \"ts-browser-helpers\";\nimport {UiConfigRendererBase, UiObjectConfig} from \"uiconfig.js\";\nimport React from 'react'\nimport {createRoot, Root} from 'react-dom/client'\nimport {ConfigurationPanelComponent} from './components/ConfigurationPanelComponent'\nimport {BPComponent, UiConfigRendererContext} from './bpComponents/BPComponent'\n// @ts-ignore\nimport rendererCss from './renderer.scss?inline' // for rollup build remove ?inline\nimport {FocusStyleManager} from '@blueprintjs/core'\nimport {THREE} from \"./threejs\";\n\nexport class UiConfigRendererBlueprint extends UiConfigRendererBase<Root> {\n\n constructor(container: HTMLElement = document.body, {autoPostFrame = true} = {}) {\n super(container, autoPostFrame);\n // this._root.expanded = expanded\n\n }\n\n protected _createUiContainer(): HTMLDivElement {\n FocusStyleManager.onlyShowFocusOnTabs();\n\n const container = createDiv({id: 'blueprintUiContainer', addToBody: false})\n createStyles(css`\n :root{\n --blueprint-ui-container-width: 300px;\n }\n @media only screen and (min-width: 1500px) {\n :root{\n --blueprint-ui-container-width: 400px;\n }\n }\n @media only screen and (min-width: 2500px) {\n :root{\n --blueprint-ui-container-width: 500px;\n }\n }\n `)\n createStyles(rendererCss)\n\n this._root = createRoot(container, {\n identifierPrefix: 'bpUi',\n onRecoverableError: (error) => {\n console.warn(error)\n }\n })\n this._root.render(\n <React.StrictMode>\n <UiConfigRendererContext.Provider value={this}>\n <ConfigurationPanelComponent config={this.config}/>\n </UiConfigRendererContext.Provider>\n </React.StrictMode>\n )\n return container\n }\n\n protected _refreshUiConfigObject(config: UiObjectConfig): void {\n (config.uiRef as BPComponent<any, any>).refreshConfigState()\n }\n\n renderUiConfig(_: UiObjectConfig): void {\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n THREE: THREE|undefined = (window as any).THREE\n\n dispose() {\n // todo\n }\n\n}\n","import {UiConfigRendererBlueprint} from \"./UiConfigRendererBlueprint\";\n\nclass UI extends UiConfigRendererBlueprint{\n\n}\n\nexport {UiConfigRendererBlueprint, UI};\n\n"],"names":["l","n","p","q","r","t","u","v","w","x","y","z","A","a","B","C","D","E","b","e","F","G","H","I","J","K","L","M","d","c","k","h","g","f","m","N","O","escape","P","Q","R","S","T","U","V","W","react_production_min","reactModule","require$$0","reactJsxRuntime_production_min","jsxRuntimeModule","createDiv","innerHTML","id","classList","addToBody","elementTag","elem","createStyles","styles","root","styleSheet","css","strings","rest","getPropertyDescriptor","obj","prop","desc","isPropertyWritable","object","allowWritable","allowAny","safeSetProperty","value","getOrCall","s","args","uuidV4","ho","data","view","SimpleEventDispatcher","type","listener","listeners","listenerArray","index","event","array","timeout","duration","resolve","now","getRandomValues","rnds8","rng","byteToHex","i","unsafeStringify","arr","offset","randomUUID","native","v4","options","buf","rnds","__awaiter","thisArg","_arguments","generator","adopt","reject","fulfilled","step","rejected","result","UiConfigMethods","_renderer","config","path","path1","tar","key","props","_a","_b","_c","changeArgs","forceOnChange","lastValue","binding","action","run","dispatchMode","UiConfigRendererBase","container","autoFrameEvents","methods","uiContainer","fn","mode","l2","delta","delay","uuid","old","params","deep","performDispose","uiConfig","list","uiC","v1","exports","schedulerModule","aa","ca","require$$1","da","ea","fa","ha","ia","ja","ka","la","ma","oa","pa","qa","ra","sa","ta","ua","va","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","Pa","Qa","Ra","Sa","Ta","Ua","Va","Wa","Xa","Ya","Za","ab","bb","cb","db","eb","fb","gb","hb","ib","jb","kb","lb","mb","nb","ob","pb","qb","rb","sb","tb","ub","vb","wb","xb","yb","zb","Ab","Bb","Cb","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","Ob","Pb","Qb","Rb","Sb","Tb","Ub","Vb","Wb","Xb","Yb","Zb","$b","ac","bc","cc","dc","ec","fc","gc","hc","ic","jc","kc","lc","mc","oc","nc","pc","qc","rc","sc","tc","uc","vc","wc","xc","yc","zc","Ac","Bc","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","Rc","Sc","Tc","Uc","Vc","Wc","Xc","Yc","Zc","$c","ad","bd","cd","dd","ed","fd","gd","hd","jd","kd","ld","md","nd","od","pd","qd","rd","sd","td","ud","vd","wd","xd","yd","Ad","zd","Bd","Cd","Dd","Ed","Fd","Gd","Hd","Id","Jd","Kd","Ld","Md","Nd","Od","Pd","Qd","Rd","Sd","Td","Ud","Vd","Wd","Xd","Yd","Zd","$d","ae","be","ce","de","ee","fe","ge","he","ie","je","ke","le","me","ne","oe","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","Ae","Be","Ce","De","Ee","Fe","Ge","He","Ie","Je","Ke","Le","Me","Ne","Oe","Pe","Qe","Re","Se","Te","Ue","Ve","We","Xe","Ye","Ze","$e","af","bf","cf","df","ef","ff","gf","hf","jf","kf","lf","mf","nf","of","pf","qf","rf","sf","tf","uf","vf","wf","na","xa","$a","ba","xf","yf","zf","Af","Bf","Cf","Df","Ef","Ff","Gf","Hf","Jf","If","Kf","Lf","Mf","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","Vf","Wf","Xf","Yf","Zf","$f","ag","bg","cg","dg","eg","fg","gg","hg","ig","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","zg","Ag","Bg","Cg","Dg","Eg","Fg","Gg","Hg","Ig","Jg","Kg","Lg","Mg","Ng","Og","Pg","Qg","Rg","Sg","Tg","Ug","Vg","Wg","Xg","Yg","Zg","$g","ah","bh","ch","dh","eh","fh","gh","hh","ih","jh","kh","nh","lh","mh","oh","ph","qh","rh","sh","th","uh","vh","wh","xh","yh","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","Nh","Oh","Ph","Qh","Rh","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","di","ei","fi","gi","hi","ii","ji","ki","li","mi","ni","pi","qi","ri","si","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","Ci","Di","Ei","Fi","Gi","Hi","Ii","Ji","Ki","Li","Mi","Ni","Oi","Pi","Qi","Ri","Si","Ti","Ui","Vi","Wi","Xi","Yi","Zi","$i","aj","bj","cj","dj","ej","fj","gj","hj","ij","jj","kj","lj","mj","nj","oj","pj","qj","rj","sj","tj","uj","vj","wj","xj","yj","zj","Aj","Bj","Cj","Dj","Ej","Fj","Gj","Hj","Ij","Jj","Kj","Lj","Mj","Nj","Oj","Pj","Qj","Rj","Sj","Tj","Uj","Vj","Wj","Xj","X","Yj","Zj","ak","bk","ck","dk","ek","fk","gk","hk","ik","jk","kk","lk","mk","nk","ok","pk","Y","Z","qk","rk","sk","tk","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","Ek","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","Pk","Qk","Rk","Sk","Tk","Uk","Vk","Wk","Xk","Yk","Zk","$k","al","bl","cl","dl","el","fl","gl","hl","il","jl","kl","ll","ml","nl","ol","pl","ql","rl","sl","tl","ul","vl","wl","reactDom_production_min","checkDCE","err","reactDomModule","createRoot","Alignment","Elevation","Intent","Position","NS","ACTIVE","ALIGN_LEFT","ALIGN_RIGHT","COMPACT","DARK","DISABLED","FILL","FIXED","INLINE","INTERACTIVE","LARGE","LOADING","MINIMAL","OUTLINED","READ_ONLY","ROUND","SELECTED","SMALL","VERTICAL","positionClass","intentClass","FOCUS_DISABLED","TEXT_MUTED","TEXT_OVERFLOW_ELLIPSIS","HEADING","BUTTON","BUTTON_GROUP","BUTTON_SPINNER","BUTTON_TEXT","CARD","COLLAPSE","COLLAPSE_BODY","CONTROL_GROUP","HTML_SELECT","INPUT","INPUT_GROUP","INPUT_LEFT_CONTAINER","INPUT_ACTION","CONTROL","CONTROL_INDICATOR","CONTROL_INDICATOR_CHILD","CHECKBOX","RADIO","SWITCH","SWITCH_INNER_TEXT","FILE_INPUT","FILE_INPUT_HAS_SELECTION","FILE_UPLOAD_INPUT","FILE_UPLOAD_INPUT_CUSTOM_TEXT","LABEL","FORM_GROUP","FORM_CONTENT","FORM_HELPER_TEXT","FORM_GROUP_SUB_LABEL","MENU","MENU_ITEM","MENU_ITEM_IS_SELECTABLE","MENU_ITEM_SELECTED_ICON","MENU_ITEM_ICON","MENU_ITEM_LABEL","MENU_SUBMENU","MENU_SUBMENU_ICON","NUMERIC_INPUT","OVERLAY","OVERLAY_BACKDROP","OVERLAY_CONTENT","OVERLAY_INLINE","OVERLAY_OPEN","OVERLAY_START_FOCUS_TRAP","OVERLAY_END_FOCUS_TRAP","PANEL_STACK","PANEL_STACK_HEADER_BACK","PANEL_STACK2","PANEL_STACK2_HEADER","PANEL_STACK2_VIEW","POPOVER","POPOVER_ARROW","POPOVER_BACKDROP","POPOVER_CAPTURING_DISMISS","POPOVER_CONTENT","POPOVER_CONTENT_PLACEMENT","POPOVER_DISMISS","POPOVER_DISMISS_OVERRIDE","POPOVER_MATCH_TARGET_WIDTH","POPOVER_OPEN","POPOVER_POPPER_ESCAPED","POPOVER_REFERENCE_HIDDEN","POPOVER_TARGET","POPOVER_TRANSITION_CONTAINER","PORTAL","SLIDER","SLIDER_AXIS","SLIDER_HANDLE","SLIDER_LABEL","SLIDER_TRACK","SLIDER_PROGRESS","START","END","SPINNER","SPINNER_ANIMATION","SPINNER_HEAD","SPINNER_NO_SPIN","SPINNER_TRACK","TOOLTIP","TREE","TREE_NODE","TREE_NODE_CARET","TREE_NODE_CARET_CLOSED","TREE_NODE_CARET_NONE","TREE_NODE_CARET_OPEN","TREE_NODE_CONTENT","TREE_NODE_EXPANDED","TREE_NODE_ICON","TREE_NODE_LABEL","TREE_NODE_LIST","TREE_NODE_SECONDARY_LABEL","TREE_NODE_SELECTED","TREE_ROOT","ICON","ICON_STANDARD","ICON_LARGE","getClassNamespace","alignmentClass","alignment","elevationClass","elevation","iconClass","iconName","intent","position","InteractionModeEngine","className","_this","fakeFocusEngine","focusEngine","FocusStyleManager","extendStatics","__extends","__","__assign","__rest","__generator","body","_","verb","op","__spreadArray","to","from","pack","ar","arraysEqual","arrA","arrB","compare","shallowCompareKeys","objA","objB","keys","shallowCompareKeysImpl","keysA","keysB","filterKeys","isAllowlist","isDenylist","keySet_1","arrayToObject","element","elementIsOrContains","testElement","getActiveElement","rootNode","clickElementOnKeyPress","isFunction","ns","CLAMP_MIN_MAX","INPUT_WARN_LEFT_ELEMENT_LEFT_ICON_MUTEX","NUMERIC_INPUT_MIN_MAX","NUMERIC_INPUT_MINOR_STEP_SIZE_BOUND","NUMERIC_INPUT_MAJOR_STEP_SIZE_BOUND","NUMERIC_INPUT_MINOR_STEP_SIZE_NON_POSITIVE","NUMERIC_INPUT_MAJOR_STEP_SIZE_NON_POSITIVE","NUMERIC_INPUT_STEP_SIZE_NON_POSITIVE","NUMERIC_INPUT_CONTROLLED_VALUE_INVALID","POPOVER_REQUIRES_TARGET","POPOVER_HAS_BACKDROP_INTERACTION","POPOVER_WARN_TOO_MANY_CHILDREN","POPOVER_WARN_DOUBLE_TARGET","POPOVER_WARN_EMPTY_CONTENT","POPOVER_WARN_HAS_BACKDROP_INLINE","POPOVER_WARN_PLACEMENT_AND_POSITION_MUTEX","POPOVER_WARN_UNCONTROLLED_ONINTERACTION","POPOVER_WARN_TARGET_PROPS_WITH_RENDER_TARGET","PORTAL_CONTEXT_CLASS_NAME_STRING","PORTAL_LEGACY_CONTEXT_API","SLIDER_ZERO_STEP","SLIDER_ZERO_LABEL_STEP","SLIDER_MIN","SLIDER_MAX","MULTISLIDER_INVALID_CHILD","MULTISLIDER_WARN_LABEL_STEP_SIZE_LABEL_VALUES_MUTEX","SPINNER_WARN_CLASSES_SIZE","isNodeEnv","env","approxEqual","tolerance","clamp","val","min","max","countDecimalPlaces","num","uniqueCountForNamespace","uniqueId","namespace","curCount","isReactNodeEmpty","node","skipArray","ensureElement","child","tagName","React.createElement","isReactElement","isElementOfType","ComponentType","isKeyboardClick","isArrowKey","isRefObject","isRefCallback","setRef","refTarget","ref","mergeRefs","refs","_i","refHandler","refTargetParent","refTargetKey","refProp","AbstractComponent","_super","timeoutId","requestId","_prevProps","_prevState","_snapshot","callback","handle","_props","React.Component","AbstractPureComponent","React.PureComponent","DISPLAYNAME_PREFIX","INVALID_PROPS","removeNonHTMLProps","invalidProps","shouldMerge","prev","curr","hasOwn","classNames","classes","arg","argType","inner","module","lowerCase","str","DEFAULT_SPLIT_REGEXP","DEFAULT_STRIP_REGEXP","noCase","input","splitRegexp","stripRegexp","transform","_d","delimiter","replace","start","end","pascalCaseTransform","firstChar","lowerChars","pascalCase","dotCase","snakeCase","IconSize","BlueprintIcons_16","IconNamesNew","IconNamesLegacy","name_1","IconNames","IconNamesSet","wrapWithTimer","taskDescription","task","shouldMeasure","time","getLoaderFn","loader","singleton","Icons","icons","size","icon","allIcons","loadedIcons","loaderFn","supportedSize","paths","e_1","SVGIconContainer","React.forwardRef","children","color","htmlTitle","svgProps","title","htmlProps","isLarge","pixelGridSize","viewBox","titleId","sharedSvgProps","Classes.ICON","CaretDown","translation","CaretRight","ChevronDown","ChevronRight","ChevronUp","Cross","DoubleCaretVertical","Search","SmallTick","Icon","autoLoad","React.useState","iconPaths","setIconPaths","React.useEffect","shouldCancelIconLoading","loadedIconPaths","reason","sizeClass","Classes.ICON_STANDARD","Classes.ICON_LARGE","Classes.iconClass","Classes.intentClass","pathElements","SpinnerSize","PATH_LENGTH","MIN_SIZE","STROKE_WIDTH","MIN_STROKE_WIDTH","Spinner","prevProps","Classes.SPINNER","Classes.SPINNER_NO_SPIN","strokeWidth","strokeOffset","Classes.SPINNER_ANIMATION","Classes.SPINNER_TRACK","Classes.SPINNER_HEAD","Classes.SMALL","Classes.LARGE","radius","viewBoxX","viewBoxWidth","Text","forwardedRef","ellipsize","contentMeasuringRef","React.useRef","textRef","React.useMemo","textContent","setTextContent","_e","isContentOverflowing","setIsContentOverflowing","React.useLayoutEffect","Classes.TEXT_OVERFLOW_ELLIPSIS","Button","commonAttributes","useSharedButtonAttributes","renderButtonContents","AnchorButton","href","tabIndex","commonProps","active","alignText","fill","large","loading","minimal","onBlur","onKeyDown","onKeyUp","outlined","small","disabled","currentKeyPressed","setCurrentKeyPressed","isActive","setIsActive","buttonRef","handleBlur","React.useCallback","handleKeyDown","Utils.isKeyboardClick","handleKeyUp","Classes.BUTTON","Classes.ACTIVE","Classes.DISABLED","Classes.FILL","Classes.LOADING","Classes.MINIMAL","Classes.OUTLINED","Classes.alignmentClass","ellipsizeText","rightIcon","text","textClassName","hasTextContent","Utils.isReactNodeEmpty","React.Fragment","Classes.BUTTON_SPINNER","Classes.BUTTON_TEXT","_extends","target","source","_objectWithoutPropertiesLoose","excluded","sourceKeys","_setPrototypeOf","o","_inheritsLoose","subClass","superClass","setPrototypeOf","hasClass","addClass","replaceClassName","origClass","classToRemove","removeClass","TransitionGroupContext","React","forceReflow","UNMOUNTED","EXITED","ENTERING","ENTERED","EXITING","Transition","_React$Component","context","parentGroup","appear","initialStatus","_ref","prevState","nextIn","_proto","nextStatus","status","exit","enter","mounting","ReactDOM","_this2","appearing","_ref2","maybeNode","maybeAppearing","timeouts","enterTimeout","_this3","nextState","_this4","handler","doesNotHaveTimeoutOrListener","_ref3","maybeNextCallback","_this$props","childProps","noop","Transition$1","_addClass","addOneClass","removeOneClass","CSSTransition","_len","_key","_this$resolveArgument","_this$resolveArgument2","_this$resolveArgument3","_this$resolveArgument4","_this$resolveArgument5","_this$resolveArgument6","isStringClassNames","prefix","baseClassName","activeClassName","doneClassName","phase","_this$getClassNames","_this$appliedClasses$","CSSTransition$1","_assertThisInitialized","self","getChildMapping","mapFn","mapper","isValidElement","Children","mergeChildMappings","next","getValueForKey","nextKeysPending","pendingKeys","prevKey","childMapping","nextKey","pendingNextKey","getProp","getInitialChildMapping","onExited","cloneElement","getNextChildMapping","nextProps","prevChildMapping","nextChildMapping","hasPrev","hasNext","prevChild","isLeaving","values","defaultProps","TransitionGroup","handleExited","firstRender","currentChildMapping","state","Component","childFactory","contextValue","TransitionGroup$1","PortalContext","React.createContext","PORTAL_LEGACY_CONTEXT_TYPES","Errors.PORTAL_CONTEXT_CLASS_NAME_STRING","Portal","legacyContext","stopPropagationEvents","onChildrenMount","React.useContext","portalContainer","portalElement","setPortalElement","createPortalElement","newPortalElement","Classes.PORTAL","maybeAddClass","addStopPropagationListeners","blueprintPortalClassName","Errors.PORTAL_LEGACY_CONTEXT_API","removeStopPropagationListeners","maybeRemoveClass","ReactDOM.createPortal","eventNames","handleStopProgation","events","Overlay","React.createRef","decoratedChild","React.cloneElement","Classes.OVERLAY_CONTENT","onOpening","onOpened","onClosing","transitionDuration","transitionName","lastFocusableElement","firstFocusableElement","backdropProps","canOutsideClickClose","enforceFocus","onClose","isOpen","eventTarget","stackIndex","isClickInThisOverlayOrDescendant","canEscapeKeyClose","hasEverOpened","autoFocus","usePortal","childrenWithTransitions","React.Children","maybeBackdrop","Classes.OVERLAY_START_FOCUS_TRAP","Classes.OVERLAY_END_FOCUS_TRAP","containerClasses","Classes.OVERLAY","Classes.OVERLAY_OPEN","Classes.OVERLAY_INLINE","transitionGroup","activeElement","isFocusOutsideModal","backdropClassName","hasBackdrop","Classes.OVERLAY_BACKDROP","focusableElements","openStack","lastOpenedOverlay","getLastOpened","Menu","ulRef","Classes.MENU","ManagerReferenceNodeContext","ManagerReferenceNodeSetterContext","Manager","_React$useState","referenceNode","setReferenceNode","hasUnmounted","handleSetReferenceNode","unwrapArray","safeInvoke","fromEntries","entries","acc","useIsomorphicLayoutEffect","top","bottom","right","left","auto","basePlacements","clippingParents","viewport","popper","reference","variationPlacements","placement","placements","beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite","modifierPhases","getNodeName","getWindow","ownerDocument","isElement","OwnElement","isHTMLElement","isShadowRoot","applyStyles","name","style","attributes","effect","initialStyles","styleProperties","property","attribute","applyStyles$1","getBasePlacement","round","getUAString","uaData","item","isLayoutViewport","getBoundingClientRect","includeScale","isFixedStrategy","clientRect","scaleX","scaleY","visualViewport","addVisualOffsets","width","height","getLayoutRect","contains","parent","getComputedStyle","isTableElement","getDocumentElement","getParentNode","getTrueOffsetParent","getContainingBlock","isFirefox","isIE","elementCss","currentNode","getOffsetParent","window","offsetParent","getMainAxisFromPlacement","within","mathMax","mathMin","withinMaxClamp","getFreshSideObject","mergePaddingObject","paddingObject","expandToHashMap","hashMap","toPaddingObject","padding","arrow","_state$modifiersData$","arrowElement","popperOffsets","basePlacement","axis","isVertical","len","arrowRect","minProp","maxProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","center","axisProp","_options$element","arrow$1","getVariation","unsetSides","roundOffsetsByDPR","win","dpr","mapToStyles","_Object$assign2","popperRect","variation","offsets","gpuAcceleration","adaptive","roundOffsets","isFixed","_offsets$x","_offsets$y","hasX","hasY","sideX","sideY","heightProp","widthProp","offsetY","offsetX","commonStyles","_ref4","_Object$assign","computeStyles","_ref5","_options$gpuAccelerat","_options$adaptive","_options$roundOffsets","computeStyles$1","passive","instance","_options$scroll","scroll","_options$resize","resize","scrollParents","scrollParent","eventListeners","hash","getOppositePlacement","matched","getOppositeVariationPlacement","getWindowScroll","scrollLeft","scrollTop","getWindowScrollBarX","getViewportRect","strategy","html","layoutViewport","getDocumentRect","_element$ownerDocumen","winScroll","isScrollParent","_getComputedStyle","overflow","overflowX","overflowY","getScrollParent","listScrollParents","isBody","updatedList","rectToClientRect","rect","getInnerBoundingClientRect","getClientRectFromMixedType","clippingParent","getClippingParents","canEscapeClipping","clipperElement","getClippingRect","boundary","rootBoundary","mainClippingParents","firstClippingParent","clippingRect","accRect","computeOffsets","commonX","commonY","mainAxis","detectOverflow","_options","_options$placement","_options$strategy","_options$boundary","_options$rootBoundary","_options$elementConte","elementContext","_options$altBoundary","altBoundary","_options$padding","altContext","clippingClientRect","referenceClientRect","popperClientRect","elementClientRect","overflowOffsets","offsetData","multiply","computeAutoPlacement","flipVariations","_options$allowedAutoP","allowedAutoPlacements","allPlacements","allowedPlacements","overflows","getExpandedFallbackPlacements","oppositePlacement","flip","_options$mainAxis","checkMainAxis","_options$altAxis","checkAltAxis","specifiedFallbackPlacements","_options$flipVariatio","preferredPlacement","isBasePlacement","fallbackPlacements","referenceRect","checksMap","makeFallbackChecks","firstFittingPlacement","_basePlacement","isStartVariation","mainVariationSide","altVariationSide","checks","check","numberOfChecks","_loop","fittingPlacement","_ret","flip$1","getSideOffsets","preventedOffsets","isAnySideFullyClipped","side","hide","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","hide$1","distanceAndSkiddingToXY","rects","invertDistance","skidding","distance","_options$offset","_data$state$placement","offset$1","popperOffsets$1","getAltAxis","preventOverflow","_options$tether","tether","_options$tetherOffset","tetherOffset","altAxis","tetherOffsetValue","normalizedTetherOffsetValue","offsetModifierState","_offsetModifierState$","mainSide","altSide","additive","minLen","maxLen","arrowPaddingObject","arrowPaddingMin","arrowPaddingMax","arrowLen","minOffset","maxOffset","clientOffset","offsetModifierValue","tetherMin","tetherMax","preventedOffset","_offsetModifierState$2","_mainSide","_altSide","_offset","_min","_max","isOriginSide","_offsetModifierValue","_tetherMin","_tetherMax","_preventedOffset","preventOverflow$1","getHTMLElementScroll","getNodeScroll","isElementScaled","getCompositeRect","elementOrVirtualElement","isOffsetParentAnElement","offsetParentIsScaled","documentElement","order","modifiers","map","visited","modifier","sort","requires","dep","depModifier","orderModifiers","orderedModifiers","debounce","pending","mergeByName","merged","current","existing","DEFAULT_OPTIONS","areValidElements","popperGenerator","generatorOptions","_generatorOptions","_generatorOptions$def","defaultModifiers","_generatorOptions$def2","defaultOptions","effectCleanupFns","isDestroyed","setOptionsAction","cleanupModifierEffects","runModifierEffects","_state$elements","_state$orderedModifie","_state$orderedModifie2","_ref$options","cleanupFn","noopFn","createPopper","hasElementType","hasMap","hasSet","hasArrayBuffer","equal","length","it","reactFastCompare","error","EMPTY_MODIFIERS","usePopper","referenceElement","popperElement","prevOptions","optionsWithDefaults","setState","updateStateModifier","elements","ReactDOM.flushSync","popperOptions","newOptions","isEqual","popperInstanceRef","defaultCreatePopper","popperInstance","NOOP","NOOP_PROMISE","Popper","_ref$placement","_ref$strategy","_ref$modifiers","onFirstUpdate","innerRef","setPopperElement","_React$useState2","setArrowElement","_usePopper","forceUpdate","update","childrenProps","warning","warning_1","Reference","ResizeSensor","onlyChild","force","parent_1","isVerticalPlacement","getAlignment","align","getTransformOrigin","arrowStyles","arrowSizeShift","SVG_SHADOW_PATH","SVG_ARROW_PATH","ARROW_SPACING","POPOVER_ARROW_SVG_SIZE","TOOLTIP_ARROW_SVG_SIZE","getArrowAngle","getArrowReferenceOffsetStyle","PopoverArrow","Classes.POPOVER_ARROW","noOpDispatch","TooltipContext","tooltipContextReducer","TooltipProvider","forceDisable","React.useReducer","dispatch","Tooltip","ctxState","compact","popoverClassName","restProps","popoverClasses","Classes.TOOLTIP","Classes.COMPACT","Popover","matchReferenceWidthModifier","referenceWidth","PopoverPosition","positionToPlacement","assertNever","PopoverInteractionKind","popperChildRef","_f","openOnTargetFocus","renderTarget","isControlled","isHoverInteractionKind","targetTagName","targetEventHandlers","targetTabIndex","ownTargetProps","Classes.POPOVER_TARGET","Classes.POPOVER_OPEN","targetModifierClasses","childTarget","Utils.ensureElement","clonedTarget","Utils.isElementOfType","wrappedTarget","popperProps","interactionKind","isClosingViaEscapeKeypress","transformOrigin","popoverHandlers","Classes.POPOVER","Classes.DARK","Classes.POPOVER_CAPTURING_DISMISS","Classes.POPOVER_MATCH_TARGET_WIDTH","Classes.POPOVER_REFERENCE_HIDDEN","Classes.POPOVER_POPPER_ESCAPED","Classes.POPOVER_CONTENT_PLACEMENT","defaultAutoFocus","shouldReturnFocusOnClose","Classes.POPOVER_BACKDROP","Classes.POPOVER_TRANSITION_CONTAINER","Classes.POPOVER_CONTENT","eventPopover","eventPopoverV1","isEventFromSelf","isEventPopoverCapturing","dismissElement","Classes.POPOVER_DISMISS","Classes.POPOVER_DISMISS_OVERRIDE","shouldDismiss","isDisabled","Utils.elementIsOrContains","shouldIgnoreClick","content","positioningStrategy","isContentEmpty","Utils.isNodeEnv","Errors.POPOVER_WARN_EMPTY_CONTENT","nextIsOpen","Errors.POPOVER_WARN_UNCONTROLLED_ONINTERACTION","Errors.POPOVER_WARN_HAS_BACKDROP_INLINE","Errors.POPOVER_HAS_BACKDROP_INTERACTION","Errors.POPOVER_WARN_PLACEMENT_AND_POSITION_MUTEX","childrenCount","hasRenderTargetProp","hasTargetPropsProp","Errors.POPOVER_REQUIRES_TARGET","Errors.POPOVER_WARN_TOO_MANY_CHILDREN","Errors.POPOVER_WARN_DOUBLE_TARGET","Errors.POPOVER_WARN_TARGET_PROPS_WITH_RENDER_TARGET","matchTargetWidth","modifiersCustom","popperModifiers","isEscapeKeypressEvent","hasDarkParent","MenuItem","labelClassName","labelElement","multiline","popoverProps","roleStructure","selected","shouldDismissPopover","submenuProps","liRole","targetRole","ariaSelected","isSelectable","isSelected","hasIcon","hasSubmenu","anchorClasses","Classes.MENU_ITEM","Classes.MENU_ITEM_IS_SELECTABLE","Classes.SELECTED","maybeLabel","Classes.MENU_ITEM_LABEL","DISABLED_PROPS","Classes.MENU_ITEM_SELECTED_ICON","Classes.MENU_ITEM_ICON","Classes.MENU_SUBMENU_ICON","liClasses","Classes.MENU_SUBMENU","SUBMENU_POPOVER_MODIFIERS","ButtonGroup","vertical","buttonGroupClasses","Classes.BUTTON_GROUP","Classes.VERTICAL","Card","interactive","Classes.CARD","Classes.elevationClass","Classes.INTERACTIVE","AnimationStates","Collapse","animationState","isContentVisible","shouldRenderChildren","displayWithTransform","isAutoHeight","containerStyle","contentsStyle","Classes.COLLAPSE","Classes.COLLAPSE_BODY","clientHeight","clientHeight_1","ControlGroup","rootClasses","Classes.CONTROL_GROUP","ControlInternal","alignIndicator","indicatorChildren","inline","inputRef","label","typeClassName","Classes.CONTROL","Classes.INLINE","Classes.CONTROL_INDICATOR","Switch","innerLabelChecked","innerLabel","controlProps","switchLabels","Classes.CONTROL_INDICATOR_CHILD","Classes.SWITCH_INNER_TEXT","Classes.SWITCH","Radio","Classes.RADIO","Checkbox","defaultIndeterminate","indeterminate","onChange","isIndeterminate","setIsIndeterminate","localInputRef","handleChange","evt","Classes.CHECKBOX","Classes.getClassNamespace","FileInput","buttonText","hasSelection","inputProps","Classes.FILE_INPUT","Classes.FILE_INPUT_HAS_SELECTION","uploadProps","Classes.FILE_UPLOAD_INPUT","Classes.FILE_UPLOAD_INPUT_CUSTOM_TEXT","FormGroup","contentClassName","helperText","labelFor","labelInfo","subLabel","Classes.LABEL","Classes.TEXT_MUTED","Classes.FORM_GROUP_SUB_LABEL","Classes.FORM_CONTENT","Classes.FORM_HELPER_TEXT","Classes.FORM_GROUP","AsyncControllableInput","userTriggeredUpdate","isComposing","hasPendingUpdate","nextValue","NON_HTML_PROPS","InputGroup","asyncControl","inputClassName","readOnly","inputGroupClasses","Classes.INPUT_GROUP","Classes.READ_ONLY","Classes.ROUND","Classes.INPUT","inputElement","leftElement","rightElement","Errors.INPUT_WARN_LEFT_ELEMENT_LEFT_ICON_MUTEX","leftIcon","Classes.INPUT_LEFT_CONTAINER","Classes.INPUT_ACTION","leftElementWidth","rightElementWidth","clientWidth","getDecimalSeparator","locale","testNumber","testText","one","nine","pattern","toLocaleString","sanitizeNumericInput","clampValue","adjustedMin","adjustedMax","getValueOrEmptyValue","transformLocalizedNumberToStringNumber","character","charactersMap","jsNumber","parseStringToStringNumber","valueAsString","decimalSeparator","sanitizedString","isValueNumeric","stringToStringNumber","isValidNumericKeyboardEvent","isSingleCharKey","isFloatingPointNumericCharacter","numbers","localeFloatingPointNumericCharacterRegex","floatingPointNumericCharacterRegex","toMaxPrecision","maxPrecision","scaleFactor","convertFullWidthNumbersToAscii","valueChars","sanitizedValueChars","valueChar","IncrementDirection","NumericInput","Utils.uniqueId","direction","valueAsNumber","sanitizedValue","didMinChange","didMaxChange","didBoundsChange","stepMaxPrecision","Utils.countDecimalPlaces","currentValue","clampedValue","buttonPosition","Classes.NUMERIC_INPUT","buttons","didLocaleChange","didValueChange","valueToParse","localizedValue","majorStepSize","minorStepSize","stepSize","Errors.NUMERIC_INPUT_MIN_MAX","Errors.NUMERIC_INPUT_STEP_SIZE_NON_POSITIVE","Errors.NUMERIC_INPUT_MINOR_STEP_SIZE_NON_POSITIVE","Errors.NUMERIC_INPUT_MAJOR_STEP_SIZE_NON_POSITIVE","Errors.NUMERIC_INPUT_MINOR_STEP_SIZE_BOUND","Errors.NUMERIC_INPUT_MAJOR_STEP_SIZE_BOUND","valueDoesNotMatch","isNotLocalized","Errors.NUMERIC_INPUT_CONTROLLED_VALUE_INVALID","isIncrementDisabled","isDecrementDisabled","Classes.FIXED","inputGroupHtmlProps","currValue","isShiftKeyPressed","isAltKeyPressed","HTMLSelect","iconProps","iconTitle","optionChildren","option","optionProps","PanelView2","handleClose","maybeBackButton","Classes.PANEL_STACK_HEADER_BACK","PanelWrapper","Classes.PANEL_STACK2_VIEW","Classes.PANEL_STACK2_HEADER","Classes.HEADING","PanelStack2","initialPanel","onOpen","renderActivePanelOnly","showPanelHeader","propsStack","setDirection","localStack","setLocalStack","stack","stackLength","handlePanelOpen","panel","prevStack","handlePanelClose","panelsToRender","panels","layer","Classes.PANEL_STACK2","PopupKind","HandleType","HandleInteractionKind","formatPercentage","ratio","fillValues","startIndex","endIndex","fillValue","inc","argMin","argFn","minValue","minArg","NUMBER_PROPS","Handle","tickSizeRatio","handleMidpoint","offsetRatio","offsetCalc","clientPixel","finalValue","Utils.isArrowKey","isMoving","Classes.SLIDER_HANDLE","Classes.SLIDER_LABEL","tickSize","clientPixelNormalized","handleCenterPixel","pixelDelta","touch","NUMBER_PROPS_1","newValue","handleElement","handleOffset","useOppositeDimension","handleRect","sizeKey","MultiSliderHandle","MultiSlider","getLabelPrecision","foundHandle","newValues","handleProps","getSortedInteractiveHandleProps","oldValues","Utils.arraysEqual","labelPrecision","prevHandleProps","newHandleProps","Classes.SLIDER","Classes.SLIDER_TRACK","Classes.SLIDER_AXIS","Errors.SLIDER_ZERO_STEP","Errors.MULTISLIDER_WARN_LABEL_STEP_SIZE_LABEL_VALUES_MUTEX","Errors.SLIDER_ZERO_LABEL_STEP","Errors.SLIDER_MIN","Errors.SLIDER_MAX","anyInvalidChildren","Errors.MULTISLIDER_INVALID_CHILD","isHandleTooltip","labelRenderer","Utils.isFunction","labels","offsetPercentage","trackStops","getSortedHandleProps","previous","handles","startRatio","endRatio","startOffset","endOffset","orientationStyle","Classes.SLIDER_PROGRESS","Classes.START","Classes.END","getOffset","offsetValue","handleValue","oldIndex","newIndex","lockIndex","lockValue","labelStepSize","labelValues","Utils.approxEqual","Utils.clamp","trackSize","predicate","maybeHandles","Slider","initialValue","onRelease","handleHtmlProps","TreeNode","isExpanded","onCollapse","onExpand","Classes.TREE_NODE","Classes.TREE_NODE_SELECTED","Classes.TREE_NODE_EXPANDED","contentClasses","Classes.TREE_NODE_CONTENT","eventHandlers","Classes.TREE_NODE_ICON","Classes.TREE_NODE_LABEL","hasCaret","caretClasses","Classes.TREE_NODE_CARET","Classes.TREE_NODE_CARET_OPEN","Classes.TREE_NODE_CARET_CLOSED","Classes.TREE_NODE_CARET_NONE","Classes.TREE_NODE_SECONDARY_LABEL","Tree","treeNodes","Classes.TREE","Classes.TREE_ROOT","nodeId","currentPath","nodeItems","elementPath","Classes.TREE_NODE_LIST","UiConfigRendererContext","createContext","_BPComponent","BPComponent","BPLabelledComponent","BPContainerComponent","ev","oldChildren","newChildren","removed","added","BPFolderComponent","setExpanded","jsx","FolderHeadCard","ConfigObject","jsxs","BPValueComponent","_last","last","FormGroupComponent","BPInputComponent","BPTextInputComponent","DraggableIcon","mm","off","NumberAbbreviation","NUMBER_ABBREVIATION_REGEX","SCIENTIFIC_NOTATION_REGEX","ExtendedNumericInput","_valueAsNumber","dispatchOnChange2","term","total","matches","match","compactedMatch","compactedMatchNum","lastChar","isValid","precision","props2","BPNumberInputComponent","BPButtonComponent","BPToggleInputComponent","BPSliderInputComponent","bounds","SELECT_POPOVER","renderFilteredItems","noResults","initialContent","items","executeItemsEqual","itemsEqualProp","itemA","itemB","getCreateNewItem","isCreateNewItem","getActiveItem","activeItem","QueryList","listProps","createItemView","maybeNoResults","menuContent","createFirst","query","filteredItems","isItemDisabled","trimmedQuery_1","handleClick","newItems","newItems_1","queries","createNewItemFromQuery","onItemsPaste","nextActiveItem","nextQueries","pastedItemsToEmit","queries_1","equalItem","getMatchingItem","createNewItem","getFilteredItems","getFirstEnabledItem","renderer","itemListRenderer","menuProps","spreadableState","Utils.shallowCompareKeys","scrollToActiveItem","externalChangeToActiveItem","activeTop","activeHeight","parentOffsetTop","parentScrollTop","parentHeight","paddingTop","paddingBottom","activeBottomEdge","activeTopEdge","resetActiveItem","hasQueryChanged","trimmedQuery","activeIndex","shouldUpdateActiveItem","pxToNumber","reachedCreate","newItem","itemPredicate","itemListPredicate","wrapNumber","itemDisabled","maxIndex","Select","filterable","popoverContentProps","popoverRef","Classes.SELECT_POPOVER","targetProps","popoverTargetProps","CoreClasses.FILL","eventType","menuItem","CoreClasses.MENU_ITEM","menuItemDismiss","CoreClasses.POPOVER_DISMISS","Utils.getActiveElement","renderDropdownItem","handleFocus","BPDropdownInputComponent","BPPanelComponent","BPTreeComponent","_id","_path","res","nodes","_2","node2","_state","TreeT","BPTreeFolderComponent","$","BPColorInputComponent","createRef","srgbConvert","eq","HexColorPicker","isHex","FileComponent","fileInputRef","useRef","textInputRef","useEffect","fileElement","textElement","dataTransfer","BPFileComponent","bpIconWrapper","viewbox","xIcon3","yIcon3","zIcon3","wIcon3","BPVectorInputComponent","com","components","ret","Fragment","ConfigObjectGenerators","_ConfigObject","BPComp","ELEVATION_0","defaultVisualStyle","VisualStyleContext","useVisualStyle","localStoragePrefix","localStorageIds","setupVisualStyle","darkMode","setDarkMode","clas","theme","setTheme","ThemeSettingsMenuComponent","visualStyle","Classes.ELEVATION_0","ConfigurationPanelComponent","stackItem","currentPanelStack","setCurrentPanelStack","UiConfigRendererBlueprint","autoPostFrame","rendererCss","UI"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,183,184,185,186,187,188,193,201,202,203]}