uiconfig-blueprint 0.1.0-dev.7 → 0.1.0-dev.9

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 (102) hide show
  1. package/dist/ConfigObject.d.ts +2 -1
  2. package/dist/{allPaths-BOo4cECg.js → allPaths-C4QHVET-.js} +5 -5
  3. package/dist/{allPaths-BOo4cECg.js.map → allPaths-C4QHVET-.js.map} +1 -1
  4. package/dist/{allPathsLoader-B4vYL2gG.js → allPathsLoader-Dm-MlOxQ.js} +4 -4
  5. package/dist/{allPathsLoader-B4vYL2gG.js.map → allPathsLoader-Dm-MlOxQ.js.map} +1 -1
  6. package/dist/bpComponents/BPContainerComponent.d.ts +1 -1
  7. package/dist/bpComponents/BPNumberInputComponent.d.ts +3 -1
  8. package/dist/bpComponents/BPSliderInputComponent.d.ts +1 -0
  9. package/dist/bpComponents/BPTreeComponent.d.ts +1 -1
  10. package/dist/bpComponents/BPVectorInputComponent.d.ts +1 -0
  11. package/dist/bpComponents/GetNumberTransformFunctions.d.ts +4 -0
  12. package/dist/bpComponents/NumberUnits.d.ts +7 -0
  13. package/dist/components/ExtendedNumericInput.d.ts +13 -3
  14. package/dist/components/NumericInput.d.ts +79 -0
  15. package/dist/components/bpIconWrapper.d.ts +1 -1
  16. package/dist/{index-13b-jSvJ.js → index-2Z2Mq97s.js} +4907 -4700
  17. package/dist/index-2Z2Mq97s.js.map +1 -0
  18. package/dist/{index-B0IO--x7.js → index-BKXNXgJi.js} +2 -2
  19. package/dist/{index-B0IO--x7.js.map → index-BKXNXgJi.js.map} +1 -1
  20. package/dist/{index-BttMe1vP.js → index-BVSBMJ4w.js} +2 -2
  21. package/dist/{index-BttMe1vP.js.map → index-BVSBMJ4w.js.map} +1 -1
  22. package/dist/index.js +18 -18
  23. package/dist/index.js.map +1 -1
  24. package/dist/index.mjs +2 -2
  25. package/dist/lib.d.ts +3 -0
  26. package/dist/{splitPathsBySizeLoader-nUv2DYaP.js → splitPathsBySizeLoader-CJaJimKZ.js} +5 -5
  27. package/dist/{splitPathsBySizeLoader-nUv2DYaP.js.map → splitPathsBySizeLoader-CJaJimKZ.js.map} +1 -1
  28. package/docs/classes/UI.html +3 -3
  29. package/docs/classes/UiConfigRendererBlueprint.html +3 -3
  30. package/lib/css/renderer.css +76 -1
  31. package/lib/css/renderer.css.map +1 -1
  32. package/lib/esm/ConfigObject.d.ts +2 -1
  33. package/lib/esm/ConfigObject.js +5 -4
  34. package/lib/esm/ConfigObject.js.map +1 -1
  35. package/lib/esm/bpComponents/BPContainerComponent.d.ts +1 -1
  36. package/lib/esm/bpComponents/BPContainerComponent.js +11 -1
  37. package/lib/esm/bpComponents/BPContainerComponent.js.map +1 -1
  38. package/lib/esm/bpComponents/BPFolderComponent.js +2 -2
  39. package/lib/esm/bpComponents/BPFolderComponent.js.map +1 -1
  40. package/lib/esm/bpComponents/BPNumberInputComponent.d.ts +3 -1
  41. package/lib/esm/bpComponents/BPNumberInputComponent.js +6 -1
  42. package/lib/esm/bpComponents/BPNumberInputComponent.js.map +1 -1
  43. package/lib/esm/bpComponents/BPSliderInputComponent.d.ts +1 -0
  44. package/lib/esm/bpComponents/BPSliderInputComponent.js +16 -15
  45. package/lib/esm/bpComponents/BPSliderInputComponent.js.map +1 -1
  46. package/lib/esm/bpComponents/BPTreeComponent.d.ts +1 -1
  47. package/lib/esm/bpComponents/BPTreeComponent.js +11 -7
  48. package/lib/esm/bpComponents/BPTreeComponent.js.map +1 -1
  49. package/lib/esm/bpComponents/BPVectorInputComponent.d.ts +1 -0
  50. package/lib/esm/bpComponents/BPVectorInputComponent.js +14 -8
  51. package/lib/esm/bpComponents/BPVectorInputComponent.js.map +1 -1
  52. package/lib/esm/bpComponents/GetNumberTransformFunctions.d.ts +4 -0
  53. package/lib/esm/bpComponents/GetNumberTransformFunctions.js +14 -0
  54. package/lib/esm/bpComponents/GetNumberTransformFunctions.js.map +1 -0
  55. package/lib/esm/bpComponents/NumberUnits.d.ts +7 -0
  56. package/lib/esm/bpComponents/NumberUnits.js +101 -0
  57. package/lib/esm/bpComponents/NumberUnits.js.map +1 -0
  58. package/lib/esm/components/DialogContext.js +12 -3
  59. package/lib/esm/components/DialogContext.js.map +1 -1
  60. package/lib/esm/components/ExtendedNumericInput.d.ts +13 -3
  61. package/lib/esm/components/ExtendedNumericInput.js +62 -17
  62. package/lib/esm/components/ExtendedNumericInput.js.map +1 -1
  63. package/lib/esm/components/NumericInput.d.ts +79 -0
  64. package/lib/esm/components/NumericInput.js +311 -0
  65. package/lib/esm/components/NumericInput.js.map +1 -0
  66. package/lib/esm/components/Tree2.js +2 -2
  67. package/lib/esm/components/Tree2.js.map +1 -1
  68. package/lib/esm/components/TreeNode2.js +2 -2
  69. package/lib/esm/components/TreeNode2.js.map +1 -1
  70. package/lib/esm/components/VisualStyleContext.js +7 -1
  71. package/lib/esm/components/VisualStyleContext.js.map +1 -1
  72. package/lib/esm/components/bpIconWrapper.d.ts +1 -1
  73. package/lib/esm/components/bpIconWrapper.js +2 -2
  74. package/lib/esm/components/bpIconWrapper.js.map +1 -1
  75. package/lib/esm/components/iconMapping.js +1 -1
  76. package/lib/esm/components/iconMapping.js.map +1 -1
  77. package/lib/esm/lib.d.ts +3 -0
  78. package/lib/esm/lib.js +3 -0
  79. package/lib/esm/lib.js.map +1 -1
  80. package/package.json +2 -2
  81. package/src/ConfigObject.tsx +8 -6
  82. package/src/bpComponents/BPButtonComponent.scss +3 -1
  83. package/src/bpComponents/BPContainerComponent.tsx +11 -0
  84. package/src/bpComponents/BPFolderComponent.tsx +2 -2
  85. package/src/bpComponents/BPNumberInputComponent.tsx +13 -2
  86. package/src/bpComponents/BPSliderInputComponent.tsx +37 -29
  87. package/src/bpComponents/BPTreeComponent.tsx +14 -8
  88. package/src/bpComponents/BPVectorInputComponent.tsx +23 -20
  89. package/src/bpComponents/GetNumberTransformFunctions.tsx +14 -0
  90. package/src/bpComponents/NumberUnits.tsx +123 -0
  91. package/src/components/DialogContext.tsx +16 -2
  92. package/src/components/ExtendedNumericInput.tsx +70 -19
  93. package/src/components/NumericInput.tsx +679 -0
  94. package/src/components/Tree2.tsx +3 -3
  95. package/src/components/TreeNode2.tsx +2 -2
  96. package/src/components/VisualStyleContext.tsx +8 -0
  97. package/src/components/bpIconWrapper.tsx +2 -2
  98. package/src/components/iconMapping.ts +1 -1
  99. package/src/components/tree2.scss +27 -0
  100. package/src/lib.ts +3 -0
  101. package/src/renderer.scss +19 -0
  102. package/dist/index-13b-jSvJ.js.map +0 -1
