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,75 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from "react";
3
+ import { UiConfigRendererContext } from "./bpComponents/BPComponent";
4
+ import { BPFolderComponent, FolderHeadCard } from "./bpComponents/BPFolderComponent";
5
+ import { BPTextInputComponent } from "./bpComponents/BPTextInputComponent";
6
+ import { BPNumberInputComponent } from "./bpComponents/BPNumberInputComponent";
7
+ import { BPButtonComponent } from "./bpComponents/BPButtonComponent";
8
+ import { BPToggleInputComponent } from "./bpComponents/BPToggleInputComponent";
9
+ import { BPSliderInputComponent } from "./bpComponents/BPSliderInputComponent";
10
+ import { BPDropdownInputComponent } from "./bpComponents/BPDropdownInputComponent";
11
+ import { BPPanelComponent } from "./bpComponents/BPPanelComponent";
12
+ import { BPTreeFolderComponent } from "./bpComponents/BPTreeFolderComponent";
13
+ import { BPColorInputComponent } from './bpComponents/BPColorInputComponent';
14
+ import { BPFileComponent } from "./bpComponents/BPFileComponent";
15
+ import { BPVectorInputComponent } from './bpComponents/BPVectorInputComponent';
16
+ export const ConfigObjectGenerators = {
17
+ input: BPTextInputComponent,
18
+ number: BPNumberInputComponent,
19
+ button: BPButtonComponent,
20
+ folder: BPFolderComponent,
21
+ panel: BPPanelComponent,
22
+ checkbox: BPToggleInputComponent,
23
+ toggle: BPToggleInputComponent,
24
+ dropdown: BPDropdownInputComponent,
25
+ slider: BPSliderInputComponent,
26
+ tree: BPTreeFolderComponent,
27
+ color: BPColorInputComponent,
28
+ image: BPFileComponent,
29
+ vec: BPVectorInputComponent,
30
+ vec2: BPVectorInputComponent,
31
+ vec3: BPVectorInputComponent,
32
+ vec4: BPVectorInputComponent,
33
+ };
34
+ export class ConfigObject extends React.Component {
35
+ static contextType = UiConfigRendererContext;
36
+ state = {};
37
+ render() {
38
+ this.context.methods.initUiConfig(this.props.config);
39
+ if (!this.props.config.type)
40
+ return (_jsx("div", {}, this.props.config.uuid));
41
+ let type = this.props.config.type;
42
+ const val = this.context.methods.getValue(this.props.config);
43
+ if (type === 'input' && typeof val === 'number')
44
+ this.props.config.type = type = 'number';
45
+ if (type === 'input' && typeof val === 'boolean')
46
+ this.props.config.type = type = 'toggle';
47
+ if (type === 'monitor') {
48
+ this.props.config.type = type = 'input';
49
+ this.props.config.readOnly = true;
50
+ }
51
+ if (val && type === 'input' && typeof val.x === 'number')
52
+ this.props.config.type = type = 'vec';
53
+ let BPComp = ConfigObjectGenerators[type];
54
+ if (type === 'panel' && !this.props.isPanel) {
55
+ const label = this.context.methods.getLabel(this.props.config);
56
+ return (_jsx("div", { children: _jsx(FolderHeadCard, { label: label, minimal: false, open: false, onClick: () => {
57
+ this.props.openPanel({
58
+ props: { config: this.props.config },
59
+ title: label,
60
+ renderPanel: props => {
61
+ if (BPComp)
62
+ return (_jsx(BPComp, { ...props }));
63
+ else
64
+ return _jsx(_Fragment, {});
65
+ }
66
+ });
67
+ } }) }, this.props.config.uuid));
68
+ }
69
+ if (BPComp) {
70
+ return (_jsx("div", { children: _jsx(BPComp, { ...this.props, isPanel: undefined }) }, this.props.config.uuid));
71
+ }
72
+ return (_jsxs("div", { children: ["Unknown type: ", this.props.config.type] }, this.props.config.uuid));
73
+ }
74
+ }
75
+ //# sourceMappingURL=ConfigObject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfigObject.js","sourceRoot":"","sources":["../../src/ConfigObject.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { UiConfigRendererBase, UiObjectConfig } from "uiconfig.js";
2
+ import { Root } from 'react-dom/client';
3
+ import { THREE } from "./threejs";
4
+ export declare class UiConfigRendererBlueprint extends UiConfigRendererBase<Root> {
5
+ constructor(container?: HTMLElement, { autoPostFrame }?: {
6
+ autoPostFrame?: boolean | undefined;
7
+ });
8
+ protected _createUiContainer(): HTMLDivElement;
9
+ protected _refreshUiConfigObject(config: UiObjectConfig): void;
10
+ renderUiConfig(_: UiObjectConfig): void;
11
+ THREE: THREE | undefined;
12
+ dispose(): void;
13
+ }
@@ -0,0 +1,52 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { createDiv, createStyles, css } from "ts-browser-helpers";
3
+ import { UiConfigRendererBase } from "uiconfig.js";
4
+ import React from 'react';
5
+ import { createRoot } from 'react-dom/client';
6
+ import { ConfigurationPanelComponent } from './components/ConfigurationPanelComponent';
7
+ import { UiConfigRendererContext } from './bpComponents/BPComponent';
8
+ import rendererCss from './renderer.scss?inline';
9
+ import { FocusStyleManager } from '@blueprintjs/core';
10
+ export class UiConfigRendererBlueprint extends UiConfigRendererBase {
11
+ constructor(container = document.body, { autoPostFrame = true } = {}) {
12
+ super(container, autoPostFrame);
13
+ }
14
+ _createUiContainer() {
15
+ FocusStyleManager.onlyShowFocusOnTabs();
16
+ const container = createDiv({ id: 'blueprintUiContainer', addToBody: false });
17
+ createStyles(css `
18
+ :root{
19
+ --blueprint-ui-container-width: 300px;
20
+ }
21
+ @media only screen and (min-width: 1500px) {
22
+ :root{
23
+ --blueprint-ui-container-width: 400px;
24
+ }
25
+ }
26
+ @media only screen and (min-width: 2500px) {
27
+ :root{
28
+ --blueprint-ui-container-width: 500px;
29
+ }
30
+ }
31
+ `);
32
+ createStyles(rendererCss);
33
+ this._root = createRoot(container, {
34
+ identifierPrefix: 'bpUi',
35
+ onRecoverableError: (error) => {
36
+ console.warn(error);
37
+ }
38
+ });
39
+ this._root.render(_jsx(React.StrictMode, { children: _jsx(UiConfigRendererContext.Provider, { value: this, children: _jsx(ConfigurationPanelComponent, { config: this.config }) }) }));
40
+ return container;
41
+ }
42
+ _refreshUiConfigObject(config) {
43
+ config.uiRef.refreshConfigState();
44
+ }
45
+ renderUiConfig(_) {
46
+ return;
47
+ }
48
+ THREE = window.THREE;
49
+ dispose() {
50
+ }
51
+ }
52
+ //# sourceMappingURL=UiConfigRendererBlueprint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UiConfigRendererBlueprint.js","sourceRoot":"","sources":["../../src/UiConfigRendererBlueprint.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,SAAS,EAAE,YAAY,EAAE,GAAG,EAAC,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAC,oBAAoB,EAAiB,MAAM,aAAa,CAAC;AACjE,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAC,UAAU,EAAO,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAC,2BAA2B,EAAC,MAAM,0CAA0C,CAAA;AACpF,OAAO,EAAc,uBAAuB,EAAC,MAAM,4BAA4B,CAAA;AAE/E,OAAO,WAAW,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAA;AAGnD,MAAM,OAAO,yBAA0B,SAAQ,oBAA0B;IAErE,YAAY,YAAyB,QAAQ,CAAC,IAAI,EAAE,EAAC,aAAa,GAAG,IAAI,EAAC,GAAG,EAAE;QAC3E,KAAK,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAGpC,CAAC;IAES,kBAAkB;QACxB,iBAAiB,CAAC,mBAAmB,EAAE,CAAC;QAExC,MAAM,SAAS,GAAG,SAAS,CAAC,EAAC,EAAE,EAAE,sBAAsB,EAAE,SAAS,EAAE,KAAK,EAAC,CAAC,CAAA;QAC3E,YAAY,CAAC,GAAG,CAAA;;;;;;;;;;;;;;SAcf,CAAC,CAAA;QACF,YAAY,CAAC,WAAW,CAAC,CAAA;QAEzB,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,SAAS,EAAE;YAC/B,gBAAgB,EAAE,MAAM;YACxB,kBAAkB,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC1B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACvB,CAAC;SACJ,CAAC,CAAA;QACF,IAAI,CAAC,KAAK,CAAC,MAAM,CACb,KAAC,KAAK,CAAC,UAAU,cACjB,KAAC,uBAAuB,CAAC,QAAQ,IAAC,KAAK,EAAE,IAAI,YACzC,KAAC,2BAA2B,IAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,GACpB,GAChB,CACtB,CAAA;QACD,OAAO,SAAS,CAAA;IACpB,CAAC;IAES,sBAAsB,CAAC,MAAsB;QAClD,MAAM,CAAC,KAA+B,CAAC,kBAAkB,EAAE,CAAA;IAChE,CAAC;IAED,cAAc,CAAC,CAAiB;QAC5B,OAAO;IACX,CAAC;IAGD,KAAK,GAAqB,MAAc,CAAC,KAAK,CAAA;IAE9C,OAAO;IAEP,CAAC;CAEJ"}
@@ -0,0 +1,8 @@
1
+ import { BPComponentProps, UiConfigRendererContextType } from "./BPComponent";
2
+ import React from "react";
3
+ import { BPLabelledComponent, BPLabelledComponentState } from "./BPLabelledComponent";
4
+ export declare class BPButtonComponent extends BPLabelledComponent<() => void, BPLabelledComponentState> {
5
+ constructor(props: BPComponentProps<() => void>, context: UiConfigRendererContextType);
6
+ onClick: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
7
+ render(): import("react/jsx-runtime").JSX.Element | null;
8
+ }
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { BPLabelledComponent } from "./BPLabelledComponent";
3
+ import { Button } from "@blueprintjs/core";
4
+ export class BPButtonComponent extends BPLabelledComponent {
5
+ constructor(props, context) {
6
+ super(props, context, { label: 'Button' });
7
+ }
8
+ onClick = (event) => {
9
+ this.context.methods.clickButton(this.props.config, { args: [event] });
10
+ };
11
+ render() {
12
+ return !this.state.hidden ? (_jsx("div", { className: "bpButtonComponent xPaddedContent", children: _jsx(Button, { className: "bpButton", disabled: this.state.disabled, text: this.state.label, style: {}, onClick: this.onClick }) })) : null;
13
+ }
14
+ }
15
+ //# sourceMappingURL=BPButtonComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BPButtonComponent.js","sourceRoot":"","sources":["../../../src/bpComponents/BPButtonComponent.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAC,mBAAmB,EAA2B,MAAM,uBAAuB,CAAC;AACpF,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAC;AAEzC,MAAM,OAAO,iBAAkB,SAAQ,mBAAuD;IAC1F,YAAY,KAAiC,EAAE,OAAoC;QAC/E,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,EAAC,KAAK,EAAE,QAAQ,EAAC,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,GAAG,CAAC,KAAsD,EAAE,EAAE;QAEjE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAC,IAAI,EAAE,CAAC,KAAK,CAAC,EAAC,CAAC,CAAA;IACxE,CAAC,CAAA;IAED,MAAM;QACF,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CACxB,cAAK,SAAS,EAAC,kCAAkC,YAC7C,KAAC,MAAM,IAAC,SAAS,EAAC,UAAU,EACpB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAE7B,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,GAAG,GACjE,CACT,CAAC,CAAC,CAAC,IAAI,CAAA;IACZ,CAAC;CAEJ"}
@@ -0,0 +1,24 @@
1
+ import { BPComponentProps, UiConfigRendererContextType } from "./BPComponent";
2
+ import { BPValueComponent, BPValueComponentState } from "./BPValueComponent";
3
+ import type { ColorRepresentation } from "three";
4
+ export type BPColorComponentState = BPValueComponentState<string> & {
5
+ mode: 'number' | 'string' | 'Color';
6
+ lastValue?: ColorRepresentation;
7
+ srgbConvert: boolean;
8
+ };
9
+ export declare class BPColorInputComponent extends BPValueComponent<ColorRepresentation, BPColorComponentState, string> {
10
+ private _inputRef;
11
+ private _tempColor;
12
+ constructor(props: BPComponentProps<ColorRepresentation>, context: UiConfigRendererContextType);
13
+ convertValueToState(val: ColorRepresentation, state: BPColorComponentState): BPColorComponentState;
14
+ convertStateToValue(state: BPColorComponentState): Promise<ColorRepresentation>;
15
+ forceOnChange: boolean;
16
+ doesNeedRefresh(state: BPColorComponentState, _?: boolean): boolean;
17
+ private _mouseButtons;
18
+ componentDidMount(): void;
19
+ private _mouseMove;
20
+ componentWillUnmount(): void;
21
+ private _hasMouseUp;
22
+ private _mouseUp;
23
+ render(): import("react/jsx-runtime").JSX.Element | null;
24
+ }
@@ -0,0 +1,110 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { createRef } from "react";
3
+ import { Button, Icon, InputGroup, Popover } from "@blueprintjs/core";
4
+ import { BPValueComponent } from "./BPValueComponent";
5
+ import { HexColorPicker } from "react-colorful";
6
+ import { FormGroupComponent } from "../components/FormGroupComponent";
7
+ import { getOrCall } from 'ts-browser-helpers';
8
+ export class BPColorInputComponent extends BPValueComponent {
9
+ _inputRef = createRef();
10
+ _tempColor;
11
+ constructor(props, context) {
12
+ super(props, context, {
13
+ label: 'Color',
14
+ value: "#000000",
15
+ mode: 'number',
16
+ srgbConvert: false,
17
+ });
18
+ if (!context.THREE?.Color)
19
+ throw new Error('BPColorInputComponent requires THREE.Color to be available in context');
20
+ if (!this._tempColor)
21
+ this._tempColor = new context.THREE.Color();
22
+ }
23
+ convertValueToState(val, state) {
24
+ if (!this._tempColor)
25
+ this._tempColor = new this.context.THREE.Color();
26
+ let mode = state.mode;
27
+ const srgbConvert = getOrCall(this.props.config.srgb) === true;
28
+ if (typeof val === 'string')
29
+ mode = 'string';
30
+ else if (typeof val === 'number')
31
+ mode = 'number';
32
+ else if (val.isColor)
33
+ mode = 'Color';
34
+ else
35
+ console.error('not supported color', val);
36
+ this._tempColor.set(val);
37
+ if (srgbConvert)
38
+ this._tempColor.convertLinearToSRGB();
39
+ const value = '#' + this._tempColor.getHexString();
40
+ return { ...state, mode, value, lastValue: val, srgbConvert };
41
+ }
42
+ async convertStateToValue(state) {
43
+ if (!this._tempColor)
44
+ this._tempColor = new this.context.THREE.Color();
45
+ let val = state.lastValue || 0;
46
+ this._tempColor.set(state.value);
47
+ if (state.srgbConvert)
48
+ this._tempColor.convertSRGBToLinear();
49
+ if (state.mode === 'number') {
50
+ val = this._tempColor.getHex();
51
+ }
52
+ else if (state.mode === 'string') {
53
+ val = '#' + this._tempColor.getHexString();
54
+ }
55
+ else if (state.mode === 'Color') {
56
+ val = (state.lastValue ?? new this.context.THREE.Color()).copy(this._tempColor);
57
+ }
58
+ return val;
59
+ }
60
+ forceOnChange = true;
61
+ doesNeedRefresh(state, _) {
62
+ const eq = !super.doesNeedRefresh(state);
63
+ return (state.value?.isColor && eq) ? true : !eq;
64
+ }
65
+ _mouseButtons = 0;
66
+ componentDidMount() {
67
+ super.componentDidMount();
68
+ document.addEventListener('mousemove', this._mouseMove);
69
+ }
70
+ _mouseMove = (ev) => {
71
+ this._mouseButtons = ev.buttons;
72
+ if (!this._mouseButtons && this._hasMouseUp)
73
+ this._mouseUp();
74
+ };
75
+ componentWillUnmount() {
76
+ document.removeEventListener('mousemove', this._mouseMove);
77
+ this._mouseButtons = 0;
78
+ super.componentWillUnmount();
79
+ }
80
+ _hasMouseUp = false;
81
+ _mouseUp = () => {
82
+ document.removeEventListener('mouseup', this._mouseMove);
83
+ if (!this._hasMouseUp)
84
+ return;
85
+ this._hasMouseUp = false;
86
+ this.setValue(this._inputRef.current.value, true);
87
+ if (this._hasMouseUp)
88
+ return;
89
+ document.addEventListener('mouseup', this._mouseUp);
90
+ };
91
+ render() {
92
+ return !this.state.hidden ? (_jsx(FormGroupComponent, { label: this.state.label, children: _jsx(InputGroup, { inputRef: this._inputRef, disabled: this.state.disabled, readOnly: this.state.readOnly, leftElement: (_jsx(Popover, { popoverClassName: 'color-picker-popover', usePortal: false, minimal: false, content: _jsx(HexColorPicker, { color: this.state.value, onChange: (c) => {
93
+ if (this.state.readOnly || this.state.disabled)
94
+ return;
95
+ this._tempColor.set(c);
96
+ const v = '#' + this._tempColor.getHexString().toUpperCase();
97
+ this.setValue(v, false);
98
+ this._inputRef.current.value = v;
99
+ if (this._hasMouseUp)
100
+ return;
101
+ this._hasMouseUp = true;
102
+ document.addEventListener('mouseup', this._mouseUp);
103
+ } }), children: _jsx(Button, { disabled: this.state.disabled || this.state.readOnly, icon: _jsx(Icon, { icon: "full-circle", color: this.state.value }), text: "", minimal: true }) })), defaultValue: this.state.value, onChange: (e) => {
104
+ const isHex = /^([A-Fa-f\d]+)$/.exec(e.target.value);
105
+ this._tempColor.set((isHex ? '#' : '') + e.target.value);
106
+ this.setValue('#' + this._tempColor.getHexString().toUpperCase());
107
+ } }, this.props.config.uuid) })) : null;
108
+ }
109
+ }
110
+ //# sourceMappingURL=BPColorInputComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BPColorInputComponent.js","sourceRoot":"","sources":["../../../src/bpComponents/BPColorInputComponent.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import React from "react";
2
+ import type { UiConfigRendererBase } from 'uiconfig.js';
3
+ import { UiObjectConfig } from 'uiconfig.js';
4
+ import { THREE } from "../threejs";
5
+ export type BPComponentProps<T> = {
6
+ config: UiObjectConfig<T>;
7
+ level?: number;
8
+ };
9
+ export type BPComponentState = {
10
+ hidden?: boolean;
11
+ disabled?: boolean;
12
+ readOnly?: boolean;
13
+ };
14
+ export interface UiConfigRendererBaseBp extends UiConfigRendererBase {
15
+ THREE: THREE | undefined;
16
+ }
17
+ export declare const UiConfigRendererContext: React.Context<UiConfigRendererBaseBp>;
18
+ export type UiConfigRendererContextType = React.ContextType<typeof UiConfigRendererContext>;
19
+ export declare abstract class BPComponent<TValue, TState, TProps extends BPComponentProps<TValue> = BPComponentProps<TValue>> extends React.Component<TProps, TState> {
20
+ static contextType: React.Context<UiConfigRendererBaseBp>;
21
+ context: UiConfigRendererContextType;
22
+ protected constructor(props: TProps, context: UiConfigRendererContextType, state: TState);
23
+ setStatePromise(state: TState): Promise<void>;
24
+ getUpdatedState(state: TState): TState;
25
+ private _refreshing;
26
+ refreshConfigState(state?: TState): Promise<void>;
27
+ componentDidMount(): void;
28
+ componentWillUnmount(): void;
29
+ }
@@ -0,0 +1,46 @@
1
+ import React, { createContext } from "react";
2
+ import { getOrCall } from 'ts-browser-helpers';
3
+ export const UiConfigRendererContext = createContext(null);
4
+ export class BPComponent extends React.Component {
5
+ static contextType = UiConfigRendererContext;
6
+ constructor(props, context, state) {
7
+ super(props, context);
8
+ this.state = this.getUpdatedState(state);
9
+ }
10
+ setStatePromise(state) {
11
+ return new Promise(resolve => this.setState(state, resolve));
12
+ }
13
+ getUpdatedState(state) {
14
+ return {
15
+ ...state,
16
+ hidden: getOrCall(this.props.config.hidden) ?? false,
17
+ disabled: getOrCall(this.props.config.disabled) ?? false,
18
+ readOnly: getOrCall(this.props.config.readOnly) ?? false,
19
+ };
20
+ }
21
+ _refreshing = false;
22
+ async refreshConfigState(state) {
23
+ if (!this.props.config)
24
+ return;
25
+ if (this._refreshing)
26
+ return;
27
+ this._refreshing = true;
28
+ const s = this.getUpdatedState(state || this.state);
29
+ await this.setStatePromise(s);
30
+ this._refreshing = false;
31
+ }
32
+ componentDidMount() {
33
+ super.componentDidMount?.();
34
+ this.props.config.uiRef = this;
35
+ this.props.config.uiRefresh = (deep = false, mode = 'postFrame', delay = 0) => {
36
+ this.context.addToRefreshQueue(mode, this.props.config, deep, delay);
37
+ };
38
+ this.props.config.uiRefresh();
39
+ }
40
+ componentWillUnmount() {
41
+ this.props.config.uiRef = undefined;
42
+ this.props.config.uiRefresh = undefined;
43
+ super.componentWillUnmount?.();
44
+ }
45
+ }
46
+ //# sourceMappingURL=BPComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BPComponent.js","sourceRoot":"","sources":["../../../src/bpComponents/BPComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAC,aAAa,EAAC,MAAM,OAAO,CAAC;AAG3C,OAAO,EAAC,SAAS,EAAC,MAAM,oBAAoB,CAAA;AAiB5C,MAAM,CAAC,MAAM,uBAAuB,GAAG,aAAa,CAAyB,IAAW,CAAC,CAAA;AAEzF,MAAM,OAAgB,WAAgG,SAAQ,KAAK,CAAC,SAAyB;IACzJ,MAAM,CAAC,WAAW,GAAG,uBAAuB,CAAA;IAG5C,YAAsB,KAAa,EAAE,OAAoC,EAAE,KAAa;QACpF,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;IAE5C,CAAC;IAMD,eAAe,CAAC,KAAa;QACzB,OAAO,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;IACtE,CAAC;IAMD,eAAe,CAAC,KAAa;QACzB,OAAO;YACH,GAAG,KAAK;YACR,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK;YACpD,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK;YACxD,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK;SAC3D,CAAA;IACL,CAAC;IAEO,WAAW,GAAG,KAAK,CAAC;IAQ5B,KAAK,CAAC,kBAAkB,CAAC,KAAc;QACnC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,OAAO;QAC/B,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO;QAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;QACvB,MAAM,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,CAAA;QAEnD,MAAM,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;QAG7B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;IAC5B,CAAC;IAOD,iBAAiB;QACb,KAAK,CAAC,iBAAiB,EAAE,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAA;QAC9B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,WAAW,EAAE,KAAK,GAAG,CAAC,EAAE,EAAE;YAE1E,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;QACxE,CAAC,CAAA;QAED,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAA;IACjC,CAAC;IAED,oBAAoB;QAEhB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,SAAS,CAAA;QACnC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG,SAAS,CAAA;QACvC,KAAK,CAAC,oBAAoB,EAAE,EAAE,CAAC;IACnC,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { BPLabelledComponent, BPLabelledComponentState } from './BPLabelledComponent';
2
+ import { BPComponentProps, UiConfigRendererContextType } from './BPComponent';
3
+ import { PanelActions } from '@blueprintjs/core/lib/esm/components/panel-stack2/panelTypes';
4
+ import { UiObjectConfig } from 'uiconfig.js';
5
+ export type BPContainerComponentState = BPLabelledComponentState & {
6
+ children: UiObjectConfig[];
7
+ expanded: boolean;
8
+ };
9
+ export declare class BPContainerComponent<TState extends BPContainerComponentState = BPContainerComponentState> extends BPLabelledComponent<void, TState, BPComponentProps<void> & PanelActions> {
10
+ protected _childParentOnChange: UiObjectConfig['parentOnChange'];
11
+ protected _registerChild(child: UiObjectConfig): void;
12
+ protected _unregisterChild(child: UiObjectConfig): void;
13
+ constructor(props: BPComponentProps<void> & PanelActions, context: UiConfigRendererContextType, state: TState);
14
+ getUpdatedState(state: TState): TState & import("./BPComponent").BPComponentState & {
15
+ children: UiObjectConfig<any, string, any>[];
16
+ expanded: boolean;
17
+ label: string;
18
+ };
19
+ componentDidMount(): void;
20
+ componentWillUnmount(): void;
21
+ }
@@ -0,0 +1,51 @@
1
+ import { BPLabelledComponent } from './BPLabelledComponent';
2
+ import { getOrCall } from 'ts-browser-helpers';
3
+ export class BPContainerComponent extends BPLabelledComponent {
4
+ _childParentOnChange = (ev, ...args) => {
5
+ this.context.methods.dispatchOnChangeSync(this.props.config, { ...ev }, ...args);
6
+ };
7
+ _registerChild(child) {
8
+ child.parentOnChange = this._childParentOnChange;
9
+ if (child.property === undefined &&
10
+ child.value === undefined &&
11
+ child.getValue === undefined &&
12
+ child.setValue === undefined &&
13
+ child.type !== 'button' &&
14
+ (this.props.config.property !== undefined || this.props.config.value !== undefined))
15
+ child.property = this.props.config.property !== undefined ? this.props.config.property : [this.props.config, 'value'];
16
+ }
17
+ _unregisterChild(child) {
18
+ if (child.parentOnChange !== this._childParentOnChange)
19
+ child.parentOnChange = undefined;
20
+ if (Array.isArray(child.property) &&
21
+ (child.property === this.props.config.property ||
22
+ (child.property[0] === this.props.config &&
23
+ child.property[1] === 'value')))
24
+ delete child.property;
25
+ }
26
+ constructor(props, context, state) {
27
+ super(props, context, state);
28
+ }
29
+ getUpdatedState(state) {
30
+ const oldChildren = state.children;
31
+ const newChildren = this.context.methods.getChildren(this.props.config);
32
+ const removed = oldChildren.filter(c => !newChildren.includes(c));
33
+ const added = newChildren.filter(c => !oldChildren.includes(c));
34
+ removed.forEach(c => this._unregisterChild(c));
35
+ added.forEach(c => this._registerChild(c));
36
+ return {
37
+ ...super.getUpdatedState(state),
38
+ children: newChildren,
39
+ expanded: getOrCall(this.props.config.expanded) ?? false,
40
+ };
41
+ }
42
+ componentDidMount() {
43
+ super.componentDidMount?.();
44
+ this.state.children.forEach(c => this._registerChild(c));
45
+ }
46
+ componentWillUnmount() {
47
+ super.componentWillUnmount?.();
48
+ this.state.children.forEach(c => this._unregisterChild(c));
49
+ }
50
+ }
51
+ //# sourceMappingURL=BPContainerComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BPContainerComponent.js","sourceRoot":"","sources":["../../../src/bpComponents/BPContainerComponent.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { BPComponentProps, UiConfigRendererContextType } from "./BPComponent";
2
+ import { BPInputComponent } from "./BPInputComponent";
3
+ import { BPValueComponentState } from "./BPValueComponent";
4
+ export interface DropdownItem {
5
+ label: string;
6
+ value: string | number;
7
+ }
8
+ export type BPDropdownComponentState = BPValueComponentState<string | number> & {
9
+ options: DropdownItem[];
10
+ };
11
+ export declare class BPDropdownInputComponent extends BPInputComponent<string | number, BPDropdownComponentState> {
12
+ constructor(props: BPComponentProps<string | number>, context: UiConfigRendererContextType);
13
+ getUpdatedState(state: BPDropdownComponentState): BPDropdownComponentState;
14
+ renderInput(): import("react/jsx-runtime").JSX.Element;
15
+ }
@@ -0,0 +1,40 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Button, MenuItem } from "@blueprintjs/core";
3
+ import { BPInputComponent } from "./BPInputComponent";
4
+ import { Select } from "@blueprintjs/select";
5
+ const renderDropdownItem = (item, { handleClick, handleFocus, modifiers }) => {
6
+ if (!modifiers.matchesPredicate) {
7
+ return null;
8
+ }
9
+ return (_jsx(MenuItem, { text: item.label, label: '', roleStructure: "listoption", active: modifiers.active, onClick: handleClick, onFocus: handleFocus }, item.value));
10
+ };
11
+ export class BPDropdownInputComponent extends BPInputComponent {
12
+ constructor(props, context) {
13
+ super(props, context, {
14
+ value: '0',
15
+ label: 'Dropdown',
16
+ options: [{ label: 'none', value: '' }]
17
+ });
18
+ }
19
+ getUpdatedState(state) {
20
+ const children = this.context.methods.getChildren(this.props.config);
21
+ const options = children.map(value => {
22
+ const label = this.context.methods.getLabel(value);
23
+ return { label, value: value.value ?? label };
24
+ });
25
+ return super.getUpdatedState({
26
+ ...state, options
27
+ });
28
+ }
29
+ renderInput() {
30
+ const item = this.state.options.find(o => o.value === this.state.value) || this.state.options[0];
31
+ return (_jsx(Select, { filterable: false, activeItem: item, disabled: this.state.disabled, popoverProps: {
32
+ minimal: true
33
+ }, noResults: _jsx(MenuItem, { disabled: true, text: "No results.", roleStructure: "listoption" }), items: this.state.options, onItemSelect: (item) => {
34
+ if (this.state.readOnly)
35
+ return;
36
+ this.setValue(item.value);
37
+ }, itemRenderer: renderDropdownItem, children: _jsx(Button, { rightIcon: "double-caret-vertical", small: true, style: { whiteSpace: 'nowrap', textOverflow: "ellipsis" }, children: item.label }) }, this.props.config.uuid));
38
+ }
39
+ }
40
+ //# sourceMappingURL=BPDropdownInputComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BPDropdownInputComponent.js","sourceRoot":"","sources":["../../../src/bpComponents/BPDropdownInputComponent.tsx"],"names":[],"mappings":";AACA,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAe,MAAM,EAAC,MAAM,qBAAqB,CAAC;AAUzD,MAAM,kBAAkB,GAA+B,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,EAAE;IACrG,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,CACH,KAAC,QAAQ,IACL,IAAI,EAAE,IAAI,CAAC,KAAK,EAChB,KAAK,EAAE,EAAE,EACT,aAAa,EAAC,YAAY,EAC1B,MAAM,EAAE,SAAS,CAAC,MAAM,EAExB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,WAAW,IAFf,IAAI,CAAC,KAAK,CAGjB,CACL,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,OAAO,wBAAyB,SAAQ,gBAAyD;IACnG,YAAY,KAAsC,EAAE,OAAoC;QACpF,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE;YAClB,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,UAAU;YACjB,OAAO,EAAE,CAAC,EAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAC,CAAC;SACxC,CAAC,CAAC;IACP,CAAC;IAED,eAAe,CAAC,KAA+B;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACpE,MAAM,OAAO,GAAmB,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACjD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;YAClD,OAAO,EAAC,KAAK,EAAE,KAAK,EAAE,KAAM,CAAC,KAAK,IAAI,KAAK,EAAC,CAAA;QAChD,CAAC,CAAC,CAAA;QAGF,OAAO,KAAK,CAAC,eAAe,CAAC;YACzB,GAAG,KAAK,EAAE,OAAO;SACpB,CAAC,CAAC;IACP,CAAC;IAED,WAAW;QACP,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA,EAAE,CAAA,CAAC,CAAC,KAAK,KAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QAC1F,OAAO,CACH,KAAC,MAAM,IACH,UAAU,EAAE,KAAK,EACjB,UAAU,EAAE,IAAI,EAEhB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAC7B,YAAY,EAAE;gBACV,OAAO,EAAE,IAAI;aAChB,EACD,SAAS,EAAE,KAAC,QAAQ,IAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAC,aAAa,EAAE,aAAa,EAAC,YAAY,GAAG,EACtF,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EACzB,YAAY,EAAE,CAAC,IAAI,EAAC,EAAE;gBAClB,IAAG,IAAI,CAAC,KAAK,CAAC,QAAQ;oBAAE,OAAM;gBAC9B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC7B,CAAC,EACD,YAAY,EAAE,kBAAkB,YAGhC,KAAC,MAAM,IAAC,SAAS,EAAC,uBAAuB,EAAC,KAAK,EAAE,IAAI,EAC7C,KAAK,EAAE,EAAC,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAC,YAAG,IAAI,CAAC,KAAK,GAAU,IAfjF,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAgBtB,CACZ,CAAA;IACL,CAAC;CACJ"}
@@ -0,0 +1,25 @@
1
+ import { BPComponentProps, UiConfigRendererContextType } from "./BPComponent";
2
+ import { BPValueComponent, BPValueComponentState } from "./BPValueComponent";
3
+ type StateValue = string | File | null;
4
+ type FileImportType = any;
5
+ export type BPFileComponentState = BPValueComponentState<StateValue> & {
6
+ mode: 'url' | 'file';
7
+ };
8
+ type BPFileComponentExtras = {
9
+ fileLoader?: {
10
+ load: (v: string | File | {
11
+ path: string;
12
+ file: File | Blob;
13
+ }) => Promise<FileImportType>;
14
+ };
15
+ };
16
+ type BPFileComponentContextType = UiConfigRendererContextType & BPFileComponentExtras;
17
+ export declare class BPFileComponent extends BPValueComponent<FileImportType | null, BPFileComponentState, StateValue> {
18
+ context: BPFileComponentContextType;
19
+ props: BPComponentProps<FileImportType | null> & BPFileComponentExtras;
20
+ constructor(props: BPComponentProps<FileImportType | null> & BPFileComponentExtras, context: BPFileComponentContextType);
21
+ convertValueToState(val: FileImportType | null, state: BPFileComponentState): BPFileComponentState;
22
+ convertStateToValue(state: BPFileComponentState): Promise<FileImportType | null>;
23
+ render(): import("react/jsx-runtime").JSX.Element | null;
24
+ }
25
+ export {};