uiconfig-blueprint 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/LICENSE +190 -0
  2. package/README.md +129 -0
  3. package/dist/ConfigObject.d.ts +16 -0
  4. package/dist/UiConfigRendererBlueprint.d.ts +13 -0
  5. package/dist/allPaths-PklnL3F6.js +23 -0
  6. package/dist/allPaths-PklnL3F6.js.map +1 -0
  7. package/dist/allPathsLoader-2dOu0jQ3.js +27 -0
  8. package/dist/allPathsLoader-2dOu0jQ3.js.map +1 -0
  9. package/dist/bpComponents/BPButtonComponent.d.ts +8 -0
  10. package/dist/bpComponents/BPColorInputComponent.d.ts +25 -0
  11. package/dist/bpComponents/BPComponent.d.ts +25 -0
  12. package/dist/bpComponents/BPContainerComponent.d.ts +21 -0
  13. package/dist/bpComponents/BPDropdownInputComponent.d.ts +16 -0
  14. package/dist/bpComponents/BPFileComponent.d.ts +26 -0
  15. package/dist/bpComponents/BPFolderComponent.d.ts +16 -0
  16. package/dist/bpComponents/BPInputComponent.d.ts +11 -0
  17. package/dist/bpComponents/BPLabelledComponent.d.ts +8 -0
  18. package/dist/bpComponents/BPNumberInputComponent.d.ts +11 -0
  19. package/dist/bpComponents/BPPanelComponent.d.ts +17 -0
  20. package/dist/bpComponents/BPSliderInputComponent.d.ts +15 -0
  21. package/dist/bpComponents/BPTextInputComponent.d.ts +8 -0
  22. package/dist/bpComponents/BPToggleInputComponent.d.ts +9 -0
  23. package/dist/bpComponents/BPTreeComponent.d.ts +32 -0
  24. package/dist/bpComponents/BPTreeFolderComponent.d.ts +10 -0
  25. package/dist/bpComponents/BPValueComponent.d.ts +16 -0
  26. package/dist/bpComponents/BPVectorInputComponent.d.ts +20 -0
  27. package/dist/components/DraggableIcon.d.ts +17 -0
  28. package/dist/components/ExtendedNumericInput.d.ts +23 -0
  29. package/dist/components/FileComponent.d.ts +7 -0
  30. package/dist/components/FormGroupComponent.d.ts +6 -0
  31. package/dist/components/InspectorStackComponent.d.ts +5 -0
  32. package/dist/components/VisualStyleContext.d.ts +110 -0
  33. package/dist/components/bpIconWrapper.d.ts +2 -0
  34. package/dist/components/variableIcons.d.ts +41 -0
  35. package/dist/contexts.d.ts +1 -0
  36. package/dist/index-PTojlie-.js +29271 -0
  37. package/dist/index-PTojlie-.js.map +1 -0
  38. package/dist/index-iM9IChdK.js +604 -0
  39. package/dist/index-iM9IChdK.js.map +1 -0
  40. package/dist/index-tqa0R-I0.js +604 -0
  41. package/dist/index-tqa0R-I0.js.map +1 -0
  42. package/dist/index.d.ts +4 -0
  43. package/dist/index.js +292 -0
  44. package/dist/index.js.map +1 -0
  45. package/dist/index.mjs +12 -0
  46. package/dist/index.mjs.map +1 -0
  47. package/dist/splitPathsBySizeLoader-QNLjzk6A.js +36 -0
  48. package/dist/splitPathsBySizeLoader-QNLjzk6A.js.map +1 -0
  49. package/dist/threejs.d.ts +2 -0
  50. package/docs/.nojekyll +1 -0
  51. package/docs/assets/highlight.css +120 -0
  52. package/docs/assets/main.js +58 -0
  53. package/docs/assets/search.js +1 -0
  54. package/docs/assets/style.css +1279 -0
  55. package/docs/classes/UI.html +403 -0
  56. package/docs/classes/UiConfigRendererBlueprint.html +404 -0
  57. package/docs/index.html +134 -0
  58. package/docs/modules.html +50 -0
  59. package/package.json +127 -0
  60. package/src/ConfigObject.tsx +137 -0
  61. package/src/UiConfigRendererBlueprint.tsx +85 -0
  62. package/src/bpComponents/BPButtonComponent.scss +8 -0
  63. package/src/bpComponents/BPButtonComponent.tsx +27 -0
  64. package/src/bpComponents/BPColorInputComponent.tsx +138 -0
  65. package/src/bpComponents/BPComponent.tsx +93 -0
  66. package/src/bpComponents/BPContainerComponent.tsx +57 -0
  67. package/src/bpComponents/BPDropdownInputComponent.tsx +80 -0
  68. package/src/bpComponents/BPFileComponent.tsx +73 -0
  69. package/src/bpComponents/BPFolderComponent.scss +107 -0
  70. package/src/bpComponents/BPFolderComponent.tsx +91 -0
  71. package/src/bpComponents/BPInputComponent.tsx +33 -0
  72. package/src/bpComponents/BPLabelledComponent.tsx +19 -0
  73. package/src/bpComponents/BPNumberInputComponent.tsx +35 -0
  74. package/src/bpComponents/BPPanelComponent.tsx +50 -0
  75. package/src/bpComponents/BPSliderInputComponent.tsx +71 -0
  76. package/src/bpComponents/BPTextInputComponent.tsx +26 -0
  77. package/src/bpComponents/BPToggleInputComponent.tsx +31 -0
  78. package/src/bpComponents/BPTreeComponent.scss +3 -0
  79. package/src/bpComponents/BPTreeComponent.tsx +127 -0
  80. package/src/bpComponents/BPTreeFolderComponent.tsx +31 -0
  81. package/src/bpComponents/BPValueComponent.tsx +46 -0
  82. package/src/bpComponents/BPVectorInputComponent.tsx +163 -0
  83. package/src/bpComponents/index.scss +3 -0
  84. package/src/components/DraggableIcon.tsx +75 -0
  85. package/src/components/ExtendedNumericInput.tsx +219 -0
  86. package/src/components/FileComponent.tsx +79 -0
  87. package/src/components/FormGroupComponent.tsx +22 -0
  88. package/src/components/InspectorStackComponent.tsx +72 -0
  89. package/src/components/VisualStyleContext.tsx +69 -0
  90. package/src/components/bpIconWrapper.tsx +20 -0
  91. package/src/components/common.scss +21 -0
  92. package/src/components/variableIcons.tsx +177 -0
  93. package/src/contexts.ts +1 -0
  94. package/src/index.ts +8 -0
  95. package/src/renderer.scss +193 -0
  96. package/src/threejs.ts +3 -0
  97. package/tsconfig.json +40 -0
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ import { BPComponentProps, UiConfigRendererContextType } from "./BPComponent";
3
+ import { BPInputComponent } from "./BPInputComponent";
4
+ export declare class BPToggleInputComponent extends BPInputComponent<boolean> {
5
+ constructor(props: BPComponentProps<boolean>, context: UiConfigRendererContextType);
6
+ private _onChange;
7
+ renderInput(): React.JSX.Element;
8
+ render(): React.JSX.Element | null;
9
+ }
@@ -0,0 +1,32 @@
1
+ import { BPComponent, BPComponentProps, BPComponentState, UiConfigRendererContextType } from "./BPComponent";
2
+ import { TreeNodeInfo } from "@blueprintjs/core";
3
+ import React from "react";
4
+ export type BPTreeComponentState<T = {}> = BPComponentState & {
5
+ nodes: TreeNodeInfo<T>[];
6
+ };
7
+ export declare function forEachTreeNode<T>(nodes: TreeNodeInfo<T>[] | undefined, callback: (node: TreeNodeInfo<T>) => void): void;
8
+ export declare abstract class BPTreeComponent<T = {}, TConfigVal = void> extends BPComponent<TConfigVal, BPTreeComponentState<T>> {
9
+ constructor(props: BPComponentProps<TConfigVal>, context: UiConfigRendererContextType);
10
+ protected _infoMap: Map<string, TreeNodeInfo<T>>;
11
+ protected _createNodeInfo(id: string, obj: T): {
12
+ id: string;
13
+ label: string;
14
+ nodeData: T;
15
+ childNodes: never[];
16
+ };
17
+ protected abstract _getNodeId(obj: T): string;
18
+ protected abstract _updateNodeInfo(node: TreeNodeInfo<T>, obj: T): TreeNodeInfo<T>;
19
+ protected abstract _getRootNodes(): T[];
20
+ protected _onNodeClick(_node: TreeNodeInfo<T>): Promise<void>;
21
+ protected _onNodeDoubleClick(_node: TreeNodeInfo<T>): Promise<void>;
22
+ protected _onNodeExpand(node: TreeNodeInfo<T>): Promise<void>;
23
+ protected _onNodeCollapse(node: TreeNodeInfo<T>): Promise<void>;
24
+ protected _onNodeContextMenu(_node: TreeNodeInfo<T>): Promise<void>;
25
+ protected buildData(data: TreeNodeInfo<T>[], obj: T, _?: any, _2?: any): TreeNodeInfo<T>[];
26
+ getUpdatedState(_state: BPTreeComponentState<T>): BPTreeComponentState<T>;
27
+ deselectAll(): void;
28
+ setSelected(node?: TreeNodeInfo<T>): Promise<void>;
29
+ componentDidMount(): void;
30
+ componentWillUnmount(): void;
31
+ render(): React.JSX.Element | null;
32
+ }
@@ -0,0 +1,10 @@
1
+ import { TreeNodeInfo } from "@blueprintjs/core";
2
+ import { BPTreeComponent } from "./BPTreeComponent";
3
+ import { UiObjectConfig } from 'uiconfig.js';
4
+ export declare class BPTreeFolderComponent extends BPTreeComponent<UiObjectConfig> {
5
+ protected _getNodeId(obj: UiObjectConfig): string;
6
+ protected _updateNodeInfo(node: TreeNodeInfo<UiObjectConfig>, obj: UiObjectConfig): TreeNodeInfo<UiObjectConfig<any, string, any>>;
7
+ protected _getRootNodes(): UiObjectConfig[];
8
+ protected _onNodeClick(_node: TreeNodeInfo<UiObjectConfig>): Promise<void>;
9
+ protected _onNodeDoubleClick(_node: TreeNodeInfo<UiObjectConfig>): Promise<void>;
10
+ }
@@ -0,0 +1,16 @@
1
+ import { BPComponentProps, UiConfigRendererContextType } from "./BPComponent";
2
+ import { BPLabelledComponent, BPLabelledComponentState } from "./BPLabelledComponent";
3
+ export type BPValueComponentState<TStateValue> = BPLabelledComponentState & {
4
+ value: TStateValue;
5
+ };
6
+ export declare abstract class BPValueComponent<TValue, TState extends BPValueComponentState<TStateValue>, TStateValue> extends BPLabelledComponent<TValue, TState> {
7
+ protected constructor(props: BPComponentProps<TValue>, context: UiConfigRendererContextType, state: TState);
8
+ abstract convertValueToState(value: TValue, state: TState): TState;
9
+ abstract convertStateToValue(state: TState): Promise<TValue>;
10
+ getUpdatedState(state: TState): TState;
11
+ protected _previousLast: boolean;
12
+ doesNeedRefresh(state: TState, _last?: boolean): boolean;
13
+ setValue(value: TStateValue, last?: boolean): Promise<void>;
14
+ forceOnChange: boolean;
15
+ updateStateValue(state: TState, last?: boolean): Promise<void>;
16
+ }
@@ -0,0 +1,20 @@
1
+ import React from "react";
2
+ import { BPComponentProps, UiConfigRendererContextType } from "./BPComponent";
3
+ import { BPInputComponent } from "./BPInputComponent";
4
+ import { BPValueComponentState } from "./BPValueComponent";
5
+ import type { Vector2, Vector3, Vector4 } from "three";
6
+ export type BPVectorComponentState = BPValueComponentState<Vector2 | Vector3 | Vector4> & {
7
+ min: number;
8
+ max: number;
9
+ step: number;
10
+ components: 1 | 2 | 3 | 4;
11
+ };
12
+ export declare class BPVectorInputComponent extends BPInputComponent<Vector2 | Vector3 | Vector4, BPVectorComponentState> {
13
+ constructor(props: BPComponentProps<Vector2 | Vector3 | Vector4>, context: UiConfigRendererContextType);
14
+ forceOnChange: boolean;
15
+ doesNeedRefresh(_: BPVectorComponentState): boolean;
16
+ getUpdatedState(state: BPVectorComponentState): BPVectorComponentState;
17
+ private _inputs;
18
+ refreshConfigState(state?: BPVectorComponentState): Promise<void>;
19
+ renderInput(): React.JSX.Element | React.JSX.Element[];
20
+ }
@@ -0,0 +1,17 @@
1
+ import * as React from "react";
2
+ import { IconName, MaybeElement } from "@blueprintjs/core";
3
+ export declare class DraggableIcon extends React.Component<{
4
+ icon: IconName | MaybeElement;
5
+ value: number;
6
+ stepSize?: number;
7
+ onChange: (v: number, last?: boolean) => void;
8
+ }> {
9
+ private cursor;
10
+ private dragStartOffset;
11
+ private dragStartValue;
12
+ private lastValue;
13
+ private removeEvents;
14
+ private mouseUpEvent;
15
+ private mouseMoveEvent;
16
+ render(): React.JSX.Element;
17
+ }
@@ -0,0 +1,23 @@
1
+ import React from "react";
2
+ import type { HTMLInputProps, NumericInputProps } from "@blueprintjs/core";
3
+ export interface IExtendedNumericInputState {
4
+ value?: string;
5
+ }
6
+ export declare class ExtendedNumericInput extends React.PureComponent<HTMLInputProps & NumericInputProps & {
7
+ onChange2: (v: number, last?: boolean) => void;
8
+ }, IExtendedNumericInputState> {
9
+ state: IExtendedNumericInputState;
10
+ setValue(val?: number): Promise<void>;
11
+ render(): React.JSX.Element;
12
+ private handleBlur;
13
+ private handleKeyDown;
14
+ private handleValueChange;
15
+ private handleConfirm;
16
+ private expandScientificNotationTerms;
17
+ private expandNumberAbbreviationTerms;
18
+ private evaluateSimpleMathExpression;
19
+ private nanStringToEmptyString;
20
+ private expandAbbreviatedNumber;
21
+ private expandScientificNotationNumber;
22
+ private roundValue;
23
+ }
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ import { BPFileComponentState } from "../bpComponents/BPFileComponent";
3
+ export interface FileComponentProps {
4
+ state: BPFileComponentState;
5
+ onChange: (state: Partial<BPFileComponentState>) => void;
6
+ }
7
+ export declare const FileComponent: React.FC<FileComponentProps>;
@@ -0,0 +1,6 @@
1
+ import React, { PropsWithChildren } from "react";
2
+ export declare function FormGroupComponent(props: PropsWithChildren<{
3
+ label: string;
4
+ flexBasis?: string;
5
+ disabled?: boolean;
6
+ }>): React.JSX.Element;
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ import { UiObjectConfig } from 'uiconfig.js';
3
+ export declare function InspectorStackComponent({ config }: {
4
+ config: UiObjectConfig<any, 'panel'>;
5
+ }): React.JSX.Element;
@@ -0,0 +1,110 @@
1
+ import React from 'react';
2
+ export declare const defaultVisualStyle: {
3
+ darkMode: boolean;
4
+ setDarkMode: (_: boolean) => void;
5
+ themes: {
6
+ 'bpx-default': {
7
+ label: string;
8
+ link: string;
9
+ };
10
+ 'bpx-bpv3': {
11
+ label: string;
12
+ link: string;
13
+ };
14
+ 'bpx-flat': {
15
+ label: string;
16
+ link: string;
17
+ };
18
+ 'bpx-carbon': {
19
+ label: string;
20
+ link: string;
21
+ };
22
+ 'bpx-antd': {
23
+ label: string;
24
+ link: string;
25
+ };
26
+ 'bpx-fluent': {
27
+ label: string;
28
+ link: string;
29
+ };
30
+ 'bpx-pnnl': {
31
+ label: string;
32
+ link: string;
33
+ };
34
+ };
35
+ theme: string;
36
+ setTheme: (_: string) => void;
37
+ };
38
+ export declare const VisualStyleContext: React.Context<{
39
+ darkMode: boolean;
40
+ setDarkMode: (_: boolean) => void;
41
+ themes: {
42
+ 'bpx-default': {
43
+ label: string;
44
+ link: string;
45
+ };
46
+ 'bpx-bpv3': {
47
+ label: string;
48
+ link: string;
49
+ };
50
+ 'bpx-flat': {
51
+ label: string;
52
+ link: string;
53
+ };
54
+ 'bpx-carbon': {
55
+ label: string;
56
+ link: string;
57
+ };
58
+ 'bpx-antd': {
59
+ label: string;
60
+ link: string;
61
+ };
62
+ 'bpx-fluent': {
63
+ label: string;
64
+ link: string;
65
+ };
66
+ 'bpx-pnnl': {
67
+ label: string;
68
+ link: string;
69
+ };
70
+ };
71
+ theme: string;
72
+ setTheme: (_: string) => void;
73
+ }>;
74
+ export declare const useVisualStyle: () => {
75
+ darkMode: boolean;
76
+ setDarkMode: (_: boolean) => void;
77
+ themes: {
78
+ 'bpx-default': {
79
+ label: string;
80
+ link: string;
81
+ };
82
+ 'bpx-bpv3': {
83
+ label: string;
84
+ link: string;
85
+ };
86
+ 'bpx-flat': {
87
+ label: string;
88
+ link: string;
89
+ };
90
+ 'bpx-carbon': {
91
+ label: string;
92
+ link: string;
93
+ };
94
+ 'bpx-antd': {
95
+ label: string;
96
+ link: string;
97
+ };
98
+ 'bpx-fluent': {
99
+ label: string;
100
+ link: string;
101
+ };
102
+ 'bpx-pnnl': {
103
+ label: string;
104
+ link: string;
105
+ };
106
+ };
107
+ theme: string;
108
+ setTheme: (_: string) => void;
109
+ };
110
+ export declare function ThemeSettingsMenuComponent(): React.JSX.Element;
@@ -0,0 +1,2 @@
1
+ import React, { ReactNode } from "react";
2
+ export declare const bpIconWrapper: (path: ReactNode, viewbox?: number) => React.JSX.Element;
@@ -0,0 +1,41 @@
1
+ import React from "react";
2
+ export declare const xIcon1: React.JSX.Element;
3
+ export declare const yIcon1: React.JSX.Element;
4
+ export declare const zIcon1: React.JSX.Element;
5
+ export declare const xIcon2: React.JSX.Element;
6
+ export declare const yIcon2: React.JSX.Element;
7
+ export declare const zIcon2: React.JSX.Element;
8
+ export declare const xIcon3: React.JSX.Element;
9
+ export declare const yIcon3: React.JSX.Element;
10
+ export declare const zIcon3: React.JSX.Element;
11
+ export declare const uIcon3: React.JSX.Element;
12
+ export declare const vIcon3: React.JSX.Element;
13
+ export declare const wIcon3: React.JSX.Element;
14
+ export declare const hIcon3: React.JSX.Element;
15
+ export declare const xIcon4: React.JSX.Element;
16
+ export declare const yIcon4: React.JSX.Element;
17
+ export declare const zIcon4: React.JSX.Element;
18
+ export declare const xIcon5: React.JSX.Element;
19
+ export declare const yIcon5: React.JSX.Element;
20
+ export declare const zIcon5: React.JSX.Element;
21
+ export declare const xIcon6: React.JSX.Element;
22
+ export declare const yIcon6: React.JSX.Element;
23
+ export declare const zIcon6: React.JSX.Element;
24
+ export declare const xIcon7: React.JSX.Element;
25
+ export declare const yIcon7: React.JSX.Element;
26
+ export declare const zIcon7: React.JSX.Element;
27
+ export declare const xIcon8: React.JSX.Element;
28
+ export declare const yIcon8: React.JSX.Element;
29
+ export declare const zIcon8: React.JSX.Element;
30
+ export declare const xIcon9: React.JSX.Element;
31
+ export declare const yIcon9: React.JSX.Element;
32
+ export declare const zIcon9: React.JSX.Element;
33
+ export declare const xIcon10: React.JSX.Element;
34
+ export declare const yIcon10: React.JSX.Element;
35
+ export declare const zIcon10: React.JSX.Element;
36
+ export declare const xIcon11: React.JSX.Element;
37
+ export declare const yIcon11: React.JSX.Element;
38
+ export declare const zIcon11: React.JSX.Element;
39
+ export declare const xIcon12: React.JSX.Element;
40
+ export declare const yIcon12: React.JSX.Element;
41
+ export declare const zIcon12: React.JSX.Element;
@@ -0,0 +1 @@
1
+ export {};