@@ -3,11 +3,12 @@ import { Class, PartialRecord } from "ts-browser-helpers";
3
3
  import { BPComponentProps, BPComponentState, UiConfigRendererContext } from "./bpComponents/BPComponent";
4
4
  import { PanelActions } from "@blueprintjs/core/lib/esm/components/panel-stack2/panelTypes";
5
5
  import { UiObjectConfig } from 'uiconfig.js';
6
- export type UiConfigTypes = 'input' | 'button' | 'folder' | 'checkbox' | 'toggle' | 'dropdown' | 'slider' | 'color' | 'image' | 'number' | 'panel' | 'tree' | 'hierarchy' | 'vec' | 'vec2' | 'vec3' | 'vec4' | 'monitor';
6
+ export type UiConfigTypes = 'input' | 'button' | 'folder' | 'checkbox' | 'toggle' | 'dropdown' | 'slider' | 'color' | 'image' | 'number' | 'panel' | 'tree' | 'hierarchy' | 'materials' | 'textures' | 'vec' | 'vec2' | 'vec3' | 'vec4' | 'monitor' | 'vector';
7
7
  export interface ConfigProps extends PanelActions {
8
8
  config: UiObjectConfig;
9
9
  isPanel?: boolean;
10
10
  level?: number;
11
+ className?: string;
11
12
  }
