uiconfig-blueprint 0.1.0-dev.1 → 0.1.0-dev.12
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 +27 -1
- package/dist/ConfigObject.d.ts +2 -1
- package/dist/UiConfigRendererBlueprint.d.ts +6 -4
- package/dist/allPaths-DtaFoocb.js +23 -0
- package/dist/{allPaths-EYaH0Usv.js.map → allPaths-DtaFoocb.js.map} +1 -1
- package/dist/{allPathsLoader-UVZ15qNf.js → allPathsLoader-B5mUU0us.js} +5 -5
- package/dist/{allPathsLoader-UVZ15qNf.js.map → allPathsLoader-B5mUU0us.js.map} +1 -1
- package/dist/bpComponents/BPButtonComponent.d.ts +1 -0
- package/dist/bpComponents/BPColorInputComponent.d.ts +1 -0
- package/dist/bpComponents/BPComponent.d.ts +3 -1
- package/dist/bpComponents/BPContainerComponent.d.ts +1 -1
- package/dist/bpComponents/BPFileComponent.d.ts +8 -5
- package/dist/bpComponents/BPFolderComponent.d.ts +9 -1
- package/dist/bpComponents/BPInputComponent.d.ts +2 -1
- package/dist/bpComponents/BPNumberInputComponent.d.ts +3 -1
- package/dist/bpComponents/BPSliderInputComponent.d.ts +1 -0
- package/dist/bpComponents/BPTreeComponent.d.ts +20 -10
- package/dist/bpComponents/BPValueComponent.d.ts +4 -1
- package/dist/bpComponents/BPVectorInputComponent.d.ts +1 -0
- package/dist/bpComponents/GetNumberTransformFunctions.d.ts +4 -0
- package/dist/bpComponents/NumberUnits.d.ts +7 -0
- package/dist/components/DialogContext.d.ts +18 -10
- package/dist/components/DraggableIcon.d.ts +1 -0
- package/dist/components/ExtendedNumericInput.d.ts +13 -3
- package/dist/components/FileComponent.d.ts +3 -1
- package/dist/components/InspectorStackComponent.d.ts +2 -1
- package/dist/components/NumericInput.d.ts +76 -0
- package/dist/components/Tree2.d.ts +52 -0
- package/dist/components/TreeNode2.d.ts +43 -0
- package/dist/components/axesIcons.d.ts +7 -0
- package/dist/components/bpIconWrapper.d.ts +2 -2
- package/dist/components/iconMapping.d.ts +198 -0
- package/dist/components/loadingState.d.ts +4 -0
- package/dist/components/shapesIcons.d.ts +100 -0
- package/dist/components/treeTypes.d.ts +18 -0
- package/dist/index-BPcAfGYu.js +13583 -0
- package/dist/index-BPcAfGYu.js.map +1 -0
- package/dist/index-BsXaCp6n.js +671 -0
- package/dist/index-BsXaCp6n.js.map +1 -0
- package/dist/index-CIFbDQFr.js +671 -0
- package/dist/index-CIFbDQFr.js.map +1 -0
- package/dist/index.js +71 -36
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +3 -3
- package/dist/lib.d.ts +4 -1
- package/dist/{splitPathsBySizeLoader-GhF5umHk.js → splitPathsBySizeLoader-BGjtD8Dg.js} +6 -6
- package/dist/{splitPathsBySizeLoader-GhF5umHk.js.map → splitPathsBySizeLoader-BGjtD8Dg.js.map} +1 -1
- package/dist/utils.d.ts +1 -0
- package/docs/assets/highlight.css +45 -17
- package/docs/assets/navigation.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/classes/UI.html +10 -5
- package/docs/classes/UiConfigRendererBlueprint.html +10 -5
- package/docs/index.html +16 -5
- package/lib/css/renderer.css +195 -23
- package/lib/css/renderer.css.map +1 -1
- package/lib/esm/ConfigObject.d.ts +2 -1
- package/lib/esm/ConfigObject.js +15 -9
- package/lib/esm/ConfigObject.js.map +1 -1
- package/lib/esm/UiConfigRendererBlueprint.d.ts +6 -4
- package/lib/esm/UiConfigRendererBlueprint.js +30 -17
- package/lib/esm/UiConfigRendererBlueprint.js.map +1 -1
- package/lib/esm/bpComponents/BPButtonComponent.d.ts +1 -0
- package/lib/esm/bpComponents/BPButtonComponent.js +4 -2
- package/lib/esm/bpComponents/BPButtonComponent.js.map +1 -1
- package/lib/esm/bpComponents/BPColorInputComponent.d.ts +1 -0
- package/lib/esm/bpComponents/BPColorInputComponent.js +5 -3
- package/lib/esm/bpComponents/BPColorInputComponent.js.map +1 -1
- package/lib/esm/bpComponents/BPComponent.d.ts +3 -1
- package/lib/esm/bpComponents/BPComponent.js +15 -2
- package/lib/esm/bpComponents/BPComponent.js.map +1 -1
- package/lib/esm/bpComponents/BPContainerComponent.d.ts +1 -1
- package/lib/esm/bpComponents/BPContainerComponent.js +12 -2
- package/lib/esm/bpComponents/BPContainerComponent.js.map +1 -1
- package/lib/esm/bpComponents/BPDropdownInputComponent.js +10 -5
- package/lib/esm/bpComponents/BPDropdownInputComponent.js.map +1 -1
- package/lib/esm/bpComponents/BPFileComponent.d.ts +8 -5
- package/lib/esm/bpComponents/BPFileComponent.js +18 -24
- package/lib/esm/bpComponents/BPFileComponent.js.map +1 -1
- package/lib/esm/bpComponents/BPFolderComponent.d.ts +9 -1
- package/lib/esm/bpComponents/BPFolderComponent.js +55 -12
- package/lib/esm/bpComponents/BPFolderComponent.js.map +1 -1
- package/lib/esm/bpComponents/BPInputComponent.d.ts +2 -1
- package/lib/esm/bpComponents/BPInputComponent.js +2 -1
- package/lib/esm/bpComponents/BPInputComponent.js.map +1 -1
- package/lib/esm/bpComponents/BPLabelledComponent.js +2 -1
- package/lib/esm/bpComponents/BPLabelledComponent.js.map +1 -1
- package/lib/esm/bpComponents/BPNumberInputComponent.d.ts +3 -1
- package/lib/esm/bpComponents/BPNumberInputComponent.js +6 -1
- package/lib/esm/bpComponents/BPNumberInputComponent.js.map +1 -1
- package/lib/esm/bpComponents/BPPanelComponent.js +1 -1
- package/lib/esm/bpComponents/BPPanelComponent.js.map +1 -1
- package/lib/esm/bpComponents/BPSliderInputComponent.d.ts +1 -0
- package/lib/esm/bpComponents/BPSliderInputComponent.js +18 -6
- package/lib/esm/bpComponents/BPSliderInputComponent.js.map +1 -1
- package/lib/esm/bpComponents/BPTextInputComponent.js +1 -1
- package/lib/esm/bpComponents/BPTextInputComponent.js.map +1 -1
- package/lib/esm/bpComponents/BPToggleInputComponent.js +3 -2
- package/lib/esm/bpComponents/BPToggleInputComponent.js.map +1 -1
- package/lib/esm/bpComponents/BPTreeComponent.d.ts +20 -10
- package/lib/esm/bpComponents/BPTreeComponent.js +120 -26
- package/lib/esm/bpComponents/BPTreeComponent.js.map +1 -1
- package/lib/esm/bpComponents/BPTreeFolderComponent.js +4 -3
- package/lib/esm/bpComponents/BPTreeFolderComponent.js.map +1 -1
- package/lib/esm/bpComponents/BPValueComponent.d.ts +4 -1
- package/lib/esm/bpComponents/BPValueComponent.js +19 -3
- package/lib/esm/bpComponents/BPValueComponent.js.map +1 -1
- package/lib/esm/bpComponents/BPVectorInputComponent.d.ts +1 -0
- package/lib/esm/bpComponents/BPVectorInputComponent.js +14 -8
- package/lib/esm/bpComponents/BPVectorInputComponent.js.map +1 -1
- package/lib/esm/bpComponents/GetNumberTransformFunctions.d.ts +4 -0
- package/lib/esm/bpComponents/GetNumberTransformFunctions.js +14 -0
- package/lib/esm/bpComponents/GetNumberTransformFunctions.js.map +1 -0
- package/lib/esm/bpComponents/NumberUnits.d.ts +7 -0
- package/lib/esm/bpComponents/NumberUnits.js +101 -0
- package/lib/esm/bpComponents/NumberUnits.js.map +1 -0
- package/lib/esm/components/AppToaster.js.map +1 -1
- package/lib/esm/components/ConfigurationPanelComponent.js +6 -1
- package/lib/esm/components/ConfigurationPanelComponent.js.map +1 -1
- package/lib/esm/components/DialogContext.d.ts +18 -10
- package/lib/esm/components/DialogContext.js +52 -33
- package/lib/esm/components/DialogContext.js.map +1 -1
- package/lib/esm/components/DraggableIcon.d.ts +1 -0
- package/lib/esm/components/DraggableIcon.js +7 -4
- package/lib/esm/components/DraggableIcon.js.map +1 -1
- package/lib/esm/components/ExtendedNumericInput.d.ts +13 -3
- package/lib/esm/components/ExtendedNumericInput.js +63 -18
- package/lib/esm/components/ExtendedNumericInput.js.map +1 -1
- package/lib/esm/components/FileComponent.d.ts +3 -1
- package/lib/esm/components/FileComponent.js +19 -19
- package/lib/esm/components/FileComponent.js.map +1 -1
- package/lib/esm/components/InspectorStackComponent.d.ts +2 -1
- package/lib/esm/components/InspectorStackComponent.js +2 -2
- package/lib/esm/components/InspectorStackComponent.js.map +1 -1
- package/lib/esm/components/NumericInput.d.ts +76 -0
- package/lib/esm/components/NumericInput.js +301 -0
- package/lib/esm/components/NumericInput.js.map +1 -0
- package/lib/esm/components/Tree2.d.ts +52 -0
- package/lib/esm/components/Tree2.js +177 -0
- package/lib/esm/components/Tree2.js.map +1 -0
- package/lib/esm/components/TreeNode2.d.ts +43 -0
- package/lib/esm/components/TreeNode2.js +111 -0
- package/lib/esm/components/TreeNode2.js.map +1 -0
- package/lib/esm/components/VisualStyleContext.js +9 -3
- package/lib/esm/components/VisualStyleContext.js.map +1 -1
- package/lib/esm/components/axesIcons.d.ts +7 -0
- package/lib/esm/components/axesIcons.js +10 -0
- package/lib/esm/components/axesIcons.js.map +1 -0
- package/lib/esm/components/bpIconWrapper.d.ts +2 -2
- package/lib/esm/components/bpIconWrapper.js +2 -2
- package/lib/esm/components/bpIconWrapper.js.map +1 -1
- package/lib/esm/components/iconMapping.d.ts +198 -0
- package/lib/esm/components/iconMapping.js +202 -0
- package/lib/esm/components/iconMapping.js.map +1 -0
- package/lib/esm/components/loadingState.d.ts +4 -0
- package/lib/esm/components/loadingState.js +10 -0
- package/lib/esm/components/loadingState.js.map +1 -1
- package/lib/esm/components/shapesIcons.d.ts +100 -0
- package/lib/esm/components/shapesIcons.js +102 -0
- package/lib/esm/components/shapesIcons.js.map +1 -0
- package/lib/esm/components/treeTypes.d.ts +18 -0
- package/lib/esm/components/treeTypes.js +2 -0
- package/lib/esm/components/treeTypes.js.map +1 -0
- package/lib/esm/lib.d.ts +4 -1
- package/lib/esm/lib.js +4 -1
- package/lib/esm/lib.js.map +1 -1
- package/lib/esm/renderer.css.js +1 -0
- package/lib/esm/utils.d.ts +1 -0
- package/lib/esm/utils.js +19 -0
- package/lib/esm/utils.js.map +1 -0
- package/package.json +69 -13
- package/src/ConfigObject.tsx +25 -11
- package/src/UiConfigRendererBlueprint.tsx +31 -20
- package/src/bpComponents/BPButtonComponent.scss +5 -1
- package/src/bpComponents/BPButtonComponent.tsx +10 -3
- package/src/bpComponents/BPColorInputComponent.tsx +9 -3
- package/src/bpComponents/BPComponent.tsx +17 -4
- package/src/bpComponents/BPContainerComponent.tsx +13 -1
- package/src/bpComponents/BPDropdownInputComponent.tsx +11 -4
- package/src/bpComponents/BPFileComponent.tsx +55 -27
- package/src/bpComponents/BPFolderComponent.scss +36 -6
- package/src/bpComponents/BPFolderComponent.tsx +109 -18
- package/src/bpComponents/BPInputComponent.tsx +6 -2
- package/src/bpComponents/BPLabelledComponent.tsx +2 -2
- package/src/bpComponents/BPNumberInputComponent.tsx +14 -2
- package/src/bpComponents/BPPanelComponent.tsx +1 -1
- package/src/bpComponents/BPSliderInputComponent.tsx +40 -20
- package/src/bpComponents/BPTextInputComponent.tsx +1 -0
- package/src/bpComponents/BPToggleInputComponent.tsx +6 -3
- package/src/bpComponents/BPTreeComponent.tsx +125 -25
- package/src/bpComponents/BPTreeFolderComponent.tsx +3 -3
- package/src/bpComponents/BPValueComponent.tsx +31 -4
- package/src/bpComponents/BPVectorInputComponent.tsx +23 -20
- package/src/bpComponents/GetNumberTransformFunctions.tsx +14 -0
- package/src/bpComponents/NumberUnits.tsx +123 -0
- package/src/components/AppToaster.tsx +20 -0
- package/src/components/ConfigurationPanelComponent.tsx +14 -3
- package/src/components/DialogContext.tsx +125 -65
- package/src/components/DraggableIcon.tsx +6 -5
- package/src/components/ExtendedNumericInput.tsx +71 -19
- package/src/components/FileComponent.tsx +48 -25
- package/src/components/InspectorStackComponent.tsx +2 -2
- package/src/components/NumericInput.tsx +679 -0
- package/src/components/Tree2.tsx +344 -0
- package/src/components/TreeNode2.tsx +192 -0
- package/src/components/VisualStyleContext.tsx +10 -2
- package/src/components/axesIcons.tsx +116 -0
- package/src/components/bpIconWrapper.tsx +5 -4
- package/src/components/common.scss +17 -0
- package/src/components/iconMapping.ts +354 -0
- package/src/components/loadingState.tsx +9 -0
- package/src/components/shapesIcons.tsx +980 -0
- package/src/components/tree2.scss +69 -0
- package/src/components/treeTypes.ts +97 -0
- package/src/lib.ts +4 -1
- package/src/renderer.scss +83 -12
- package/src/utils.ts +34 -0
- package/tsconfig.json +1 -0
- package/dist/allPaths-EYaH0Usv.js +0 -23
- package/dist/index-0vU2D25U.js +0 -604
- package/dist/index-0vU2D25U.js.map +0 -1
- package/dist/index-JBvBPdy9.js +0 -604
- package/dist/index-JBvBPdy9.js.map +0 -1
- package/dist/index-OyL-zObJ.js +0 -12765
- package/dist/index-OyL-zObJ.js.map +0 -1
- package/lib/cjs/ConfigObject.d.ts +0 -18
- package/lib/cjs/ConfigObject.js +0 -82
- package/lib/cjs/ConfigObject.js.map +0 -1
- package/lib/cjs/UiConfigRendererBlueprint.d.ts +0 -13
- package/lib/cjs/UiConfigRendererBlueprint.js +0 -56
- package/lib/cjs/UiConfigRendererBlueprint.js.map +0 -1
- package/lib/cjs/bpComponents/BPButtonComponent.d.ts +0 -8
- package/lib/cjs/bpComponents/BPButtonComponent.js +0 -19
- package/lib/cjs/bpComponents/BPButtonComponent.js.map +0 -1
- package/lib/cjs/bpComponents/BPColorInputComponent.d.ts +0 -24
- package/lib/cjs/bpComponents/BPColorInputComponent.js +0 -127
- package/lib/cjs/bpComponents/BPColorInputComponent.js.map +0 -1
- package/lib/cjs/bpComponents/BPComponent.d.ts +0 -29
- package/lib/cjs/bpComponents/BPComponent.js +0 -59
- package/lib/cjs/bpComponents/BPComponent.js.map +0 -1
- package/lib/cjs/bpComponents/BPContainerComponent.d.ts +0 -21
- package/lib/cjs/bpComponents/BPContainerComponent.js +0 -54
- package/lib/cjs/bpComponents/BPContainerComponent.js.map +0 -1
- package/lib/cjs/bpComponents/BPDropdownInputComponent.d.ts +0 -15
- package/lib/cjs/bpComponents/BPDropdownInputComponent.js +0 -43
- package/lib/cjs/bpComponents/BPDropdownInputComponent.js.map +0 -1
- package/lib/cjs/bpComponents/BPFileComponent.d.ts +0 -25
- package/lib/cjs/bpComponents/BPFileComponent.js +0 -69
- package/lib/cjs/bpComponents/BPFileComponent.js.map +0 -1
- package/lib/cjs/bpComponents/BPFolderComponent.d.ts +0 -16
- package/lib/cjs/bpComponents/BPFolderComponent.js +0 -39
- package/lib/cjs/bpComponents/BPFolderComponent.js.map +0 -1
- package/lib/cjs/bpComponents/BPInputComponent.d.ts +0 -11
- package/lib/cjs/bpComponents/BPInputComponent.js +0 -34
- package/lib/cjs/bpComponents/BPInputComponent.js.map +0 -1
- package/lib/cjs/bpComponents/BPLabelledComponent.d.ts +0 -8
- package/lib/cjs/bpComponents/BPLabelledComponent.js +0 -14
- package/lib/cjs/bpComponents/BPLabelledComponent.js.map +0 -1
- package/lib/cjs/bpComponents/BPNumberInputComponent.d.ts +0 -10
- package/lib/cjs/bpComponents/BPNumberInputComponent.js +0 -40
- package/lib/cjs/bpComponents/BPNumberInputComponent.js.map +0 -1
- package/lib/cjs/bpComponents/BPPanelComponent.d.ts +0 -16
- package/lib/cjs/bpComponents/BPPanelComponent.js +0 -35
- package/lib/cjs/bpComponents/BPPanelComponent.js.map +0 -1
- package/lib/cjs/bpComponents/BPSliderInputComponent.d.ts +0 -14
- package/lib/cjs/bpComponents/BPSliderInputComponent.js +0 -41
- package/lib/cjs/bpComponents/BPSliderInputComponent.js.map +0 -1
- package/lib/cjs/bpComponents/BPTextInputComponent.d.ts +0 -7
- package/lib/cjs/bpComponents/BPTextInputComponent.js +0 -19
- package/lib/cjs/bpComponents/BPTextInputComponent.js.map +0 -1
- package/lib/cjs/bpComponents/BPToggleInputComponent.d.ts +0 -8
- package/lib/cjs/bpComponents/BPToggleInputComponent.js +0 -22
- package/lib/cjs/bpComponents/BPToggleInputComponent.js.map +0 -1
- package/lib/cjs/bpComponents/BPTreeComponent.d.ts +0 -36
- package/lib/cjs/bpComponents/BPTreeComponent.js +0 -131
- package/lib/cjs/bpComponents/BPTreeComponent.js.map +0 -1
- package/lib/cjs/bpComponents/BPTreeFolderComponent.d.ts +0 -10
- package/lib/cjs/bpComponents/BPTreeFolderComponent.js +0 -40
- package/lib/cjs/bpComponents/BPTreeFolderComponent.js.map +0 -1
- package/lib/cjs/bpComponents/BPValueComponent.d.ts +0 -16
- package/lib/cjs/bpComponents/BPValueComponent.js +0 -46
- package/lib/cjs/bpComponents/BPValueComponent.js.map +0 -1
- package/lib/cjs/bpComponents/BPVectorInputComponent.d.ts +0 -19
- package/lib/cjs/bpComponents/BPVectorInputComponent.js +0 -110
- package/lib/cjs/bpComponents/BPVectorInputComponent.js.map +0 -1
- package/lib/cjs/components/ConfigurationPanelComponent.d.ts +0 -4
- package/lib/cjs/components/ConfigurationPanelComponent.js +0 -30
- package/lib/cjs/components/ConfigurationPanelComponent.js.map +0 -1
- package/lib/cjs/components/DialogContext.d.ts +0 -48
- package/lib/cjs/components/DialogContext.js +0 -79
- package/lib/cjs/components/DialogContext.js.map +0 -1
- package/lib/cjs/components/DraggableIcon.d.ts +0 -19
- package/lib/cjs/components/DraggableIcon.js +0 -70
- package/lib/cjs/components/DraggableIcon.js.map +0 -1
- package/lib/cjs/components/ExtendedNumericInput.d.ts +0 -25
- package/lib/cjs/components/ExtendedNumericInput.js +0 -174
- package/lib/cjs/components/ExtendedNumericInput.js.map +0 -1
- package/lib/cjs/components/FileComponent.d.ts +0 -7
- package/lib/cjs/components/FileComponent.js +0 -49
- package/lib/cjs/components/FileComponent.js.map +0 -1
- package/lib/cjs/components/FormGroupComponent.d.ts +0 -6
- package/lib/cjs/components/FormGroupComponent.js +0 -16
- package/lib/cjs/components/FormGroupComponent.js.map +0 -1
- package/lib/cjs/components/InspectorStackComponent.d.ts +0 -4
- package/lib/cjs/components/InspectorStackComponent.js +0 -27
- package/lib/cjs/components/InspectorStackComponent.js.map +0 -1
- package/lib/cjs/components/VisualStyleContext.d.ts +0 -119
- package/lib/cjs/components/VisualStyleContext.js +0 -60
- package/lib/cjs/components/VisualStyleContext.js.map +0 -1
- package/lib/cjs/components/bpIconWrapper.d.ts +0 -2
- package/lib/cjs/components/bpIconWrapper.js +0 -9
- package/lib/cjs/components/bpIconWrapper.js.map +0 -1
- package/lib/cjs/components/loadingState.d.ts +0 -4
- package/lib/cjs/components/loadingState.js +0 -16
- package/lib/cjs/components/loadingState.js.map +0 -1
- package/lib/cjs/components/variableIcons.d.ts +0 -40
- package/lib/cjs/components/variableIcons.js +0 -46
- package/lib/cjs/components/variableIcons.js.map +0 -1
- package/lib/cjs/contexts.d.ts +0 -1
- package/lib/cjs/contexts.js +0 -3
- package/lib/cjs/contexts.js.map +0 -1
- package/lib/cjs/index.d.ts +0 -4
- package/lib/cjs/index.js +0 -9
- package/lib/cjs/index.js.map +0 -1
- package/lib/cjs/lib.d.ts +0 -32
- package/lib/cjs/lib.js +0 -49
- package/lib/cjs/lib.js.map +0 -1
- package/lib/cjs/threejs.d.ts +0 -2
- package/lib/cjs/threejs.js +0 -3
- package/lib/cjs/threejs.js.map +0 -1
- package/lib/esnext/ConfigObject.d.ts +0 -18
- package/lib/esnext/ConfigObject.js +0 -75
- package/lib/esnext/ConfigObject.js.map +0 -1
- package/lib/esnext/UiConfigRendererBlueprint.d.ts +0 -13
- package/lib/esnext/UiConfigRendererBlueprint.js +0 -52
- package/lib/esnext/UiConfigRendererBlueprint.js.map +0 -1
- package/lib/esnext/bpComponents/BPButtonComponent.d.ts +0 -8
- package/lib/esnext/bpComponents/BPButtonComponent.js +0 -15
- package/lib/esnext/bpComponents/BPButtonComponent.js.map +0 -1
- package/lib/esnext/bpComponents/BPColorInputComponent.d.ts +0 -24
- package/lib/esnext/bpComponents/BPColorInputComponent.js +0 -110
- package/lib/esnext/bpComponents/BPColorInputComponent.js.map +0 -1
- package/lib/esnext/bpComponents/BPComponent.d.ts +0 -29
- package/lib/esnext/bpComponents/BPComponent.js +0 -46
- package/lib/esnext/bpComponents/BPComponent.js.map +0 -1
- package/lib/esnext/bpComponents/BPContainerComponent.d.ts +0 -21
- package/lib/esnext/bpComponents/BPContainerComponent.js +0 -51
- package/lib/esnext/bpComponents/BPContainerComponent.js.map +0 -1
- package/lib/esnext/bpComponents/BPDropdownInputComponent.d.ts +0 -15
- package/lib/esnext/bpComponents/BPDropdownInputComponent.js +0 -40
- package/lib/esnext/bpComponents/BPDropdownInputComponent.js.map +0 -1
- package/lib/esnext/bpComponents/BPFileComponent.d.ts +0 -25
- package/lib/esnext/bpComponents/BPFileComponent.js +0 -52
- package/lib/esnext/bpComponents/BPFileComponent.js.map +0 -1
- package/lib/esnext/bpComponents/BPFolderComponent.d.ts +0 -16
- package/lib/esnext/bpComponents/BPFolderComponent.js +0 -30
- package/lib/esnext/bpComponents/BPFolderComponent.js.map +0 -1
- package/lib/esnext/bpComponents/BPInputComponent.d.ts +0 -11
- package/lib/esnext/bpComponents/BPInputComponent.js +0 -19
- package/lib/esnext/bpComponents/BPInputComponent.js.map +0 -1
- package/lib/esnext/bpComponents/BPLabelledComponent.d.ts +0 -8
- package/lib/esnext/bpComponents/BPLabelledComponent.js +0 -13
- package/lib/esnext/bpComponents/BPLabelledComponent.js.map +0 -1
- package/lib/esnext/bpComponents/BPNumberInputComponent.d.ts +0 -10
- package/lib/esnext/bpComponents/BPNumberInputComponent.js +0 -21
- package/lib/esnext/bpComponents/BPNumberInputComponent.js.map +0 -1
- package/lib/esnext/bpComponents/BPPanelComponent.d.ts +0 -16
- package/lib/esnext/bpComponents/BPPanelComponent.js +0 -31
- package/lib/esnext/bpComponents/BPPanelComponent.js.map +0 -1
- package/lib/esnext/bpComponents/BPSliderInputComponent.d.ts +0 -14
- package/lib/esnext/bpComponents/BPSliderInputComponent.js +0 -39
- package/lib/esnext/bpComponents/BPSliderInputComponent.js.map +0 -1
- package/lib/esnext/bpComponents/BPTextInputComponent.d.ts +0 -7
- package/lib/esnext/bpComponents/BPTextInputComponent.js +0 -15
- package/lib/esnext/bpComponents/BPTextInputComponent.js.map +0 -1
- package/lib/esnext/bpComponents/BPToggleInputComponent.d.ts +0 -8
- package/lib/esnext/bpComponents/BPToggleInputComponent.js +0 -18
- package/lib/esnext/bpComponents/BPToggleInputComponent.js.map +0 -1
- package/lib/esnext/bpComponents/BPTreeComponent.d.ts +0 -36
- package/lib/esnext/bpComponents/BPTreeComponent.js +0 -111
- package/lib/esnext/bpComponents/BPTreeComponent.js.map +0 -1
- package/lib/esnext/bpComponents/BPTreeFolderComponent.d.ts +0 -10
- package/lib/esnext/bpComponents/BPTreeFolderComponent.js +0 -23
- package/lib/esnext/bpComponents/BPTreeFolderComponent.js.map +0 -1
- package/lib/esnext/bpComponents/BPValueComponent.d.ts +0 -16
- package/lib/esnext/bpComponents/BPValueComponent.js +0 -29
- package/lib/esnext/bpComponents/BPValueComponent.js.map +0 -1
- package/lib/esnext/bpComponents/BPVectorInputComponent.d.ts +0 -19
- package/lib/esnext/bpComponents/BPVectorInputComponent.js +0 -93
- package/lib/esnext/bpComponents/BPVectorInputComponent.js.map +0 -1
- package/lib/esnext/components/ConfigurationPanelComponent.d.ts +0 -4
- package/lib/esnext/components/ConfigurationPanelComponent.js +0 -26
- package/lib/esnext/components/ConfigurationPanelComponent.js.map +0 -1
- package/lib/esnext/components/DialogContext.d.ts +0 -48
- package/lib/esnext/components/DialogContext.js +0 -55
- package/lib/esnext/components/DialogContext.js.map +0 -1
- package/lib/esnext/components/DraggableIcon.d.ts +0 -19
- package/lib/esnext/components/DraggableIcon.js +0 -62
- package/lib/esnext/components/DraggableIcon.js.map +0 -1
- package/lib/esnext/components/ExtendedNumericInput.d.ts +0 -25
- package/lib/esnext/components/ExtendedNumericInput.js +0 -151
- package/lib/esnext/components/ExtendedNumericInput.js.map +0 -1
- package/lib/esnext/components/FileComponent.d.ts +0 -7
- package/lib/esnext/components/FileComponent.js +0 -42
- package/lib/esnext/components/FileComponent.js.map +0 -1
- package/lib/esnext/components/FormGroupComponent.d.ts +0 -6
- package/lib/esnext/components/FormGroupComponent.js +0 -11
- package/lib/esnext/components/FormGroupComponent.js.map +0 -1
- package/lib/esnext/components/InspectorStackComponent.d.ts +0 -4
- package/lib/esnext/components/InspectorStackComponent.js +0 -23
- package/lib/esnext/components/InspectorStackComponent.js.map +0 -1
- package/lib/esnext/components/VisualStyleContext.d.ts +0 -119
- package/lib/esnext/components/VisualStyleContext.js +0 -53
- package/lib/esnext/components/VisualStyleContext.js.map +0 -1
- package/lib/esnext/components/bpIconWrapper.d.ts +0 -2
- package/lib/esnext/components/bpIconWrapper.js +0 -5
- package/lib/esnext/components/bpIconWrapper.js.map +0 -1
- package/lib/esnext/components/loadingState.d.ts +0 -4
- package/lib/esnext/components/loadingState.js +0 -12
- package/lib/esnext/components/loadingState.js.map +0 -1
- package/lib/esnext/components/variableIcons.d.ts +0 -40
- package/lib/esnext/components/variableIcons.js +0 -43
- package/lib/esnext/components/variableIcons.js.map +0 -1
- package/lib/esnext/contexts.d.ts +0 -1
- package/lib/esnext/contexts.js +0 -2
- package/lib/esnext/contexts.js.map +0 -1
- package/lib/esnext/index.d.ts +0 -4
- package/lib/esnext/index.js +0 -5
- package/lib/esnext/index.js.map +0 -1
- package/lib/esnext/lib.d.ts +0 -32
- package/lib/esnext/lib.js +0 -33
- package/lib/esnext/lib.js.map +0 -1
- package/lib/esnext/threejs.d.ts +0 -2
- package/lib/esnext/threejs.js +0 -2
- package/lib/esnext/threejs.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function cleanLabel(varName?: string): string | undefined;
|
package/lib/esm/utils.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export function cleanLabel(varName) {
|
|
2
|
+
if (!varName || typeof varName !== 'string') {
|
|
3
|
+
return varName;
|
|
4
|
+
}
|
|
5
|
+
let result = varName.trim();
|
|
6
|
+
if (!result)
|
|
7
|
+
return '';
|
|
8
|
+
if (result.includes(' '))
|
|
9
|
+
return result;
|
|
10
|
+
result = result.replace(/_/g, ' ');
|
|
11
|
+
result = result.replace(/([A-Z])([A-Z][a-z])/g, '$1 $2');
|
|
12
|
+
result = result.replace(/([a-z])([A-Z])/g, '$1 $2');
|
|
13
|
+
result = result.replace(/([a-zA-Z])(\d)/g, '$1 $2');
|
|
14
|
+
result = result.replace(/(\d)([a-zA-Z])/g, '$1 $2');
|
|
15
|
+
const words = result.split(/\s+/).filter(word => word.length > 0);
|
|
16
|
+
const capitalizedWords = words.map(word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase());
|
|
17
|
+
return capitalizedWords.join(' ');
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,UAAU,CAAC,OAAgB;IACvC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC1C,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,IAAI,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,IAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC;IAEvC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAInC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;IAEzD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IAGpD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IAGpD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IAGpD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAClE,MAAM,gBAAgB,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CACtC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAC7D,CAAC;IAGF,OAAO,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACtC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,18 +1,50 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "uiconfig-blueprint",
|
|
3
3
|
"name:umd": "bpui",
|
|
4
|
-
"version": "0.1.0-dev.
|
|
4
|
+
"version": "0.1.0-dev.12",
|
|
5
5
|
"description": "Blueprint.js wrapper and custom components for web controls UI. To be used with uiconfig.",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"module": "dist/index.mjs",
|
|
8
|
+
"browser": "dist/index.js",
|
|
9
|
+
"types": "dist/index.d.ts",
|
|
8
10
|
"source": "src/index.ts",
|
|
9
11
|
"sideEffects": false,
|
|
12
|
+
"exports": {
|
|
13
|
+
".": {
|
|
14
|
+
"types": "./dist/index.d.ts",
|
|
15
|
+
"import": "./dist/index.mjs",
|
|
16
|
+
"require": "./dist/index.js",
|
|
17
|
+
"browser": "./dist/index.js"
|
|
18
|
+
},
|
|
19
|
+
"./dist/": {
|
|
20
|
+
"import": "./dist/",
|
|
21
|
+
"require": "./dist/"
|
|
22
|
+
},
|
|
23
|
+
"./lib/esm": {
|
|
24
|
+
"types": "./lib/esm/index.d.ts",
|
|
25
|
+
"import": "./lib/esm/index.js"
|
|
26
|
+
},
|
|
27
|
+
"./lib/esm/*": {
|
|
28
|
+
"types": "./lib/esm/*.d.ts",
|
|
29
|
+
"import": "./lib/esm/*.js"
|
|
30
|
+
},
|
|
31
|
+
"./lib/css/*": {
|
|
32
|
+
"import": "./lib/css/*.css",
|
|
33
|
+
"require": "./lib/css/*.css"
|
|
34
|
+
},
|
|
35
|
+
"./src/": {
|
|
36
|
+
"import": "./src/",
|
|
37
|
+
"require": "./src/"
|
|
38
|
+
},
|
|
39
|
+
"./package.json": "./package.json"
|
|
40
|
+
},
|
|
10
41
|
"files": [
|
|
11
42
|
"lib",
|
|
12
43
|
"dist",
|
|
13
44
|
"src",
|
|
14
45
|
"docs",
|
|
15
|
-
"tsconfig.json"
|
|
46
|
+
"tsconfig.json",
|
|
47
|
+
"README.md"
|
|
16
48
|
],
|
|
17
49
|
"repository": {
|
|
18
50
|
"type": "git",
|
|
@@ -35,22 +67,48 @@
|
|
|
35
67
|
},
|
|
36
68
|
"homepage": "https://github.com/repalash/uiconfig-blueprint#readme",
|
|
37
69
|
"dependencies": {
|
|
38
|
-
"
|
|
70
|
+
"ts-browser-helpers": "^0.18.0",
|
|
71
|
+
"uiconfig.js": "^0.1.6",
|
|
72
|
+
"@blueprintjs/icons": "^5.11.0",
|
|
73
|
+
"@blueprintjs/select": "^5.2.2",
|
|
74
|
+
"blueprint-styler": "^5.0.2",
|
|
75
|
+
"react-colorful": "^5.6.1"
|
|
76
|
+
},
|
|
77
|
+
"peerDependencies": {
|
|
78
|
+
"@blueprintjs/core": "^5.11.0",
|
|
39
79
|
"@types/three": "^0.152.1",
|
|
40
|
-
"ts-browser-helpers": "^0.8.0",
|
|
41
80
|
"@types/webxr": "^0.5.10",
|
|
42
|
-
"uiconfig.js": "^0.0.9",
|
|
43
|
-
"@blueprintjs/icons": "^5.5.0",
|
|
44
|
-
"@blueprintjs/select": "^5.0.20",
|
|
45
|
-
"blueprint-styler": "^5.0.2",
|
|
46
81
|
"@types/react": "^18.0.28",
|
|
47
82
|
"@types/react-dom": "^18.0.11",
|
|
48
83
|
"react": "^18.2.0",
|
|
49
84
|
"react-dom": "^18.2.0"
|
|
50
85
|
},
|
|
86
|
+
"peerDependenciesMeta": {
|
|
87
|
+
"@blueprintjs/core": {
|
|
88
|
+
"optional": true
|
|
89
|
+
},
|
|
90
|
+
"@types/three": {
|
|
91
|
+
"optional": true
|
|
92
|
+
},
|
|
93
|
+
"@types/webxr": {
|
|
94
|
+
"optional": true
|
|
95
|
+
},
|
|
96
|
+
"@types/react": {
|
|
97
|
+
"optional": true
|
|
98
|
+
},
|
|
99
|
+
"@types/react-dom": {
|
|
100
|
+
"optional": true
|
|
101
|
+
},
|
|
102
|
+
"react": {
|
|
103
|
+
"optional": true
|
|
104
|
+
},
|
|
105
|
+
"react-dom": {
|
|
106
|
+
"optional": true
|
|
107
|
+
}
|
|
108
|
+
},
|
|
51
109
|
"//": {
|
|
52
|
-
"
|
|
53
|
-
"uiconfig.js": "^0.0.
|
|
110
|
+
"devDependencies": {
|
|
111
|
+
"uiconfig.js": "^0.0.12"
|
|
54
112
|
},
|
|
55
113
|
"local_dependencies": {
|
|
56
114
|
"uiconfig.js": "file:./../uiconfig/"
|
|
@@ -63,7 +121,5 @@
|
|
|
63
121
|
"browserslist": [
|
|
64
122
|
"defaults"
|
|
65
123
|
],
|
|
66
|
-
"type": "module"
|
|
67
|
-
"browser": "dist/index.js",
|
|
68
|
-
"types": "dist/index.d.ts"
|
|
124
|
+
"type": "module"
|
|
69
125
|
}
|
package/src/ConfigObject.tsx
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import {Class, PartialRecord} from "ts-browser-helpers";
|
|
2
|
+
import {Class, getOrCall, PartialRecord} from "ts-browser-helpers";
|
|
3
3
|
import {BPComponentProps, BPComponentState, UiConfigRendererContext} from "./bpComponents/BPComponent";
|
|
4
4
|
import {BPFolderComponent, FolderHeadCard} from "./bpComponents/BPFolderComponent";
|
|
5
5
|
import {BPTextInputComponent} from "./bpComponents/BPTextInputComponent";
|
|
@@ -13,7 +13,6 @@ import {BPPanelComponent} from "./bpComponents/BPPanelComponent";
|
|
|
13
13
|
import {BPTreeFolderComponent} from "./bpComponents/BPTreeFolderComponent";
|
|
14
14
|
import {UiObjectConfig} from 'uiconfig.js'
|
|
15
15
|
import {BPColorInputComponent} from './bpComponents/BPColorInputComponent'
|
|
16
|
-
import {BPFileComponent} from "./bpComponents/BPFileComponent";
|
|
17
16
|
import {BPVectorInputComponent} from './bpComponents/BPVectorInputComponent'
|
|
18
17
|
// import {BPVectorInputComponent} from "./bpComponents/BPVectorInputComponent";
|
|
19
18
|
// import {BPFileComponent} from "./bpComponents/BPFileComponent";
|
|
@@ -21,13 +20,14 @@ import {BPVectorInputComponent} from './bpComponents/BPVectorInputComponent'
|
|
|
21
20
|
// import {BPHierarchyComponent} from "./bpComponents/BPHierarchyComponent";
|
|
22
21
|
|
|
23
22
|
export type UiConfigTypes = 'input' | 'button' | 'folder' | 'checkbox' | 'toggle' |
|
|
24
|
-
'dropdown' | 'slider' | 'color' | 'image' | 'number' | 'panel' | 'tree' | 'hierarchy' |
|
|
25
|
-
'vec' | 'vec2' | 'vec3' | 'vec4' | 'monitor'
|
|
23
|
+
'dropdown' | 'slider' | 'color' | 'image' | 'number' | 'panel' | 'tree' | 'hierarchy' | 'materials' | 'textures' |
|
|
24
|
+
'vec' | 'vec2' | 'vec3' | 'vec4' | 'monitor' | 'vector'
|
|
26
25
|
|
|
27
26
|
export interface ConfigProps extends PanelActions {
|
|
28
27
|
config: UiObjectConfig;
|
|
29
28
|
isPanel?: boolean,
|
|
30
29
|
level?: number,
|
|
30
|
+
className?: string
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
export const ConfigObjectGenerators: PartialRecord<UiConfigTypes, Class<React.Component<BPComponentProps<any>, BPComponentState>>> = {
|
|
@@ -44,11 +44,12 @@ export const ConfigObjectGenerators: PartialRecord<UiConfigTypes, Class<React.Co
|
|
|
44
44
|
slider: BPSliderInputComponent,
|
|
45
45
|
tree: BPTreeFolderComponent,
|
|
46
46
|
color: BPColorInputComponent,
|
|
47
|
-
image: BPFileComponent,
|
|
47
|
+
// image: BPFileComponent,
|
|
48
48
|
vec: BPVectorInputComponent,
|
|
49
49
|
vec2: BPVectorInputComponent,
|
|
50
50
|
vec3: BPVectorInputComponent,
|
|
51
51
|
vec4: BPVectorInputComponent,
|
|
52
|
+
vector: BPVectorInputComponent,
|
|
52
53
|
// hierarchy: BPHierarchyComponent,
|
|
53
54
|
}
|
|
54
55
|
|
|
@@ -58,10 +59,14 @@ export class ConfigObject extends React.Component<ConfigProps, {}> {
|
|
|
58
59
|
state = {}
|
|
59
60
|
|
|
60
61
|
render() {
|
|
62
|
+
if (!this.props.config || !this.props.config.type) return (<div key={this.props.config.uuid} className={this.props.className}></div>)
|
|
61
63
|
this.context.methods.initUiConfig(this.props.config)
|
|
62
|
-
|
|
64
|
+
|
|
65
|
+
const order = this.props.config.order ? getOrCall(this.props.config.order, this.props.config) ?? undefined : undefined
|
|
66
|
+
const orderStyle = {order: order && typeof order === 'string' ? parseInt(order): order}
|
|
67
|
+
|
|
63
68
|
let type = this.props.config.type as any as UiConfigTypes
|
|
64
|
-
const val = this.context.methods.
|
|
69
|
+
const val = this.context.methods.getRawValue(this.props.config)
|
|
65
70
|
|
|
66
71
|
// hacks
|
|
67
72
|
if (type === 'input' && typeof val === 'number') this.props.config.type = type = 'number'
|
|
@@ -75,9 +80,15 @@ export class ConfigObject extends React.Component<ConfigProps, {}> {
|
|
|
75
80
|
let BPComp = ConfigObjectGenerators[type]
|
|
76
81
|
if (type === 'panel' && !this.props.isPanel) {
|
|
77
82
|
const label = this.context.methods.getLabel(this.props.config)
|
|
83
|
+
const children = this.context.methods.getChildren(this.props.config)
|
|
84
|
+
const enabledToggle = children[0] && this.context.methods.getLabel(children[0]).toLowerCase() === 'enabled' ? children[0] : undefined
|
|
85
|
+
enabledToggle && (enabledToggle.hidden = true)
|
|
78
86
|
return (
|
|
79
|
-
<div key={this.props.config.uuid}>
|
|
80
|
-
<FolderHeadCard
|
|
87
|
+
<div key={this.props.config.uuid} style={orderStyle} className={this.props.className}>
|
|
88
|
+
<FolderHeadCard
|
|
89
|
+
enabled={enabledToggle ? this.context.methods.getRawValue(enabledToggle) : undefined}
|
|
90
|
+
onEnabledChange={(e) => enabledToggle && this.context.methods.setValue(enabledToggle, e.target.checked, {}).then(() => this.setState(this.state))}
|
|
91
|
+
level={0} label={label} minimal={false} open={false} onClick={() => {
|
|
81
92
|
this.props.openPanel<{ config: UiObjectConfig<any> }>({
|
|
82
93
|
props: {config: this.props.config},
|
|
83
94
|
title: label,
|
|
@@ -92,9 +103,12 @@ export class ConfigObject extends React.Component<ConfigProps, {}> {
|
|
|
92
103
|
)
|
|
93
104
|
}
|
|
94
105
|
if (BPComp) {
|
|
95
|
-
return (<div key={this.props.config.uuid}><BPComp {...{...this.props, isPanel: undefined}} /></div>)
|
|
106
|
+
return (<div key={this.props.config.uuid} style={orderStyle} className={this.props.className}><BPComp {...{...this.props, isPanel: undefined}} /></div>)
|
|
96
107
|
}
|
|
97
|
-
return (<div key={this.props.config.uuid}
|
|
108
|
+
return (<div key={this.props.config.uuid} style={orderStyle} className={this.props.className}>
|
|
109
|
+
{/*Unknown type: {this.props.config.type}*/}
|
|
110
|
+
</div>)
|
|
111
|
+
// return null
|
|
98
112
|
|
|
99
113
|
// let uiRef: React.FC | BPUiRef<any> | null = this.props.uiConfig.uiRef
|
|
100
114
|
// if (uiRef) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {createDiv, createStyles, css} from "ts-browser-helpers";
|
|
2
|
-
import {
|
|
1
|
+
import {createDiv, createStyles, css, JSUndoManager} from "ts-browser-helpers";
|
|
2
|
+
import {UiConfigRenderer, UiObjectConfig} from "uiconfig.js";
|
|
3
3
|
import React from 'react'
|
|
4
4
|
import {createRoot, Root} from 'react-dom/client'
|
|
5
5
|
import {ConfigurationPanelComponent} from './components/ConfigurationPanelComponent'
|
|
@@ -9,32 +9,43 @@ import rendererCss from './renderer.scss?inline' // for rollup build remove ?inl
|
|
|
9
9
|
import {FocusStyleManager} from '@blueprintjs/core'
|
|
10
10
|
import {THREE} from "./threejs";
|
|
11
11
|
|
|
12
|
-
export class UiConfigRendererBlueprint extends
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
super(container, autoPostFrame);
|
|
12
|
+
export class UiConfigRendererBlueprint extends UiConfigRenderer {
|
|
13
|
+
constructor(container: HTMLElement = document.body, {autoPostFrame = true} = {}, undoManager?: JSUndoManager|false) {
|
|
14
|
+
super(container, autoPostFrame, undefined, undoManager);
|
|
16
15
|
// this._root.expanded = expanded
|
|
17
|
-
|
|
18
16
|
}
|
|
19
17
|
|
|
18
|
+
protected _root: Root
|
|
19
|
+
|
|
20
20
|
protected _createUiContainer(): HTMLDivElement {
|
|
21
21
|
FocusStyleManager.onlyShowFocusOnTabs();
|
|
22
22
|
|
|
23
23
|
const container = createDiv({id: 'blueprintUiContainer', addToBody: false})
|
|
24
24
|
createStyles(css`
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
@media only screen and (min-width: 1500px) {
|
|
29
|
-
:root{
|
|
30
|
-
--blueprint-ui-container-width: 400px;
|
|
25
|
+
:root {
|
|
26
|
+
--blueprint-ui-container-width: 300px;
|
|
31
27
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
28
|
+
|
|
29
|
+
@media only screen and (min-width: 1500px) {
|
|
30
|
+
:root {
|
|
31
|
+
--blueprint-ui-container-width: 400px;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
@media only screen and (min-width: 2500px) {
|
|
35
|
+
:root {
|
|
36
|
+
--blueprint-ui-container-width: 500px;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
@media only screen and (min-width: 600px) {
|
|
41
|
+
#blueprintUiContainer {
|
|
42
|
+
min-width: var(--blueprint-ui-container-width);
|
|
43
|
+
min-height: 200px;
|
|
44
|
+
max-height: 100%;
|
|
45
|
+
max-width: 100%;
|
|
46
|
+
resize: both;
|
|
47
|
+
}
|
|
36
48
|
}
|
|
37
|
-
}
|
|
38
49
|
`)
|
|
39
50
|
createStyles(rendererCss)
|
|
40
51
|
|
|
@@ -65,8 +76,8 @@ export class UiConfigRendererBlueprint extends UiConfigRendererBase<Root> {
|
|
|
65
76
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
66
77
|
THREE: THREE|undefined = (window as any).THREE
|
|
67
78
|
|
|
68
|
-
|
|
69
|
-
|
|
79
|
+
unmount() {
|
|
80
|
+
this._root?.unmount()
|
|
70
81
|
}
|
|
71
82
|
|
|
72
83
|
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import {BPComponentProps, UiConfigRendererContextType} from "./BPComponent";
|
|
2
2
|
import React from "react";
|
|
3
3
|
import {BPLabelledComponent, BPLabelledComponentState} from "./BPLabelledComponent";
|
|
4
|
-
import {Button} from "@blueprintjs/core";
|
|
4
|
+
import {Button, Intent} from "@blueprintjs/core";
|
|
5
5
|
|
|
6
|
+
// @ts-ignore
|
|
6
7
|
export class BPButtonComponent extends BPLabelledComponent<()=>void, BPLabelledComponentState> {
|
|
7
8
|
constructor(props: BPComponentProps<()=>void>, context: UiConfigRendererContextType) {
|
|
8
9
|
super(props, context, {label: 'Button'});
|
|
@@ -13,12 +14,18 @@ export class BPButtonComponent extends BPLabelledComponent<()=>void, BPLabelledC
|
|
|
13
14
|
this.context.methods.clickButton(this.props.config, {args: [event]})
|
|
14
15
|
}
|
|
15
16
|
|
|
17
|
+
protected flexBasis = "50%"
|
|
18
|
+
|
|
16
19
|
render() {
|
|
17
20
|
return !this.state.hidden ? (
|
|
18
|
-
<div className="bpButtonComponent xPaddedContent"
|
|
21
|
+
<div className="bpButtonComponent xPaddedContent"
|
|
22
|
+
style={{flexBasis: this.state.baseWidth ?? this.flexBasis}}
|
|
23
|
+
>
|
|
19
24
|
<Button className="bpButton"
|
|
20
|
-
disabled={this.state.disabled}
|
|
25
|
+
disabled={this.state.disabled || this.state.readOnly}
|
|
26
|
+
intent={Intent.PRIMARY}
|
|
21
27
|
// small={true}
|
|
28
|
+
fill={true}
|
|
22
29
|
text={this.state.label} style={{}} onClick={this.onClick}/>
|
|
23
30
|
</div>
|
|
24
31
|
) : null
|
|
@@ -20,7 +20,7 @@ export class BPColorInputComponent extends BPValueComponent<ColorRepresentation,
|
|
|
20
20
|
constructor(props: BPComponentProps<ColorRepresentation>, context: UiConfigRendererContextType) {
|
|
21
21
|
super(props, context, {
|
|
22
22
|
label: 'Color',
|
|
23
|
-
value:
|
|
23
|
+
value: '#000000',
|
|
24
24
|
mode: 'number',
|
|
25
25
|
srgbConvert: false,
|
|
26
26
|
});
|
|
@@ -39,7 +39,7 @@ export class BPColorInputComponent extends BPValueComponent<ColorRepresentation,
|
|
|
39
39
|
else console.error('not supported color', val)
|
|
40
40
|
this._tempColor.set(val)
|
|
41
41
|
if (srgbConvert) this._tempColor.convertLinearToSRGB()
|
|
42
|
-
const value = '#' + this._tempColor.getHexString()
|
|
42
|
+
const value = '#' + this._tempColor.getHexString().toUpperCase()
|
|
43
43
|
// console.log('color', mode, value, val)
|
|
44
44
|
return {...state, mode, value, lastValue: val, srgbConvert} // default config.srgb = false
|
|
45
45
|
}
|
|
@@ -95,11 +95,17 @@ export class BPColorInputComponent extends BPValueComponent<ColorRepresentation,
|
|
|
95
95
|
document.addEventListener('mouseup', this._mouseUp)
|
|
96
96
|
}
|
|
97
97
|
|
|
98
|
+
protected flexBasis = "100%"
|
|
99
|
+
|
|
98
100
|
render() {
|
|
99
101
|
return !this.state.hidden ? (
|
|
100
|
-
<FormGroupComponent
|
|
102
|
+
<FormGroupComponent
|
|
103
|
+
label={this.state.label}
|
|
104
|
+
flexBasis={this.state.baseWidth ?? this.flexBasis}
|
|
105
|
+
>
|
|
101
106
|
<InputGroup inputRef={this._inputRef}
|
|
102
107
|
disabled={this.state.disabled} readOnly={this.state.readOnly}
|
|
108
|
+
fill={true}
|
|
103
109
|
leftElement={(
|
|
104
110
|
<Popover
|
|
105
111
|
popoverClassName={'color-picker-popover'}
|
|
@@ -12,6 +12,7 @@ export type BPComponentState = {
|
|
|
12
12
|
hidden?: boolean
|
|
13
13
|
disabled?: boolean
|
|
14
14
|
readOnly?: boolean // same as disabled(for most inputs)
|
|
15
|
+
baseWidth?: string // for flexBasis, can be a number or a string like '50%' or '100px'
|
|
15
16
|
}
|
|
16
17
|
export interface UiConfigRendererBaseBp extends UiConfigRendererBase{
|
|
17
18
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
@@ -20,7 +21,7 @@ export interface UiConfigRendererBaseBp extends UiConfigRendererBase{
|
|
|
20
21
|
|
|
21
22
|
export const UiConfigRendererContext = createContext<UiConfigRendererBaseBp>(null as any)
|
|
22
23
|
export type UiConfigRendererContextType = React.ContextType<typeof UiConfigRendererContext>
|
|
23
|
-
export abstract class BPComponent<TValue, TState, TProps extends BPComponentProps<TValue> = BPComponentProps<TValue>> extends React.Component<TProps, TState> {
|
|
24
|
+
export abstract class BPComponent<TValue, TState extends BPComponentState, TProps extends BPComponentProps<TValue> = BPComponentProps<TValue>> extends React.Component<TProps, TState> {
|
|
24
25
|
static contextType = UiConfigRendererContext
|
|
25
26
|
declare context: UiConfigRendererContextType
|
|
26
27
|
|
|
@@ -28,6 +29,7 @@ export abstract class BPComponent<TValue, TState, TProps extends BPComponentProp
|
|
|
28
29
|
super(props, context);
|
|
29
30
|
this.state = this.getUpdatedState(state)
|
|
30
31
|
// this.state = state
|
|
32
|
+
this.setState = this.setState.bind(this)
|
|
31
33
|
}
|
|
32
34
|
|
|
33
35
|
/**
|
|
@@ -38,16 +40,27 @@ export abstract class BPComponent<TValue, TState, TProps extends BPComponentProp
|
|
|
38
40
|
return new Promise<void>(resolve => this.setState(state, resolve))
|
|
39
41
|
}
|
|
40
42
|
|
|
43
|
+
keyVersion = 0
|
|
44
|
+
|
|
41
45
|
/**
|
|
42
46
|
* This is called to get the updated state from the config, copy any values/properties from the config to the state here
|
|
43
47
|
* @param state - the current state
|
|
44
48
|
*/
|
|
45
49
|
getUpdatedState(state: TState): TState{
|
|
50
|
+
const hidden = getOrCall(this.props.config.hidden) ?? false
|
|
51
|
+
const disabled = getOrCall(this.props.config.disabled) ?? false
|
|
52
|
+
const readOnly = getOrCall(this.props.config.readOnly) ?? false
|
|
53
|
+
const baseWidth = getOrCall(this.props.config.baseWidth) ?? undefined
|
|
54
|
+
if(hidden !== state.hidden
|
|
55
|
+
|| disabled !== state.disabled
|
|
56
|
+
|| readOnly !== state.readOnly
|
|
57
|
+
) this.keyVersion++
|
|
46
58
|
return {
|
|
47
59
|
...state,
|
|
48
|
-
hidden
|
|
49
|
-
disabled
|
|
50
|
-
readOnly
|
|
60
|
+
hidden,
|
|
61
|
+
disabled,
|
|
62
|
+
readOnly,
|
|
63
|
+
baseWidth
|
|
51
64
|
}
|
|
52
65
|
}
|
|
53
66
|
|
|
@@ -16,6 +16,7 @@ export class BPContainerComponent<TState extends BPContainerComponentState=BPCon
|
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
protected _registerChild(child: UiObjectConfig) {
|
|
19
|
+
// if(Object.keys(child).length)
|
|
19
20
|
child.parentOnChange = this._childParentOnChange
|
|
20
21
|
if(child.property === undefined &&
|
|
21
22
|
child.value === undefined &&
|
|
@@ -28,7 +29,7 @@ export class BPContainerComponent<TState extends BPContainerComponentState=BPCon
|
|
|
28
29
|
|
|
29
30
|
protected _unregisterChild(child: UiObjectConfig) {
|
|
30
31
|
if (child.parentOnChange !== this._childParentOnChange)
|
|
31
|
-
child.parentOnChange
|
|
32
|
+
delete child.parentOnChange
|
|
32
33
|
if(Array.isArray(child.property) &&
|
|
33
34
|
(child.property === this.props.config.property ||
|
|
34
35
|
(child.property[0] === this.props.config &&
|
|
@@ -44,6 +45,17 @@ export class BPContainerComponent<TState extends BPContainerComponentState=BPCon
|
|
|
44
45
|
getUpdatedState(state: TState) {
|
|
45
46
|
const oldChildren = state.children
|
|
46
47
|
const newChildren = this.context.methods.getChildren(this.props.config)
|
|
48
|
+
.flatMap(c=>{
|
|
49
|
+
if(c.type === 'folder' &&
|
|
50
|
+
c.unwrapContents === true
|
|
51
|
+
){
|
|
52
|
+
const children2 = this.context.methods.getChildren(c)
|
|
53
|
+
const enabledToggle = children2[0] && this.context.methods.getBinding(children2[0])[1] === 'enabled' ? children2[0] : undefined
|
|
54
|
+
enabledToggle && (enabledToggle.hidden = true)
|
|
55
|
+
return children2
|
|
56
|
+
}
|
|
57
|
+
return c
|
|
58
|
+
})
|
|
47
59
|
const removed = oldChildren.filter(c => !newChildren.includes(c))
|
|
48
60
|
const added = newChildren.filter(c => !oldChildren.includes(c))
|
|
49
61
|
// console.warn(this, this._registerChild, this._childParentOnChange, added, removed)
|
|
@@ -3,6 +3,7 @@ import {Button, MenuItem} from "@blueprintjs/core";
|
|
|
3
3
|
import {BPInputComponent} from "./BPInputComponent";
|
|
4
4
|
import {BPValueComponentState} from "./BPValueComponent";
|
|
5
5
|
import {ItemRenderer, Select} from "@blueprintjs/select";
|
|
6
|
+
import {cleanLabel} from "../utils";
|
|
6
7
|
|
|
7
8
|
export interface DropdownItem{
|
|
8
9
|
label: string,
|
|
@@ -40,8 +41,8 @@ export class BPDropdownInputComponent extends BPInputComponent<string|number, BP
|
|
|
40
41
|
|
|
41
42
|
getUpdatedState(state: BPDropdownComponentState): BPDropdownComponentState {
|
|
42
43
|
const children = this.context.methods.getChildren(this.props.config)
|
|
43
|
-
const options: DropdownItem[] = children.map(value => {
|
|
44
|
-
const label = this.context.methods.getLabel(value)
|
|
44
|
+
const options: DropdownItem[] = children.map((value, i) => {
|
|
45
|
+
const label = cleanLabel(this.context.methods.getLabel(value)) || `Option ${i}`
|
|
45
46
|
return {label, value: value!.value ?? label}
|
|
46
47
|
})
|
|
47
48
|
|
|
@@ -59,8 +60,14 @@ export class BPDropdownInputComponent extends BPInputComponent<string|number, BP
|
|
|
59
60
|
activeItem={item}
|
|
60
61
|
key={this.props.config.uuid}
|
|
61
62
|
disabled={this.state.disabled}
|
|
63
|
+
fill={true}
|
|
62
64
|
popoverProps={{
|
|
63
|
-
minimal: true
|
|
65
|
+
minimal: true,
|
|
66
|
+
}}
|
|
67
|
+
popoverTargetProps={{
|
|
68
|
+
style: {
|
|
69
|
+
height: "var(--pt-input-height)",
|
|
70
|
+
}
|
|
64
71
|
}}
|
|
65
72
|
noResults={<MenuItem disabled={true} text="No results." roleStructure="listoption" />}
|
|
66
73
|
items={this.state.options}
|
|
@@ -72,7 +79,7 @@ export class BPDropdownInputComponent extends BPInputComponent<string|number, BP
|
|
|
72
79
|
>
|
|
73
80
|
{/* children become the popover target; render value here */}
|
|
74
81
|
<Button rightIcon="double-caret-vertical" small={true}
|
|
75
|
-
style={{whiteSpace: 'nowrap', textOverflow: "ellipsis"}}>{item.label}</Button>
|
|
82
|
+
style={{whiteSpace: 'nowrap', textOverflow: "ellipsis", height: "100%"}}>{item.label}</Button>
|
|
76
83
|
</Select>
|
|
77
84
|
)
|
|
78
85
|
}
|