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.
- package/README.md +28 -3
- package/dist/ConfigObject.d.ts +5 -3
- package/dist/allPaths-zMnhJyQa.js +23 -0
- package/dist/{allPaths-3YKfhB8Q.js.map → allPaths-zMnhJyQa.js.map} +1 -1
- package/dist/{allPathsLoader-lWFPuUtu.js → allPathsLoader-eCsEfMwc.js} +5 -5
- package/dist/{allPathsLoader-lWFPuUtu.js.map → allPathsLoader-eCsEfMwc.js.map} +1 -1
- package/dist/bpComponents/BPButtonComponent.d.ts +1 -1
- package/dist/bpComponents/BPColorInputComponent.d.ts +1 -2
- package/dist/bpComponents/BPComponent.d.ts +7 -3
- package/dist/bpComponents/BPDropdownInputComponent.d.ts +1 -2
- package/dist/bpComponents/BPFileComponent.d.ts +1 -2
- package/dist/bpComponents/BPFolderComponent.d.ts +1 -1
- package/dist/bpComponents/BPInputComponent.d.ts +2 -2
- package/dist/bpComponents/BPNumberInputComponent.d.ts +1 -2
- package/dist/bpComponents/BPPanelComponent.d.ts +1 -2
- package/dist/bpComponents/BPSliderInputComponent.d.ts +1 -2
- package/dist/bpComponents/BPTextInputComponent.d.ts +1 -2
- package/dist/bpComponents/BPToggleInputComponent.d.ts +2 -3
- package/dist/bpComponents/BPTreeComponent.d.ts +15 -11
- package/dist/bpComponents/BPTreeFolderComponent.d.ts +2 -2
- package/dist/bpComponents/BPVectorInputComponent.d.ts +1 -2
- package/dist/components/AppToaster.d.ts +6 -0
- package/dist/components/ConfigurationPanelComponent.d.ts +4 -0
- package/dist/components/DialogContext.d.ts +52 -0
- package/dist/components/DraggableIcon.d.ts +1 -1
- package/dist/components/ExtendedNumericInput.d.ts +1 -1
- package/dist/components/FormGroupComponent.d.ts +2 -2
- package/dist/components/InspectorStackComponent.d.ts +1 -2
- package/dist/components/VisualStyleContext.d.ts +10 -1
- package/dist/components/bpIconWrapper.d.ts +2 -2
- package/dist/components/loadingState.d.ts +4 -0
- package/dist/components/variableIcons.d.ts +40 -41
- package/dist/{index-RJDPvlPL.js → index--Vpcr7_d.js} +3 -3
- package/dist/{index-RJDPvlPL.js.map → index--Vpcr7_d.js.map} +1 -1
- package/dist/{index-sUDdkVfJ.js → index-QyqZQ9mG.js} +3 -3
- package/dist/{index-sUDdkVfJ.js.map → index-QyqZQ9mG.js.map} +1 -1
- package/dist/{index-zXngzS2o.js → index-f-ZwHBj3.js} +2786 -2796
- package/dist/index-f-ZwHBj3.js.map +1 -0
- package/dist/index.js +20 -20
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +3 -3
- package/dist/lib.d.ts +33 -0
- package/dist/{splitPathsBySizeLoader-97pYQiA7.js → splitPathsBySizeLoader-xt9FLbSp.js} +6 -6
- package/dist/{splitPathsBySizeLoader-97pYQiA7.js.map → splitPathsBySizeLoader-xt9FLbSp.js.map} +1 -1
- package/docs/assets/highlight.css +17 -17
- package/docs/assets/main.js +4 -3
- package/docs/assets/navigation.js +1 -0
- package/docs/assets/search.js +1 -1
- package/docs/assets/style.css +484 -369
- package/docs/classes/UI.html +22 -403
- package/docs/classes/UiConfigRendererBlueprint.html +22 -404
- package/docs/index.html +38 -107
- package/docs/modules.html +3 -50
- package/lib/cjs/ConfigObject.d.ts +18 -0
- package/lib/cjs/ConfigObject.js +82 -0
- package/lib/cjs/ConfigObject.js.map +1 -0
- package/lib/cjs/UiConfigRendererBlueprint.d.ts +13 -0
- package/lib/cjs/UiConfigRendererBlueprint.js +56 -0
- package/lib/cjs/UiConfigRendererBlueprint.js.map +1 -0
- package/lib/cjs/bpComponents/BPButtonComponent.d.ts +8 -0
- package/lib/cjs/bpComponents/BPButtonComponent.js +19 -0
- package/lib/cjs/bpComponents/BPButtonComponent.js.map +1 -0
- package/lib/cjs/bpComponents/BPColorInputComponent.d.ts +24 -0
- package/lib/cjs/bpComponents/BPColorInputComponent.js +127 -0
- package/lib/cjs/bpComponents/BPColorInputComponent.js.map +1 -0
- package/lib/cjs/bpComponents/BPComponent.d.ts +29 -0
- package/lib/cjs/bpComponents/BPComponent.js +59 -0
- package/lib/cjs/bpComponents/BPComponent.js.map +1 -0
- package/lib/cjs/bpComponents/BPContainerComponent.d.ts +21 -0
- package/lib/cjs/bpComponents/BPContainerComponent.js +54 -0
- package/lib/cjs/bpComponents/BPContainerComponent.js.map +1 -0
- package/lib/cjs/bpComponents/BPDropdownInputComponent.d.ts +15 -0
- package/lib/cjs/bpComponents/BPDropdownInputComponent.js +43 -0
- package/lib/cjs/bpComponents/BPDropdownInputComponent.js.map +1 -0
- package/lib/cjs/bpComponents/BPFileComponent.d.ts +25 -0
- package/lib/cjs/bpComponents/BPFileComponent.js +69 -0
- package/lib/cjs/bpComponents/BPFileComponent.js.map +1 -0
- package/lib/cjs/bpComponents/BPFolderComponent.d.ts +16 -0
- package/lib/cjs/bpComponents/BPFolderComponent.js +39 -0
- package/lib/cjs/bpComponents/BPFolderComponent.js.map +1 -0
- package/lib/cjs/bpComponents/BPInputComponent.d.ts +11 -0
- package/lib/cjs/bpComponents/BPInputComponent.js +34 -0
- package/lib/cjs/bpComponents/BPInputComponent.js.map +1 -0
- package/lib/cjs/bpComponents/BPLabelledComponent.d.ts +8 -0
- package/lib/cjs/bpComponents/BPLabelledComponent.js +14 -0
- package/lib/cjs/bpComponents/BPLabelledComponent.js.map +1 -0
- package/lib/cjs/bpComponents/BPNumberInputComponent.d.ts +10 -0
- package/lib/cjs/bpComponents/BPNumberInputComponent.js +40 -0
- package/lib/cjs/bpComponents/BPNumberInputComponent.js.map +1 -0
- package/lib/cjs/bpComponents/BPPanelComponent.d.ts +16 -0
- package/lib/cjs/bpComponents/BPPanelComponent.js +35 -0
- package/lib/cjs/bpComponents/BPPanelComponent.js.map +1 -0
- package/lib/cjs/bpComponents/BPSliderInputComponent.d.ts +14 -0
- package/lib/cjs/bpComponents/BPSliderInputComponent.js +41 -0
- package/lib/cjs/bpComponents/BPSliderInputComponent.js.map +1 -0
- package/lib/cjs/bpComponents/BPTextInputComponent.d.ts +7 -0
- package/lib/cjs/bpComponents/BPTextInputComponent.js +19 -0
- package/lib/cjs/bpComponents/BPTextInputComponent.js.map +1 -0
- package/lib/cjs/bpComponents/BPToggleInputComponent.d.ts +8 -0
- package/lib/cjs/bpComponents/BPToggleInputComponent.js +22 -0
- package/lib/cjs/bpComponents/BPToggleInputComponent.js.map +1 -0
- package/lib/cjs/bpComponents/BPTreeComponent.d.ts +36 -0
- package/lib/cjs/bpComponents/BPTreeComponent.js +131 -0
- package/lib/cjs/bpComponents/BPTreeComponent.js.map +1 -0
- package/lib/cjs/bpComponents/BPTreeFolderComponent.d.ts +10 -0
- package/lib/cjs/bpComponents/BPTreeFolderComponent.js +40 -0
- package/lib/cjs/bpComponents/BPTreeFolderComponent.js.map +1 -0
- package/lib/cjs/bpComponents/BPValueComponent.d.ts +16 -0
- package/lib/cjs/bpComponents/BPValueComponent.js +46 -0
- package/lib/cjs/bpComponents/BPValueComponent.js.map +1 -0
- package/lib/cjs/bpComponents/BPVectorInputComponent.d.ts +19 -0
- package/lib/cjs/bpComponents/BPVectorInputComponent.js +110 -0
- package/lib/cjs/bpComponents/BPVectorInputComponent.js.map +1 -0
- package/lib/cjs/components/ConfigurationPanelComponent.d.ts +4 -0
- package/lib/cjs/components/ConfigurationPanelComponent.js +30 -0
- package/lib/cjs/components/ConfigurationPanelComponent.js.map +1 -0
- package/lib/cjs/components/DialogContext.d.ts +48 -0
- package/lib/cjs/components/DialogContext.js +79 -0
- package/lib/cjs/components/DialogContext.js.map +1 -0
- package/lib/cjs/components/DraggableIcon.d.ts +19 -0
- package/lib/cjs/components/DraggableIcon.js +70 -0
- package/lib/cjs/components/DraggableIcon.js.map +1 -0
- package/lib/cjs/components/ExtendedNumericInput.d.ts +25 -0
- package/lib/cjs/components/ExtendedNumericInput.js +174 -0
- package/lib/cjs/components/ExtendedNumericInput.js.map +1 -0
- package/lib/cjs/components/FileComponent.d.ts +7 -0
- package/lib/cjs/components/FileComponent.js +49 -0
- package/lib/cjs/components/FileComponent.js.map +1 -0
- package/lib/cjs/components/FormGroupComponent.d.ts +6 -0
- package/lib/cjs/components/FormGroupComponent.js +16 -0
- package/lib/cjs/components/FormGroupComponent.js.map +1 -0
- package/lib/cjs/components/InspectorStackComponent.d.ts +4 -0
- package/lib/cjs/components/InspectorStackComponent.js +27 -0
- package/lib/cjs/components/InspectorStackComponent.js.map +1 -0
- package/lib/cjs/components/VisualStyleContext.d.ts +119 -0
- package/lib/cjs/components/VisualStyleContext.js +60 -0
- package/lib/cjs/components/VisualStyleContext.js.map +1 -0
- package/lib/cjs/components/bpIconWrapper.d.ts +2 -0
- package/lib/cjs/components/bpIconWrapper.js +9 -0
- package/lib/cjs/components/bpIconWrapper.js.map +1 -0
- package/lib/cjs/components/loadingState.d.ts +4 -0
- package/lib/cjs/components/loadingState.js +16 -0
- package/lib/cjs/components/loadingState.js.map +1 -0
- package/lib/cjs/components/variableIcons.d.ts +40 -0
- package/lib/cjs/components/variableIcons.js +46 -0
- package/lib/cjs/components/variableIcons.js.map +1 -0
- package/lib/cjs/contexts.d.ts +1 -0
- package/lib/cjs/contexts.js +3 -0
- package/lib/cjs/contexts.js.map +1 -0
- package/lib/cjs/index.d.ts +4 -0
- package/lib/cjs/index.js +9 -0
- package/lib/cjs/index.js.map +1 -0
- package/lib/cjs/lib.d.ts +32 -0
- package/lib/cjs/lib.js +49 -0
- package/lib/cjs/lib.js.map +1 -0
- package/lib/cjs/threejs.d.ts +2 -0
- package/lib/cjs/threejs.js +3 -0
- package/lib/cjs/threejs.js.map +1 -0
- package/lib/css/renderer.css +13110 -0
- package/lib/css/renderer.css.map +1 -0
- package/lib/esm/ConfigObject.d.ts +18 -0
- package/lib/esm/ConfigObject.js +78 -0
- package/lib/esm/ConfigObject.js.map +1 -0
- package/lib/esm/UiConfigRendererBlueprint.d.ts +13 -0
- package/lib/esm/UiConfigRendererBlueprint.js +52 -0
- package/lib/esm/UiConfigRendererBlueprint.js.map +1 -0
- package/lib/esm/bpComponents/BPButtonComponent.d.ts +8 -0
- package/lib/esm/bpComponents/BPButtonComponent.js +15 -0
- package/lib/esm/bpComponents/BPButtonComponent.js.map +1 -0
- package/lib/esm/bpComponents/BPColorInputComponent.d.ts +24 -0
- package/lib/esm/bpComponents/BPColorInputComponent.js +123 -0
- package/lib/esm/bpComponents/BPColorInputComponent.js.map +1 -0
- package/lib/esm/bpComponents/BPComponent.d.ts +29 -0
- package/lib/esm/bpComponents/BPComponent.js +55 -0
- package/lib/esm/bpComponents/BPComponent.js.map +1 -0
- package/lib/esm/bpComponents/BPContainerComponent.d.ts +21 -0
- package/lib/esm/bpComponents/BPContainerComponent.js +50 -0
- package/lib/esm/bpComponents/BPContainerComponent.js.map +1 -0
- package/lib/esm/bpComponents/BPDropdownInputComponent.d.ts +15 -0
- package/lib/esm/bpComponents/BPDropdownInputComponent.js +39 -0
- package/lib/esm/bpComponents/BPDropdownInputComponent.js.map +1 -0
- package/lib/esm/bpComponents/BPFileComponent.d.ts +25 -0
- package/lib/esm/bpComponents/BPFileComponent.js +65 -0
- package/lib/esm/bpComponents/BPFileComponent.js.map +1 -0
- package/lib/esm/bpComponents/BPFolderComponent.d.ts +16 -0
- package/lib/esm/bpComponents/BPFolderComponent.js +34 -0
- package/lib/esm/bpComponents/BPFolderComponent.js.map +1 -0
- package/lib/esm/bpComponents/BPInputComponent.d.ts +11 -0
- package/lib/esm/bpComponents/BPInputComponent.js +30 -0
- package/lib/esm/bpComponents/BPInputComponent.js.map +1 -0
- package/lib/esm/bpComponents/BPLabelledComponent.d.ts +8 -0
- package/lib/esm/bpComponents/BPLabelledComponent.js +10 -0
- package/lib/esm/bpComponents/BPLabelledComponent.js.map +1 -0
- package/lib/esm/bpComponents/BPNumberInputComponent.d.ts +10 -0
- package/lib/esm/bpComponents/BPNumberInputComponent.js +36 -0
- package/lib/esm/bpComponents/BPNumberInputComponent.js.map +1 -0
- package/lib/esm/bpComponents/BPPanelComponent.d.ts +16 -0
- package/lib/esm/bpComponents/BPPanelComponent.js +31 -0
- package/lib/esm/bpComponents/BPPanelComponent.js.map +1 -0
- package/lib/esm/bpComponents/BPSliderInputComponent.d.ts +14 -0
- package/lib/esm/bpComponents/BPSliderInputComponent.js +37 -0
- package/lib/esm/bpComponents/BPSliderInputComponent.js.map +1 -0
- package/lib/esm/bpComponents/BPTextInputComponent.d.ts +7 -0
- package/lib/esm/bpComponents/BPTextInputComponent.js +15 -0
- package/lib/esm/bpComponents/BPTextInputComponent.js.map +1 -0
- package/lib/esm/bpComponents/BPToggleInputComponent.d.ts +8 -0
- package/lib/esm/bpComponents/BPToggleInputComponent.js +18 -0
- package/lib/esm/bpComponents/BPToggleInputComponent.js.map +1 -0
- package/lib/esm/bpComponents/BPTreeComponent.d.ts +36 -0
- package/lib/esm/bpComponents/BPTreeComponent.js +127 -0
- package/lib/esm/bpComponents/BPTreeComponent.js.map +1 -0
- package/lib/esm/bpComponents/BPTreeFolderComponent.d.ts +10 -0
- package/lib/esm/bpComponents/BPTreeFolderComponent.js +37 -0
- package/lib/esm/bpComponents/BPTreeFolderComponent.js.map +1 -0
- package/lib/esm/bpComponents/BPValueComponent.d.ts +16 -0
- package/lib/esm/bpComponents/BPValueComponent.js +42 -0
- package/lib/esm/bpComponents/BPValueComponent.js.map +1 -0
- package/lib/esm/bpComponents/BPVectorInputComponent.d.ts +19 -0
- package/lib/esm/bpComponents/BPVectorInputComponent.js +106 -0
- package/lib/esm/bpComponents/BPVectorInputComponent.js.map +1 -0
- package/lib/esm/components/AppToaster.d.ts +6 -0
- package/lib/esm/components/AppToaster.js +8 -0
- package/lib/esm/components/AppToaster.js.map +1 -0
- package/lib/esm/components/ConfigurationPanelComponent.d.ts +4 -0
- package/lib/esm/components/ConfigurationPanelComponent.js +26 -0
- package/lib/esm/components/ConfigurationPanelComponent.js.map +1 -0
- package/lib/esm/components/DialogContext.d.ts +52 -0
- package/lib/esm/components/DialogContext.js +89 -0
- package/lib/esm/components/DialogContext.js.map +1 -0
- package/lib/esm/components/DraggableIcon.d.ts +19 -0
- package/lib/esm/components/DraggableIcon.js +66 -0
- package/lib/esm/components/DraggableIcon.js.map +1 -0
- package/lib/esm/components/ExtendedNumericInput.d.ts +25 -0
- package/lib/esm/components/ExtendedNumericInput.js +170 -0
- package/lib/esm/components/ExtendedNumericInput.js.map +1 -0
- package/lib/esm/components/FileComponent.d.ts +7 -0
- package/lib/esm/components/FileComponent.js +45 -0
- package/lib/esm/components/FileComponent.js.map +1 -0
- package/lib/esm/components/FormGroupComponent.d.ts +6 -0
- package/lib/esm/components/FormGroupComponent.js +12 -0
- package/lib/esm/components/FormGroupComponent.js.map +1 -0
- package/lib/esm/components/InspectorStackComponent.d.ts +4 -0
- package/lib/esm/components/InspectorStackComponent.js +23 -0
- package/lib/esm/components/InspectorStackComponent.js.map +1 -0
- package/lib/esm/components/VisualStyleContext.d.ts +119 -0
- package/lib/esm/components/VisualStyleContext.js +53 -0
- package/lib/esm/components/VisualStyleContext.js.map +1 -0
- package/lib/esm/components/bpIconWrapper.d.ts +2 -0
- package/lib/esm/components/bpIconWrapper.js +5 -0
- package/lib/esm/components/bpIconWrapper.js.map +1 -0
- package/lib/esm/components/loadingState.d.ts +4 -0
- package/lib/esm/components/loadingState.js +21 -0
- package/lib/esm/components/loadingState.js.map +1 -0
- package/lib/esm/components/variableIcons.d.ts +40 -0
- package/lib/esm/components/variableIcons.js +43 -0
- package/lib/esm/components/variableIcons.js.map +1 -0
- package/lib/esm/contexts.d.ts +1 -0
- package/lib/esm/contexts.js +2 -0
- package/lib/esm/contexts.js.map +1 -0
- package/lib/esm/index.d.ts +4 -0
- package/lib/esm/index.js +5 -0
- package/lib/esm/index.js.map +1 -0
- package/lib/esm/lib.d.ts +33 -0
- package/lib/esm/lib.js +34 -0
- package/lib/esm/lib.js.map +1 -0
- package/lib/esm/threejs.d.ts +2 -0
- package/lib/esm/threejs.js +2 -0
- package/lib/esm/threejs.js.map +1 -0
- package/lib/esnext/ConfigObject.d.ts +18 -0
- package/lib/esnext/ConfigObject.js +75 -0
- package/lib/esnext/ConfigObject.js.map +1 -0
- package/lib/esnext/UiConfigRendererBlueprint.d.ts +13 -0
- package/lib/esnext/UiConfigRendererBlueprint.js +52 -0
- package/lib/esnext/UiConfigRendererBlueprint.js.map +1 -0
- package/lib/esnext/bpComponents/BPButtonComponent.d.ts +8 -0
- package/lib/esnext/bpComponents/BPButtonComponent.js +15 -0
- package/lib/esnext/bpComponents/BPButtonComponent.js.map +1 -0
- package/lib/esnext/bpComponents/BPColorInputComponent.d.ts +24 -0
- package/lib/esnext/bpComponents/BPColorInputComponent.js +110 -0
- package/lib/esnext/bpComponents/BPColorInputComponent.js.map +1 -0
- package/lib/esnext/bpComponents/BPComponent.d.ts +29 -0
- package/lib/esnext/bpComponents/BPComponent.js +46 -0
- package/lib/esnext/bpComponents/BPComponent.js.map +1 -0
- package/lib/esnext/bpComponents/BPContainerComponent.d.ts +21 -0
- package/lib/esnext/bpComponents/BPContainerComponent.js +51 -0
- package/lib/esnext/bpComponents/BPContainerComponent.js.map +1 -0
- package/lib/esnext/bpComponents/BPDropdownInputComponent.d.ts +15 -0
- package/lib/esnext/bpComponents/BPDropdownInputComponent.js +40 -0
- package/lib/esnext/bpComponents/BPDropdownInputComponent.js.map +1 -0
- package/lib/esnext/bpComponents/BPFileComponent.d.ts +25 -0
- package/lib/esnext/bpComponents/BPFileComponent.js +52 -0
- package/lib/esnext/bpComponents/BPFileComponent.js.map +1 -0
- package/lib/esnext/bpComponents/BPFolderComponent.d.ts +16 -0
- package/lib/esnext/bpComponents/BPFolderComponent.js +30 -0
- package/lib/esnext/bpComponents/BPFolderComponent.js.map +1 -0
- package/lib/esnext/bpComponents/BPInputComponent.d.ts +11 -0
- package/lib/esnext/bpComponents/BPInputComponent.js +19 -0
- package/lib/esnext/bpComponents/BPInputComponent.js.map +1 -0
- package/lib/esnext/bpComponents/BPLabelledComponent.d.ts +8 -0
- package/lib/esnext/bpComponents/BPLabelledComponent.js +13 -0
- package/lib/esnext/bpComponents/BPLabelledComponent.js.map +1 -0
- package/lib/esnext/bpComponents/BPNumberInputComponent.d.ts +10 -0
- package/lib/esnext/bpComponents/BPNumberInputComponent.js +21 -0
- package/lib/esnext/bpComponents/BPNumberInputComponent.js.map +1 -0
- package/lib/esnext/bpComponents/BPPanelComponent.d.ts +16 -0
- package/lib/esnext/bpComponents/BPPanelComponent.js +31 -0
- package/lib/esnext/bpComponents/BPPanelComponent.js.map +1 -0
- package/lib/esnext/bpComponents/BPSliderInputComponent.d.ts +14 -0
- package/lib/esnext/bpComponents/BPSliderInputComponent.js +39 -0
- package/lib/esnext/bpComponents/BPSliderInputComponent.js.map +1 -0
- package/lib/esnext/bpComponents/BPTextInputComponent.d.ts +7 -0
- package/lib/esnext/bpComponents/BPTextInputComponent.js +15 -0
- package/lib/esnext/bpComponents/BPTextInputComponent.js.map +1 -0
- package/lib/esnext/bpComponents/BPToggleInputComponent.d.ts +8 -0
- package/lib/esnext/bpComponents/BPToggleInputComponent.js +18 -0
- package/lib/esnext/bpComponents/BPToggleInputComponent.js.map +1 -0
- package/lib/esnext/bpComponents/BPTreeComponent.d.ts +36 -0
- package/lib/esnext/bpComponents/BPTreeComponent.js +111 -0
- package/lib/esnext/bpComponents/BPTreeComponent.js.map +1 -0
- package/lib/esnext/bpComponents/BPTreeFolderComponent.d.ts +10 -0
- package/lib/esnext/bpComponents/BPTreeFolderComponent.js +23 -0
- package/lib/esnext/bpComponents/BPTreeFolderComponent.js.map +1 -0
- package/lib/esnext/bpComponents/BPValueComponent.d.ts +16 -0
- package/lib/esnext/bpComponents/BPValueComponent.js +29 -0
- package/lib/esnext/bpComponents/BPValueComponent.js.map +1 -0
- package/lib/esnext/bpComponents/BPVectorInputComponent.d.ts +19 -0
- package/lib/esnext/bpComponents/BPVectorInputComponent.js +93 -0
- package/lib/esnext/bpComponents/BPVectorInputComponent.js.map +1 -0
- package/lib/esnext/components/ConfigurationPanelComponent.d.ts +4 -0
- package/lib/esnext/components/ConfigurationPanelComponent.js +26 -0
- package/lib/esnext/components/ConfigurationPanelComponent.js.map +1 -0
- package/lib/esnext/components/DialogContext.d.ts +48 -0
- package/lib/esnext/components/DialogContext.js +55 -0
- package/lib/esnext/components/DialogContext.js.map +1 -0
- package/lib/esnext/components/DraggableIcon.d.ts +19 -0
- package/lib/esnext/components/DraggableIcon.js +62 -0
- package/lib/esnext/components/DraggableIcon.js.map +1 -0
- package/lib/esnext/components/ExtendedNumericInput.d.ts +25 -0
- package/lib/esnext/components/ExtendedNumericInput.js +151 -0
- package/lib/esnext/components/ExtendedNumericInput.js.map +1 -0
- package/lib/esnext/components/FileComponent.d.ts +7 -0
- package/lib/esnext/components/FileComponent.js +42 -0
- package/lib/esnext/components/FileComponent.js.map +1 -0
- package/lib/esnext/components/FormGroupComponent.d.ts +6 -0
- package/lib/esnext/components/FormGroupComponent.js +11 -0
- package/lib/esnext/components/FormGroupComponent.js.map +1 -0
- package/lib/esnext/components/InspectorStackComponent.d.ts +4 -0
- package/lib/esnext/components/InspectorStackComponent.js +23 -0
- package/lib/esnext/components/InspectorStackComponent.js.map +1 -0
- package/lib/esnext/components/VisualStyleContext.d.ts +119 -0
- package/lib/esnext/components/VisualStyleContext.js +53 -0
- package/lib/esnext/components/VisualStyleContext.js.map +1 -0
- package/lib/esnext/components/bpIconWrapper.d.ts +2 -0
- package/lib/esnext/components/bpIconWrapper.js +5 -0
- package/lib/esnext/components/bpIconWrapper.js.map +1 -0
- package/lib/esnext/components/loadingState.d.ts +4 -0
- package/lib/esnext/components/loadingState.js +12 -0
- package/lib/esnext/components/loadingState.js.map +1 -0
- package/lib/esnext/components/variableIcons.d.ts +40 -0
- package/lib/esnext/components/variableIcons.js +43 -0
- package/lib/esnext/components/variableIcons.js.map +1 -0
- package/lib/esnext/contexts.d.ts +1 -0
- package/lib/esnext/contexts.js +2 -0
- package/lib/esnext/contexts.js.map +1 -0
- package/lib/esnext/index.d.ts +4 -0
- package/lib/esnext/index.js +5 -0
- package/lib/esnext/index.js.map +1 -0
- package/lib/esnext/lib.d.ts +32 -0
- package/lib/esnext/lib.js +33 -0
- package/lib/esnext/lib.js.map +1 -0
- package/lib/esnext/threejs.d.ts +2 -0
- package/lib/esnext/threejs.js +2 -0
- package/lib/esnext/threejs.js.map +1 -0
- package/package.json +46 -13
- package/src/ConfigObject.tsx +4 -4
- package/src/UiConfigRendererBlueprint.tsx +2 -15
- package/src/bpComponents/BPButtonComponent.scss +1 -0
- package/src/bpComponents/BPColorInputComponent.tsx +1 -1
- package/src/bpComponents/BPComponent.tsx +9 -3
- package/src/bpComponents/BPDropdownInputComponent.tsx +0 -1
- package/src/bpComponents/BPFileComponent.tsx +2 -3
- package/src/bpComponents/BPFolderComponent.scss +2 -2
- package/src/bpComponents/BPInputComponent.tsx +1 -1
- package/src/bpComponents/BPPanelComponent.tsx +0 -1
- package/src/bpComponents/BPSliderInputComponent.tsx +0 -1
- package/src/bpComponents/BPTextInputComponent.tsx +1 -1
- package/src/bpComponents/BPToggleInputComponent.tsx +1 -1
- package/src/bpComponents/BPTreeComponent.tsx +48 -31
- package/src/bpComponents/BPTreeFolderComponent.tsx +5 -5
- package/src/components/AppToaster.tsx +18 -0
- package/src/components/ConfigurationPanelComponent.tsx +63 -0
- package/src/components/DialogContext.tsx +150 -0
- package/src/components/DraggableIcon.tsx +1 -0
- package/src/components/ExtendedNumericInput.tsx +1 -1
- package/src/components/FormGroupComponent.tsx +1 -1
- package/src/components/InspectorStackComponent.tsx +3 -33
- package/src/components/VisualStyleContext.tsx +33 -1
- package/src/components/bpIconWrapper.tsx +1 -1
- package/src/components/common.scss +6 -0
- package/src/components/loadingState.tsx +11 -0
- package/src/components/variableIcons.tsx +0 -1
- package/src/lib.ts +33 -0
- package/src/renderer.scss +59 -56
- package/src/tsconfig.json +6 -0
- package/tsconfig.json +1 -1
- package/dist/allPaths-3YKfhB8Q.js +0 -23
- 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":"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"}
|
|
@@ -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 {};
|