12
13
  export declare const ConfigObjectGenerators: PartialRecord<UiConfigTypes, Class<React.Component<BPComponentProps<any>, BPComponentState>>>;
13
14
  export declare class ConfigObject extends React.Component<ConfigProps, {}> {
@@ -1,9 +1,9 @@
1
- import { I as n } from "./index-BttMe1vP.js";
2
- import { I as e } from "./index-B0IO--x7.js";
3
- import { p as r, I as s } from "./index-13b-jSvJ.js";
1
+ import { I as n } from "./index-BVSBMJ4w.js";
2
+ import { I as e } from "./index-BKXNXgJi.js";
3
+ import { p as r, I as s } from "./index-2Z2Mq97s.js";
4
4
  /**
5
5
  * @license
6
- * uiconfig-blueprint v0.1.0-dev.7
6
+ * uiconfig-blueprint v0.1.0-dev.9
7
7
  * Copyright 2022-2025 repalash <palash@shaders.app>
8
8
  * Apache-2.0 License
9
9
  */
@@ -20,4 +20,4 @@ export {
20
20
  I as getIconPaths,
21
21
  p as iconNameToPathsRecordKey
22
22
  };
23
- //# sourceMappingURL=allPaths-BOo4cECg.js.map
23
+ //# sourceMappingURL=allPaths-C4QHVET-.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"allPaths-BOo4cECg.js","sources":["../node_modules/@blueprintjs/icons/lib/esm/allPaths.js"],"sourcesContent":["/*\n * Copyright 2021 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { pascalCase } from \"change-case\";\nimport * as IconSvgPaths16 from \"./generated/16px/paths\";\nimport * as IconSvgPaths20 from \"./generated/20px/paths\";\nimport { IconSize } from \"./iconTypes\";\nexport { IconSvgPaths16, IconSvgPaths20 };\n/**\n * Get the list of vector paths that define a given icon. These path strings are used to render `<path>`\n * elements inside an `<svg>` icon element. For full implementation details and nuances, see the icon component\n * handlebars template and `generate-icon-components` script in the __@blueprintjs/icons__ package.\n *\n * Note: this function loads all icon definitions __statically__, which means every icon is included in your\n * JS bundle. Only use this API if your app is likely to use all Blueprint icons at runtime. If you are looking for a\n * dynamic icon loader which loads icon definitions on-demand, use `{ Icons } from \"@blueprintjs/icons\"` instead.\n */\nexport function getIconPaths(name, size) {\n var key = pascalCase(name);\n return size === IconSize.STANDARD ? IconSvgPaths16[key] : IconSvgPaths20[key];\n}\n/**\n * Type safe string literal conversion of snake-case icon names to PascalCase icon names.\n * This is useful for indexing into the SVG paths record to extract a single icon's SVG path definition.\n *\n * @deprecated use `getIconPaths` instead\n */\nexport function iconNameToPathsRecordKey(name) {\n return pascalCase(name);\n}\n//# sourceMappingURL=allPaths.js.map"],"names":["getIconPaths","name","size","key","pascalCase","IconSize","IconSvgPaths16","IconSvgPaths20","iconNameToPathsRecordKey"],"mappings":";;;;;;;;;AA6BO,SAASA,EAAaC,GAAMC,GAAM;AACrC,MAAIC,IAAMC,EAAWH,CAAI;AACzB,SAAOC,MAASG,EAAS,WAAWC,EAAeH,CAAG,IAAII,EAAeJ,CAAG;AAChF;AAOO,SAASK,EAAyBP,GAAM;AAC3C,SAAOG,EAAWH,CAAI;AAC1B;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"allPaths-C4QHVET-.js","sources":["../node_modules/@blueprintjs/icons/lib/esm/allPaths.js"],"sourcesContent":["/*\n * Copyright 2021 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { pascalCase } from \"change-case\";\nimport * as IconSvgPaths16 from \"./generated/16px/paths\";\nimport * as IconSvgPaths20 from \"./generated/20px/paths\";\nimport { IconSize } from \"./iconTypes\";\nexport { IconSvgPaths16, IconSvgPaths20 };\n/**\n * Get the list of vector paths that define a given icon. These path strings are used to render `<path>`\n * elements inside an `<svg>` icon element. For full implementation details and nuances, see the icon component\n * handlebars template and `generate-icon-components` script in the __@blueprintjs/icons__ package.\n *\n * Note: this function loads all icon definitions __statically__, which means every icon is included in your\n * JS bundle. Only use this API if your app is likely to use all Blueprint icons at runtime. If you are looking for a\n * dynamic icon loader which loads icon definitions on-demand, use `{ Icons } from \"@blueprintjs/icons\"` instead.\n */\nexport function getIconPaths(name, size) {\n var key = pascalCase(name);\n return size === IconSize.STANDARD ? IconSvgPaths16[key] : IconSvgPaths20[key];\n}\n/**\n * Type safe string literal conversion of snake-case icon names to PascalCase icon names.\n * This is useful for indexing into the SVG paths record to extract a single icon's SVG path definition.\n *\n * @deprecated use `getIconPaths` instead\n */\nexport function iconNameToPathsRecordKey(name) {\n return pascalCase(name);\n}\n//# sourceMappingURL=allPaths.js.map"],"names":["getIconPaths","name","size","key","pascalCase","IconSize","IconSvgPaths16","IconSvgPaths20","iconNameToPathsRecordKey"],"mappings":";;;;;;;;;AA6BO,SAASA,EAAaC,GAAMC,GAAM;AACrC,MAAIC,IAAMC,EAAWH,CAAI;AACzB,SAAOC,MAASG,EAAS,WAAWC,EAAeH,CAAG,IAAII,EAAeJ,CAAG;AAChF;AAOO,SAASK,EAAyBP,GAAM;AAC3C,SAAOG,EAAWH,CAAI;AAC1B;","x_google_ignoreList":[0]}
@@ -1,7 +1,7 @@
1
- import { _ as n, a as o } from "./index-13b-jSvJ.js";
1
+ import { _ as n, a as o } from "./index-2Z2Mq97s.js";
2
2
  /**
3
3
  * @license
4
- * uiconfig-blueprint v0.1.0-dev.7
4
+ * uiconfig-blueprint v0.1.0-dev.9
5
5
  * Copyright 2022-2025 repalash <palash@shaders.app>
6
6
  * Apache-2.0 License
7
7
  */
@@ -13,7 +13,7 @@ var s = function(a, e) {
13
13
  case 0:
14
14
  return [4, import(
15
15
  /* webpackChunkName: "blueprint-icons-all-paths" */
16
- "./allPaths-BOo4cECg.js"
16
+ "./allPaths-C4QHVET-.js"
17
17
  )];
18
18
  case 1:
19
19
  return t = r.sent().getIconPaths, [2, t(a, e)];
@@ -24,4 +24,4 @@ var s = function(a, e) {
24
24
  export {
25
25
  s as allPathsLoader
26
26
  };
27
- //# sourceMappingURL=allPathsLoader-B4vYL2gG.js.map
27
+ //# sourceMappingURL=allPathsLoader-Dm-MlOxQ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"allPathsLoader-B4vYL2gG.js","sources":["../node_modules/@blueprintjs/icons/lib/esm/paths-loaders/allPathsLoader.js"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __awaiter, __generator } from \"tslib\";\n/**\n * A simple module loader which concatenates all icon paths into a single chunk.\n */\nexport var allPathsLoader = function (name, size) { return __awaiter(void 0, void 0, void 0, function () {\n var getIconPaths;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, import(\n /* webpackChunkName: \"blueprint-icons-all-paths\" */\n \"../allPaths\")];\n case 1:\n getIconPaths = (_a.sent()).getIconPaths;\n return [2 /*return*/, getIconPaths(name, size)];\n }\n });\n}); };\n//# sourceMappingURL=allPathsLoader.js.map"],"names":["allPathsLoader","name","size","__awaiter","getIconPaths","__generator","_a"],"mappings":";;;;;;;AAmBU,IAACA,IAAiB,SAAUC,GAAMC,GAAM;AAAE,SAAOC,EAAU,QAAQ,QAAQ,QAAQ,WAAY;AACrG,QAAIC;AACJ,WAAOC,EAAY,MAAM,SAAUC,GAAI;AACnC,cAAQA,EAAG,OAAK;AAAA,QACZ,KAAK;AAAG,iBAAO,CAAC,GAAa;AAAA;AAAA,YAEzB;AAAA,UAAa,CAAC;AAAA,QAClB,KAAK;AACD,iBAAAF,IAAgBE,EAAG,KAAI,EAAI,cACpB,CAAC,GAAcF,EAAaH,GAAMC,CAAI,CAAC;AAAA,MAC9D;AAAA,IACA,CAAK;AAAA,EACL,CAAC;AAAE;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"allPathsLoader-Dm-MlOxQ.js","sources":["../node_modules/@blueprintjs/icons/lib/esm/paths-loaders/allPathsLoader.js"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { __awaiter, __generator } from \"tslib\";\n/**\n * A simple module loader which concatenates all icon paths into a single chunk.\n */\nexport var allPathsLoader = function (name, size) { return __awaiter(void 0, void 0, void 0, function () {\n var getIconPaths;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, import(\n /* webpackChunkName: \"blueprint-icons-all-paths\" */\n \"../allPaths\")];\n case 1:\n getIconPaths = (_a.sent()).getIconPaths;\n return [2 /*return*/, getIconPaths(name, size)];\n }\n });\n}); };\n//# sourceMappingURL=allPathsLoader.js.map"],"names":["allPathsLoader","name","size","__awaiter","getIconPaths","__generator","_a"],"mappings":";;;;;;;AAmBU,IAACA,IAAiB,SAAUC,GAAMC,GAAM;AAAE,SAAOC,EAAU,QAAQ,QAAQ,QAAQ,WAAY;AACrG,QAAIC;AACJ,WAAOC,EAAY,MAAM,SAAUC,GAAI;AACnC,cAAQA,EAAG,OAAK;AAAA,QACZ,KAAK;AAAG,iBAAO,CAAC,GAAa;AAAA;AAAA,YAEzB;AAAA,UAAa,CAAC;AAAA,QAClB,KAAK;AACD,iBAAAF,IAAgBE,EAAG,KAAI,EAAI,cACpB,CAAC,GAAcF,EAAaH,GAAMC,CAAI,CAAC;AAAA,MAC9D;AAAA,IACA,CAAK;AAAA,EACL,CAAC;AAAE;","x_google_ignoreList":[0]}
@@ -12,7 +12,7 @@ export declare class BPContainerComponent<TState extends BPContainerComponentSta
12
12
  protected _unregisterChild(child: UiObjectConfig): void;
13
13
  constructor(props: BPComponentProps<void> & PanelActions, context: UiConfigRendererContextType, state: TState);
14
14
  getUpdatedState(state: TState): TState & import("./BPComponent").BPComponentState & {
15
- children: UiObjectConfig<any, string, any>[];
15
+ children: any[];
16
16
  expanded: boolean;
17
17
  label: string;
18
18
  };
@@ -1,7 +1,9 @@
1
1
  import { BPComponentProps, UiConfigRendererContextType } from "./BPComponent";
2
2
  import { BPInputComponent } from "./BPInputComponent";
3
3
  import { BPValueComponentState } from "./BPValueComponent";
4
- export declare class BPNumberInputComponent extends BPInputComponent<number> {
4
+ export declare class BPNumberInputComponent extends BPInputComponent<number, BPValueComponentState<number> & {
5
+ unit?: string;
6
+ }> {
5
7
  constructor(props: BPComponentProps<number>, context: UiConfigRendererContextType);
6
8
  private _inputs;
7
9
  refreshConfigState(state?: BPValueComponentState<number>): Promise<void>;
@@ -5,6 +5,7 @@ export type BPSliderComponentState = BPValueComponentState<number> & {
5
5
  min: number;
6
6
  max: number;
7
7
  step: number;
8
+ unit?: string;
8
9
  };
9
10
  export declare class BPSliderInputComponent extends BPInputComponent<number, BPSliderComponentState> {
10
11
  constructor(props: BPComponentProps<number>, context: UiConfigRendererContextType);
@@ -33,7 +33,7 @@ export declare abstract class BPTreeComponent<T = {}, TConfigVal extends any = v
33
33
  protected buildData(data: TreeNodeInfo<T>[], obj: T, _?: any, _2?: any): TreeNodeInfo<T>[];
34
34
  getUpdatedState(_state: BPTreeComponentState<T>): BPTreeComponentState<T>;
35
35
  deselectAll(): Promise<void>;
36
- setSelected(id?: string, expand?: boolean): Promise<void>;
36
+ setSelected(id?: string | string[], expand?: boolean): Promise<void>;
37
37
  componentDidMount(): void;
38
38
  componentWillUnmount(): void;
39
39
  findSelectedNode(nodes?: TreeNodeInfo<T>[]): TreeNodeInfo<T> | undefined;
@@ -7,6 +7,7 @@ export type BPVectorComponentState = BPValueComponentState<Vector2 | Vector3 | V
7
7
  max: number;
8
8
  step: number;
9
9
  components: 1 | 2 | 3 | 4;
10
+ unit?: string;
10
11
  };
11
12
  export declare class BPVectorInputComponent extends BPInputComponent<Vector2 | Vector3 | Vector4, BPVectorComponentState> {
12
13
  constructor(props: BPComponentProps<Vector2 | Vector3 | Vector4>, context: UiConfigRendererContextType);
@@ -0,0 +1,4 @@
1
+ export declare function getNumberTransformFunctions(unit: string | undefined, unitType1: string | undefined, targetUnit: string | undefined): {
2
+ transformValue: ((v: number) => number) | undefined;
3
+ invTransformValue: ((v: number) => number) | undefined;
4
+ };
@@ -0,0 +1,7 @@
1
+ export interface NumberUnit {
2
+ name: string;
3
+ symbol: string;
4
+ from: (value: number) => number;
5
+ to: (value: number) => number;
6
+ }
7
+ export declare const NumberUnits: Record<string, Record<string, NumberUnit>>;
@@ -3,11 +3,20 @@ import type { HTMLInputProps, NumericInputProps } from "@blueprintjs/core";
3
3
  export interface IExtendedNumericInputState {
4
4
  value?: string;
5
5
  }
6
- export declare class ExtendedNumericInput extends React.PureComponent<HTMLInputProps & NumericInputProps & {
7
- onChange2: (v: number, last?: boolean) => void;
8
- }, IExtendedNumericInputState> {
6
+ type Props = HTMLInputProps & NumericInputProps & {
7
+ onChange2?: (v: number, last?: boolean) => void;
8
+ transformValue?: (v: number) => number;
9
+ invTransformValue?: (v: number) => number;
10
+ draggableIcon?: boolean;
11
+ value?: number | undefined;
12
+ defaultValue?: number | undefined;
13
+ };
14
+ export declare class ExtendedNumericInput extends React.PureComponent<Props, IExtendedNumericInputState> {
15
+ invTransformValue: (v: number | undefined) => number;
16
+ transformValue: (v: number | undefined) => number;
9
17
  state: IExtendedNumericInputState;
10
18
  setValue(val?: number): Promise<void>;
19
+ componentDidUpdate(prevProps: Props): void;
11
20
  render(): import("react/jsx-runtime").JSX.Element;
12
21
  private handleBlur;
13
22
  private _lastChangedValue;
@@ -23,3 +32,4 @@ export declare class ExtendedNumericInput extends React.PureComponent<HTMLInputP
23
32
  private expandScientificNotationNumber;
24
33
  private roundValue;
25
34
  }
35
+ export {};
@@ -0,0 +1,79 @@
1
+ import { AbstractPureComponent, type HTMLInputProps, Position } from "@blueprintjs/core";
2
+ import type { InputSharedProps } from "@blueprintjs/core/src/components/forms/inputSharedProps";
3
+ export interface NumericInputProps extends InputSharedProps {
4
+ allowNumericCharactersOnly?: boolean;
5
+ asyncControl?: boolean;
6
+ buttonPosition?: typeof Position.LEFT | typeof Position.RIGHT | "none";
7
+ clampValueOnBlur?: boolean;
8
+ defaultValue?: number | string;
9
+ large?: boolean;
10
+ locale?: string;
11
+ majorStepSize?: number | null;
12
+ max?: number;
13
+ min?: number;
14
+ minorStepSize?: number | null;
15
+ selectAllOnFocus?: boolean;
16
+ selectAllOnIncrement?: boolean;
17
+ small?: boolean;
18
+ stepSize?: number;
19
+ value?: number | string;
20
+ onButtonClick?(valueAsNumber: number, valueAsString: string): void;
21
+ onValueChange?(valueAsNumber: number, valueAsString: string, inputElement: HTMLInputElement | null): void;
22
+ }
23
+ export interface NumericInputState {
24
+ currentImeInputInvalid: boolean;
25
+ prevMinProp?: number;
26
+ prevMaxProp?: number;
27
+ shouldSelectAfterUpdate: boolean;
28
+ stepMaxPrecision: number;
29
+ value: string;
30
+ }
31
+ export declare class NumericInput extends AbstractPureComponent<HTMLInputProps & NumericInputProps, NumericInputState> {
32
+ static displayName: string;
33
+ static VALUE_EMPTY: string;
34
+ static VALUE_ZERO: string;
35
+ private numericInputId;
36
+ static defaultProps: NumericInputProps;
37
+ static getDerivedStateFromProps(props: NumericInputProps, state: NumericInputState): {
38
+ stepMaxPrecision: number;
39
+ value: string;
40
+ prevMaxProp: number | undefined;
41
+ prevMinProp: number | undefined;
42
+ };
43
+ private static CONTINUOUS_CHANGE_DELAY;
44
+ private static CONTINUOUS_CHANGE_INTERVAL;
45
+ private static getStepMaxPrecision;
46
+ private static roundAndClampValue;
47
+ state: NumericInputState;
48
+ private didPasteEventJustOccur;
49
+ private delta;
50
+ inputElement: HTMLInputElement | null;
51
+ private inputRef;
52
+ private intervalId?;
53
+ private incrementButtonHandlers;
54
+ private decrementButtonHandlers;
55
+ private getCurrentValueAsNumber;
56
+ render(): import("react/jsx-runtime").JSX.Element;
57
+ componentDidUpdate(prevProps: NumericInputProps, prevState: NumericInputState): void;
58
+ protected validateProps(nextProps: HTMLInputProps & NumericInputProps): void;
59
+ private renderButtons;
60
+ private renderInput;
61
+ private getButtonEventHandlers;
62
+ private handleButtonClick;
63
+ private startContinuousChange;
64
+ private stopContinuousChange;
65
+ private handleContinuousChange;
66
+ private handleInputFocus;
67
+ private handleInputBlur;
68
+ private handleInputKeyDown;
69
+ private handleCompositionEnd;
70
+ private handleCompositionUpdate;
71
+ private handleInputKeyPress;
72
+ private handleInputPaste;
73
+ private handleInputChange;
74
+ private handleNextValue;
75
+ private incrementValue;
76
+ private getIncrementDelta;
77
+ private roundAndClampValue;
78
+ private updateDelta;
79
+ }
@@ -1,2 +1,2 @@
1
1
  import { HTMLAttributes, ReactNode } from "react";
2
- export declare const bpIconWrapper: (path: ReactNode, viewbox?: number, svgProps?: HTMLAttributes<SVGElement>) => import("react/jsx-runtime").JSX.Element;
2
+ export declare const bpIconWrapper: (path: ReactNode, viewbox?: number, svgProps?: HTMLAttributes<SVGElement>, className?: string) => import("react/jsx-runtime").JSX.Element;