@babylonjs/shared-ui-components 5.28.0 → 5.29.0

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 (246) hide show
  1. package/colorPicker/colorComponentEntry.d.ts +18 -18
  2. package/colorPicker/colorComponentEntry.js +36 -36
  3. package/colorPicker/colorPicker.d.ts +43 -43
  4. package/colorPicker/colorPicker.js +136 -136
  5. package/colorPicker/hexColor.d.ts +20 -20
  6. package/colorPicker/hexColor.js +42 -42
  7. package/components/Button.d.ts +10 -10
  8. package/components/Button.js +6 -6
  9. package/components/Icon.d.ts +6 -6
  10. package/components/Icon.js +6 -6
  11. package/components/Label.d.ts +7 -7
  12. package/components/Label.js +6 -6
  13. package/components/MessageDialog.d.ts +7 -7
  14. package/components/MessageDialog.js +22 -22
  15. package/components/Toggle.d.ts +8 -8
  16. package/components/Toggle.js +15 -15
  17. package/components/bars/CommandBarComponent.d.ts +16 -16
  18. package/components/bars/CommandBarComponent.js +68 -68
  19. package/components/bars/CommandButtonComponent.d.ts +11 -11
  20. package/components/bars/CommandButtonComponent.js +6 -6
  21. package/components/bars/CommandDropdownComponent.d.ts +26 -26
  22. package/components/bars/CommandDropdownComponent.js +48 -48
  23. package/components/classNames.d.ts +2 -2
  24. package/components/classNames.js +18 -18
  25. package/components/colorPicker/ColorComponentEntry.d.ts +18 -18
  26. package/components/colorPicker/ColorComponentEntry.js +37 -37
  27. package/components/colorPicker/ColorPicker.d.ts +43 -43
  28. package/components/colorPicker/ColorPicker.js +137 -137
  29. package/components/colorPicker/HexColor.d.ts +20 -20
  30. package/components/colorPicker/HexColor.js +45 -45
  31. package/components/layout/DraggableIcon.d.ts +23 -0
  32. package/components/layout/DraggableIcon.js +18 -0
  33. package/components/layout/DraggableIcon.js.map +1 -0
  34. package/components/layout/FlexibleColumn.d.ts +17 -0
  35. package/components/layout/FlexibleColumn.js +12 -0
  36. package/components/layout/FlexibleColumn.js.map +1 -0
  37. package/components/layout/FlexibleDragHandler.d.ts +18 -0
  38. package/components/layout/FlexibleDragHandler.js +88 -0
  39. package/components/layout/FlexibleDragHandler.js.map +1 -0
  40. package/components/layout/FlexibleDropZone.d.ts +19 -0
  41. package/components/layout/FlexibleDropZone.js +12 -0
  42. package/components/layout/FlexibleDropZone.js.map +1 -0
  43. package/components/layout/FlexibleGridContainer.d.ts +10 -0
  44. package/components/layout/FlexibleGridContainer.js +23 -0
  45. package/components/layout/FlexibleGridContainer.js.map +1 -0
  46. package/components/layout/FlexibleGridLayout.d.ts +16 -0
  47. package/components/layout/FlexibleGridLayout.js +24 -0
  48. package/components/layout/FlexibleGridLayout.js.map +1 -0
  49. package/components/layout/FlexibleResizeBar.d.ts +40 -0
  50. package/components/layout/FlexibleResizeBar.js +21 -0
  51. package/components/layout/FlexibleResizeBar.js.map +1 -0
  52. package/components/layout/FlexibleTab.d.ts +34 -0
  53. package/components/layout/FlexibleTab.js +36 -0
  54. package/components/layout/FlexibleTab.js.map +1 -0
  55. package/components/layout/FlexibleTabsContainer.d.ts +28 -0
  56. package/components/layout/FlexibleTabsContainer.js +54 -0
  57. package/components/layout/FlexibleTabsContainer.js.map +1 -0
  58. package/components/layout/LayoutContext.d.ts +12 -0
  59. package/components/layout/LayoutContext.js +3 -0
  60. package/components/layout/LayoutContext.js.map +1 -0
  61. package/components/layout/types.d.ts +78 -0
  62. package/components/layout/types.js +13 -0
  63. package/components/layout/types.js.map +1 -0
  64. package/components/layout/utils.d.ts +25 -0
  65. package/components/layout/utils.js +68 -0
  66. package/components/layout/utils.js.map +1 -0
  67. package/components/lines/ColorLineComponent.d.ts +40 -40
  68. package/components/lines/ColorLineComponent.js +145 -145
  69. package/components/lines/ColorPickerLineComponent.d.ts +33 -33
  70. package/components/lines/ColorPickerLineComponent.js +61 -61
  71. package/components/lines/FileButtonLineComponent.d.ts +16 -16
  72. package/components/lines/FileButtonLineComponent.js +21 -21
  73. package/components/lines/NumericInputComponent.d.ts +31 -31
  74. package/components/lines/NumericInputComponent.js +86 -86
  75. package/lines/booleanLineComponent.d.ts +11 -11
  76. package/lines/booleanLineComponent.js +14 -14
  77. package/lines/buttonLineComponent.d.ts +12 -12
  78. package/lines/buttonLineComponent.js +10 -10
  79. package/lines/checkBoxLineComponent.d.ts +36 -36
  80. package/lines/checkBoxLineComponent.js +88 -88
  81. package/lines/color3LineComponent.d.ts +18 -18
  82. package/lines/color3LineComponent.js +9 -9
  83. package/lines/color4LineComponent.d.ts +18 -18
  84. package/lines/color4LineComponent.js +9 -9
  85. package/lines/colorLineComponent.d.ts +40 -40
  86. package/lines/colorLineComponent.js +144 -144
  87. package/lines/colorPickerComponent.d.ts +31 -31
  88. package/lines/colorPickerComponent.js +60 -60
  89. package/lines/draggableLineComponent.d.ts +9 -9
  90. package/lines/draggableLineComponent.js +12 -12
  91. package/lines/fileButtonLineComponent.d.ts +17 -17
  92. package/lines/fileButtonLineComponent.js +20 -20
  93. package/lines/fileMultipleButtonLineComponent.d.ts +17 -17
  94. package/lines/fileMultipleButtonLineComponent.js +20 -20
  95. package/lines/floatLineComponent.d.ts +50 -50
  96. package/lines/floatLineComponent.js +175 -175
  97. package/lines/hexLineComponent.d.ts +40 -40
  98. package/lines/hexLineComponent.js +121 -121
  99. package/lines/iSelectedLineContainer.d.ts +4 -4
  100. package/lines/iSelectedLineContainer.js +1 -1
  101. package/lines/iconButtonLineComponent.d.ts +11 -11
  102. package/lines/iconButtonLineComponent.js +10 -10
  103. package/lines/iconComponent.d.ts +9 -9
  104. package/lines/iconComponent.js +7 -7
  105. package/lines/indentedTextLineComponent.d.ts +16 -16
  106. package/lines/indentedTextLineComponent.js +26 -26
  107. package/lines/inputArrowsComponent.d.ts +13 -13
  108. package/lines/inputArrowsComponent.js +37 -37
  109. package/lines/lineContainerComponent.d.ts +19 -19
  110. package/lines/lineContainerComponent.js +49 -49
  111. package/lines/linkButtonComponent.d.ts +16 -16
  112. package/lines/linkButtonComponent.js +20 -20
  113. package/lines/matrixLineComponent.d.ts +36 -36
  114. package/lines/matrixLineComponent.js +102 -102
  115. package/lines/messageLineComponent.d.ts +12 -12
  116. package/lines/messageLineComponent.js +14 -14
  117. package/lines/numericInputComponent.d.ts +31 -31
  118. package/lines/numericInputComponent.js +85 -85
  119. package/lines/optionsLineComponent.d.ts +48 -48
  120. package/lines/optionsLineComponent.js +118 -118
  121. package/lines/popup.d.ts +4 -4
  122. package/lines/popup.js +67 -67
  123. package/lines/radioLineComponent.d.ts +21 -21
  124. package/lines/radioLineComponent.js +26 -26
  125. package/lines/sliderLineComponent.d.ts +37 -37
  126. package/lines/sliderLineComponent.js +89 -89
  127. package/lines/targetsProxy.d.ts +11 -11
  128. package/lines/targetsProxy.js +42 -42
  129. package/lines/textInputLineComponent.d.ts +47 -47
  130. package/lines/textInputLineComponent.js +154 -154
  131. package/lines/textLineComponent.d.ts +21 -21
  132. package/lines/textLineComponent.js +30 -30
  133. package/lines/unitButton.d.ts +8 -8
  134. package/lines/unitButton.js +7 -7
  135. package/lines/valueLineComponent.d.ts +15 -15
  136. package/lines/valueLineComponent.js +12 -12
  137. package/lines/vector2LineComponent.d.ts +36 -36
  138. package/lines/vector2LineComponent.js +63 -63
  139. package/lines/vector3LineComponent.d.ts +41 -41
  140. package/lines/vector3LineComponent.js +74 -74
  141. package/lines/vector4LineComponent.d.ts +42 -42
  142. package/lines/vector4LineComponent.js +81 -81
  143. package/nodeGraphSystem/displayLedger.d.ts +5 -5
  144. package/nodeGraphSystem/displayLedger.js +3 -3
  145. package/nodeGraphSystem/frameNodePort.d.ts +25 -25
  146. package/nodeGraphSystem/frameNodePort.js +59 -59
  147. package/nodeGraphSystem/graphCanvas.d.ts +111 -111
  148. package/nodeGraphSystem/graphCanvas.js +1131 -1131
  149. package/nodeGraphSystem/graphFrame.d.ts +153 -153
  150. package/nodeGraphSystem/graphFrame.js +1328 -1328
  151. package/nodeGraphSystem/graphNode.d.ts +79 -79
  152. package/nodeGraphSystem/graphNode.js +459 -459
  153. package/nodeGraphSystem/interfaces/displayManager.d.ts +13 -13
  154. package/nodeGraphSystem/interfaces/displayManager.js +1 -1
  155. package/nodeGraphSystem/interfaces/nodeContainer.d.ts +6 -6
  156. package/nodeGraphSystem/interfaces/nodeContainer.js +1 -1
  157. package/nodeGraphSystem/interfaces/nodeData.d.ts +15 -15
  158. package/nodeGraphSystem/interfaces/nodeData.js +1 -1
  159. package/nodeGraphSystem/interfaces/nodeLocationInfo.d.ts +26 -26
  160. package/nodeGraphSystem/interfaces/nodeLocationInfo.js +1 -1
  161. package/nodeGraphSystem/interfaces/portData.d.ts +28 -28
  162. package/nodeGraphSystem/interfaces/portData.js +7 -7
  163. package/nodeGraphSystem/interfaces/propertyComponentProps.d.ts +6 -6
  164. package/nodeGraphSystem/interfaces/propertyComponentProps.js +1 -1
  165. package/nodeGraphSystem/interfaces/selectionChangedOptions.d.ts +11 -11
  166. package/nodeGraphSystem/interfaces/selectionChangedOptions.js +1 -1
  167. package/nodeGraphSystem/nodeLink.d.ts +31 -31
  168. package/nodeGraphSystem/nodeLink.js +182 -182
  169. package/nodeGraphSystem/nodePort.d.ts +35 -35
  170. package/nodeGraphSystem/nodePort.js +128 -128
  171. package/nodeGraphSystem/propertyLedger.d.ts +8 -8
  172. package/nodeGraphSystem/propertyLedger.js +3 -3
  173. package/nodeGraphSystem/stateManager.d.ts +45 -45
  174. package/nodeGraphSystem/stateManager.js +18 -18
  175. package/nodeGraphSystem/tools.d.ts +5 -5
  176. package/nodeGraphSystem/tools.js +36 -36
  177. package/nodeGraphSystem/typeLedger.d.ts +8 -8
  178. package/nodeGraphSystem/typeLedger.js +2 -2
  179. package/nodeGraphSystem/types/framePortData.d.ts +7 -7
  180. package/nodeGraphSystem/types/framePortData.js +1 -1
  181. package/package.json +4 -3
  182. package/propertyChangedEvent.d.ts +7 -7
  183. package/propertyChangedEvent.js +2 -2
  184. package/stories/Button.stories.d.ts +10 -10
  185. package/stories/Button.stories.js +19 -19
  186. package/stories/Icon.stories.d.ts +9 -9
  187. package/stories/Icon.stories.js +16 -16
  188. package/stories/Label.stories.d.ts +8 -8
  189. package/stories/Label.stories.js +10 -10
  190. package/stories/MessageDialog.stories.d.ts +9 -9
  191. package/stories/MessageDialog.stories.js +19 -19
  192. package/stories/Toggle.stories.d.ts +9 -9
  193. package/stories/Toggle.stories.js +17 -17
  194. package/stories/bars/CommandBarComponent.stories.d.ts +11 -11
  195. package/stories/bars/CommandBarComponent.stories.js +12 -12
  196. package/stories/bars/CommandButtonComponent.stories.d.ts +6 -6
  197. package/stories/bars/CommandButtonComponent.stories.js +6 -6
  198. package/stories/colorPicker/ColorPicker.stories.d.ts +11 -11
  199. package/stories/colorPicker/ColorPicker.stories.js +4 -4
  200. package/stories/layout/FlexibleGridLayout.stories.d.ts +46 -0
  201. package/stories/layout/FlexibleGridLayout.stories.js +48 -0
  202. package/stories/layout/FlexibleGridLayout.stories.js.map +1 -0
  203. package/stories/lines/ColorLineComponent.stories.d.ts +21 -21
  204. package/stories/lines/ColorLineComponent.stories.js +9 -9
  205. package/stories/lines/ColorPickerLineComponent.stories.d.ts +14 -14
  206. package/stories/lines/ColorPickerLineComponent.stories.js +10 -10
  207. package/stories/lines/FileButtonLineComponent.stories.d.ts +6 -6
  208. package/stories/lines/FileButtonLineComponent.stories.js +5 -5
  209. package/stories/lines/NumericInputComponent.stories.d.ts +11 -11
  210. package/stories/lines/NumericInputComponent.stories.js +5 -5
  211. package/stringTools.d.ts +11 -11
  212. package/stringTools.js +88 -88
  213. package/tabs/propertyGrids/gui/checkboxPropertyGridComponent.d.ts +15 -15
  214. package/tabs/propertyGrids/gui/checkboxPropertyGridComponent.js +15 -15
  215. package/tabs/propertyGrids/gui/colorPickerPropertyGridComponent.d.ts +15 -15
  216. package/tabs/propertyGrids/gui/colorPickerPropertyGridComponent.js +14 -14
  217. package/tabs/propertyGrids/gui/commonControlPropertyGridComponent.d.ts +17 -17
  218. package/tabs/propertyGrids/gui/commonControlPropertyGridComponent.js +55 -55
  219. package/tabs/propertyGrids/gui/controlPropertyGridComponent.d.ts +15 -15
  220. package/tabs/propertyGrids/gui/controlPropertyGridComponent.js +12 -12
  221. package/tabs/propertyGrids/gui/ellipsePropertyGridComponent.d.ts +15 -15
  222. package/tabs/propertyGrids/gui/ellipsePropertyGridComponent.js +15 -15
  223. package/tabs/propertyGrids/gui/gridPropertyGridComponent.d.ts +17 -17
  224. package/tabs/propertyGrids/gui/gridPropertyGridComponent.js +38 -38
  225. package/tabs/propertyGrids/gui/imageBasedSliderPropertyGridComponent.d.ts +15 -15
  226. package/tabs/propertyGrids/gui/imageBasedSliderPropertyGridComponent.js +16 -16
  227. package/tabs/propertyGrids/gui/imagePropertyGridComponent.d.ts +15 -15
  228. package/tabs/propertyGrids/gui/imagePropertyGridComponent.js +25 -25
  229. package/tabs/propertyGrids/gui/inputTextPropertyGridComponent.d.ts +15 -15
  230. package/tabs/propertyGrids/gui/inputTextPropertyGridComponent.js +17 -17
  231. package/tabs/propertyGrids/gui/linePropertyGridComponent.d.ts +16 -16
  232. package/tabs/propertyGrids/gui/linePropertyGridComponent.js +27 -27
  233. package/tabs/propertyGrids/gui/radioButtonPropertyGridComponent.d.ts +15 -15
  234. package/tabs/propertyGrids/gui/radioButtonPropertyGridComponent.js +17 -17
  235. package/tabs/propertyGrids/gui/rectanglePropertyGridComponent.d.ts +15 -15
  236. package/tabs/propertyGrids/gui/rectanglePropertyGridComponent.js +15 -15
  237. package/tabs/propertyGrids/gui/scrollViewerPropertyGridComponent.d.ts +15 -15
  238. package/tabs/propertyGrids/gui/scrollViewerPropertyGridComponent.js +15 -15
  239. package/tabs/propertyGrids/gui/sliderPropertyGridComponent.d.ts +15 -15
  240. package/tabs/propertyGrids/gui/sliderPropertyGridComponent.js +16 -16
  241. package/tabs/propertyGrids/gui/stackPanelPropertyGridComponent.d.ts +15 -15
  242. package/tabs/propertyGrids/gui/stackPanelPropertyGridComponent.js +14 -14
  243. package/tabs/propertyGrids/gui/textBlockPropertyGridComponent.d.ts +15 -15
  244. package/tabs/propertyGrids/gui/textBlockPropertyGridComponent.js +34 -34
  245. package/tabs/propertyGrids/lockObject.d.ts +9 -9
  246. package/tabs/propertyGrids/lockObject.js +11 -11
@@ -1,21 +1,21 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import * as React from "react";
3
- export class FileMultipleButtonLineComponent extends React.Component {
4
- constructor(props) {
5
- super(props);
6
- this._id = FileMultipleButtonLineComponent._IDGenerator++;
7
- this._uploadInputRef = React.createRef();
8
- }
9
- onChange(evt) {
10
- const files = evt.target.files;
11
- if (files && files.length) {
12
- this.props.onClick(evt);
13
- }
14
- evt.target.value = "";
15
- }
16
- render() {
17
- return (_jsxs("div", { className: "buttonLine", children: [this.props.icon && _jsx("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, className: "icon" }), _jsx("label", { htmlFor: "file-upload" + this._id, className: "file-upload", children: this.props.label }), _jsx("input", { ref: this._uploadInputRef, id: "file-upload" + this._id, type: "file", accept: this.props.accept, onChange: (evt) => this.onChange(evt), multiple: true })] }));
18
- }
19
- }
20
- FileMultipleButtonLineComponent._IDGenerator = 0;
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ export class FileMultipleButtonLineComponent extends React.Component {
4
+ constructor(props) {
5
+ super(props);
6
+ this._id = FileMultipleButtonLineComponent._IDGenerator++;
7
+ this._uploadInputRef = React.createRef();
8
+ }
9
+ onChange(evt) {
10
+ const files = evt.target.files;
11
+ if (files && files.length) {
12
+ this.props.onClick(evt);
13
+ }
14
+ evt.target.value = "";
15
+ }
16
+ render() {
17
+ return (_jsxs("div", { className: "buttonLine", children: [this.props.icon && _jsx("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, className: "icon" }), _jsx("label", { htmlFor: "file-upload" + this._id, className: "file-upload", children: this.props.label }), _jsx("input", { ref: this._uploadInputRef, id: "file-upload" + this._id, type: "file", accept: this.props.accept, onChange: (evt) => this.onChange(evt), multiple: true })] }));
18
+ }
19
+ }
20
+ FileMultipleButtonLineComponent._IDGenerator = 0;
21
21
  //# sourceMappingURL=fileMultipleButtonLineComponent.js.map
@@ -1,50 +1,50 @@
1
- import * as React from "react";
2
- import type { Observable } from "@babylonjs/core/Misc/observable.js";
3
- import type { PropertyChangedEvent } from "../propertyChangedEvent";
4
- import type { LockObject } from "../tabs/propertyGrids/lockObject";
5
- interface IFloatLineComponentProps {
6
- label: string;
7
- target: any;
8
- propertyName: string;
9
- lockObject: LockObject;
10
- onChange?: (newValue: number) => void;
11
- isInteger?: boolean;
12
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
13
- additionalClass?: string;
14
- step?: string;
15
- digits?: number;
16
- useEuler?: boolean;
17
- min?: number;
18
- max?: number;
19
- smallUI?: boolean;
20
- onEnter?: (newValue: number) => void;
21
- icon?: string;
22
- iconLabel?: string;
23
- defaultValue?: number;
24
- arrows?: boolean;
25
- unit?: React.ReactNode;
26
- onDragStart?: (newValue: number) => void;
27
- onDragStop?: (newValue: number) => void;
28
- }
29
- export declare class FloatLineComponent extends React.Component<IFloatLineComponentProps, {
30
- value: string;
31
- dragging: boolean;
32
- }> {
33
- private _localChange;
34
- private _store;
35
- constructor(props: IFloatLineComponentProps);
36
- componentWillUnmount(): void;
37
- getValueString(value: any): string;
38
- shouldComponentUpdate(nextProps: IFloatLineComponentProps, nextState: {
39
- value: string;
40
- dragging: boolean;
41
- }): boolean;
42
- raiseOnPropertyChanged(newValue: number, previousValue: number): void;
43
- updateValue(valueString: string): void;
44
- lock(): void;
45
- unlock(): void;
46
- incrementValue(amount: number, processStep?: boolean): void;
47
- onKeyDown(event: React.KeyboardEvent<HTMLInputElement>): void;
48
- render(): JSX.Element;
49
- }
50
- export {};
1
+ import * as React from "react";
2
+ import type { Observable } from "@babylonjs/core/Misc/observable.js";
3
+ import type { PropertyChangedEvent } from "../propertyChangedEvent";
4
+ import type { LockObject } from "../tabs/propertyGrids/lockObject";
5
+ interface IFloatLineComponentProps {
6
+ label: string;
7
+ target: any;
8
+ propertyName: string;
9
+ lockObject: LockObject;
10
+ onChange?: (newValue: number) => void;
11
+ isInteger?: boolean;
12
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
13
+ additionalClass?: string;
14
+ step?: string;
15
+ digits?: number;
16
+ useEuler?: boolean;
17
+ min?: number;
18
+ max?: number;
19
+ smallUI?: boolean;
20
+ onEnter?: (newValue: number) => void;
21
+ icon?: string;
22
+ iconLabel?: string;
23
+ defaultValue?: number;
24
+ arrows?: boolean;
25
+ unit?: React.ReactNode;
26
+ onDragStart?: (newValue: number) => void;
27
+ onDragStop?: (newValue: number) => void;
28
+ }
29
+ export declare class FloatLineComponent extends React.Component<IFloatLineComponentProps, {
30
+ value: string;
31
+ dragging: boolean;
32
+ }> {
33
+ private _localChange;
34
+ private _store;
35
+ constructor(props: IFloatLineComponentProps);
36
+ componentWillUnmount(): void;
37
+ getValueString(value: any): string;
38
+ shouldComponentUpdate(nextProps: IFloatLineComponentProps, nextState: {
39
+ value: string;
40
+ dragging: boolean;
41
+ }): boolean;
42
+ raiseOnPropertyChanged(newValue: number, previousValue: number): void;
43
+ updateValue(valueString: string): void;
44
+ lock(): void;
45
+ unlock(): void;
46
+ incrementValue(amount: number, processStep?: boolean): void;
47
+ onKeyDown(event: React.KeyboardEvent<HTMLInputElement>): void;
48
+ render(): JSX.Element;
49
+ }
50
+ export {};
@@ -1,176 +1,176 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import * as React from "react";
3
- import { SliderLineComponent } from "./sliderLineComponent.js";
4
- import { Tools } from "@babylonjs/core/Misc/tools.js";
5
- import { conflictingValuesPlaceholder } from "./targetsProxy.js";
6
- import { InputArrowsComponent } from "./inputArrowsComponent.js";
7
- export class FloatLineComponent extends React.Component {
8
- constructor(props) {
9
- super(props);
10
- this._localChange = false;
11
- const currentValue = this.props.target[this.props.propertyName];
12
- this.state = { value: this.getValueString(currentValue), dragging: false };
13
- this._store = currentValue;
14
- }
15
- componentWillUnmount() {
16
- this.unlock();
17
- }
18
- getValueString(value) {
19
- if (value) {
20
- if (value === conflictingValuesPlaceholder) {
21
- return conflictingValuesPlaceholder;
22
- }
23
- else if (this.props.isInteger) {
24
- return value.toFixed(0);
25
- }
26
- else {
27
- return value.toFixed(this.props.digits || 4);
28
- }
29
- }
30
- return "0";
31
- }
32
- shouldComponentUpdate(nextProps, nextState) {
33
- if (this._localChange) {
34
- this._localChange = false;
35
- return true;
36
- }
37
- const newValue = nextProps.target[nextProps.propertyName];
38
- const newValueString = this.getValueString(newValue);
39
- if (newValueString !== nextState.value) {
40
- nextState.value = newValueString;
41
- return true;
42
- }
43
- if (nextState.dragging != this.state.dragging || nextProps.unit !== this.props.unit) {
44
- return true;
45
- }
46
- return false;
47
- }
48
- raiseOnPropertyChanged(newValue, previousValue) {
49
- if (this.props.onChange) {
50
- this.props.onChange(newValue);
51
- }
52
- if (!this.props.onPropertyChangedObservable) {
53
- return;
54
- }
55
- this.props.onPropertyChangedObservable.notifyObservers({
56
- object: this.props.target,
57
- property: this.props.propertyName,
58
- value: newValue,
59
- initialValue: previousValue,
60
- });
61
- }
62
- updateValue(valueString) {
63
- if (/[^0-9.-]/g.test(valueString)) {
64
- return;
65
- }
66
- let valueAsNumber;
67
- if (this.props.isInteger) {
68
- valueAsNumber = parseInt(valueString);
69
- }
70
- else {
71
- valueAsNumber = parseFloat(valueString);
72
- }
73
- if (!isNaN(valueAsNumber)) {
74
- if (this.props.min !== undefined) {
75
- if (valueAsNumber < this.props.min) {
76
- valueAsNumber = this.props.min;
77
- valueString = valueAsNumber.toString();
78
- }
79
- }
80
- if (this.props.max !== undefined) {
81
- if (valueAsNumber > this.props.max) {
82
- valueAsNumber = this.props.max;
83
- valueString = valueAsNumber.toString();
84
- }
85
- }
86
- }
87
- else if (this.props.defaultValue != null) {
88
- valueAsNumber = this.props.defaultValue;
89
- }
90
- this._localChange = true;
91
- this.setState({ value: valueString });
92
- if (isNaN(valueAsNumber)) {
93
- return;
94
- }
95
- this.props.target[this.props.propertyName] = valueAsNumber;
96
- this.raiseOnPropertyChanged(valueAsNumber, this._store);
97
- this._store = valueAsNumber;
98
- }
99
- lock() {
100
- if (this.props.lockObject) {
101
- this.props.lockObject.lock = true;
102
- }
103
- }
104
- unlock() {
105
- if (this.props.lockObject) {
106
- this.props.lockObject.lock = false;
107
- }
108
- }
109
- incrementValue(amount, processStep = true) {
110
- if (processStep && this.props.step) {
111
- amount *= parseFloat(this.props.step);
112
- }
113
- let currentValue = parseFloat(this.state.value);
114
- if (isNaN(currentValue)) {
115
- currentValue = 0;
116
- }
117
- this.updateValue((currentValue + amount).toFixed(2));
118
- }
119
- onKeyDown(event) {
120
- const step = parseFloat(this.props.step || this.props.isInteger ? "1" : "0.01");
121
- const handleArrowKey = (sign) => {
122
- if (event.shiftKey) {
123
- sign *= 10;
124
- if (event.ctrlKey || event.metaKey) {
125
- sign *= 10;
126
- }
127
- }
128
- this.incrementValue(sign * step, false);
129
- event.preventDefault();
130
- };
131
- if (event.key === "ArrowUp") {
132
- handleArrowKey(1);
133
- }
134
- else if (event.key === "ArrowDown") {
135
- handleArrowKey(-1);
136
- }
137
- if (event.key === "Enter" && this.props.onEnter) {
138
- this.props.onEnter(this._store);
139
- }
140
- }
141
- render() {
142
- let valueAsNumber;
143
- if (this.props.isInteger) {
144
- valueAsNumber = parseInt(this.state.value);
145
- }
146
- else {
147
- valueAsNumber = parseFloat(this.state.value);
148
- }
149
- let className = this.props.smallUI ? "short" : "value";
150
- if (this.state.dragging) {
151
- className += " dragging";
152
- }
153
- if (this.props.arrows) {
154
- className += " hasArrows";
155
- }
156
- const value = this.state.value === conflictingValuesPlaceholder ? "" : this.state.value;
157
- const placeholder = this.state.value === conflictingValuesPlaceholder ? conflictingValuesPlaceholder : "";
158
- return (_jsxs(_Fragment, { children: [!this.props.useEuler && (_jsxs("div", { className: this.props.additionalClass ? this.props.additionalClass + " floatLine" : "floatLine", children: [this.props.icon && _jsx("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, className: "icon" }), (!this.props.icon || this.props.label != "") && (_jsx("div", { className: "label", title: this.props.label, children: this.props.label })), _jsxs("div", { className: className, children: [_jsx("input", { type: "number", step: this.props.step || this.props.isInteger ? "1" : "0.01", className: "numeric-input", onKeyDown: (evt) => this.onKeyDown(evt), value: value, onBlur: () => {
159
- this.unlock();
160
- if (this.props.onEnter) {
161
- this.props.onEnter(this._store);
162
- }
163
- }, placeholder: placeholder, onFocus: () => this.lock(), onChange: (evt) => this.updateValue(evt.target.value) }), this.props.arrows && (_jsx(InputArrowsComponent, { incrementValue: (amount) => this.incrementValue(amount), setDragging: (newDragging) => {
164
- const currentDragging = this.state.dragging;
165
- // drag stopped
166
- if (!currentDragging && newDragging && this.props.onDragStart) {
167
- this.props.onDragStart(valueAsNumber);
168
- }
169
- else if (currentDragging && !newDragging && this.props.onDragStop) {
170
- this.props.onDragStop(valueAsNumber);
171
- }
172
- this.setState({ dragging: newDragging });
173
- } }))] }), this.props.unit] })), this.props.useEuler && (_jsx(SliderLineComponent, { lockObject: this.props.lockObject, label: this.props.label, minimum: 0, maximum: 360, step: 0.1, directValue: Tools.ToDegrees(valueAsNumber), onChange: (value) => this.updateValue(Tools.ToRadians(value).toString()) }))] }));
174
- }
175
- }
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import { SliderLineComponent } from "./sliderLineComponent.js";
4
+ import { Tools } from "@babylonjs/core/Misc/tools.js";
5
+ import { conflictingValuesPlaceholder } from "./targetsProxy.js";
6
+ import { InputArrowsComponent } from "./inputArrowsComponent.js";
7
+ export class FloatLineComponent extends React.Component {
8
+ constructor(props) {
9
+ super(props);
10
+ this._localChange = false;
11
+ const currentValue = this.props.target[this.props.propertyName];
12
+ this.state = { value: this.getValueString(currentValue), dragging: false };
13
+ this._store = currentValue;
14
+ }
15
+ componentWillUnmount() {
16
+ this.unlock();
17
+ }
18
+ getValueString(value) {
19
+ if (value) {
20
+ if (value === conflictingValuesPlaceholder) {
21
+ return conflictingValuesPlaceholder;
22
+ }
23
+ else if (this.props.isInteger) {
24
+ return value.toFixed(0);
25
+ }
26
+ else {
27
+ return value.toFixed(this.props.digits || 4);
28
+ }
29
+ }
30
+ return "0";
31
+ }
32
+ shouldComponentUpdate(nextProps, nextState) {
33
+ if (this._localChange) {
34
+ this._localChange = false;
35
+ return true;
36
+ }
37
+ const newValue = nextProps.target[nextProps.propertyName];
38
+ const newValueString = this.getValueString(newValue);
39
+ if (newValueString !== nextState.value) {
40
+ nextState.value = newValueString;
41
+ return true;
42
+ }
43
+ if (nextState.dragging != this.state.dragging || nextProps.unit !== this.props.unit) {
44
+ return true;
45
+ }
46
+ return false;
47
+ }
48
+ raiseOnPropertyChanged(newValue, previousValue) {
49
+ if (this.props.onChange) {
50
+ this.props.onChange(newValue);
51
+ }
52
+ if (!this.props.onPropertyChangedObservable) {
53
+ return;
54
+ }
55
+ this.props.onPropertyChangedObservable.notifyObservers({
56
+ object: this.props.target,
57
+ property: this.props.propertyName,
58
+ value: newValue,
59
+ initialValue: previousValue,
60
+ });
61
+ }
62
+ updateValue(valueString) {
63
+ if (/[^0-9.-]/g.test(valueString)) {
64
+ return;
65
+ }
66
+ let valueAsNumber;
67
+ if (this.props.isInteger) {
68
+ valueAsNumber = parseInt(valueString);
69
+ }
70
+ else {
71
+ valueAsNumber = parseFloat(valueString);
72
+ }
73
+ if (!isNaN(valueAsNumber)) {
74
+ if (this.props.min !== undefined) {
75
+ if (valueAsNumber < this.props.min) {
76
+ valueAsNumber = this.props.min;
77
+ valueString = valueAsNumber.toString();
78
+ }
79
+ }
80
+ if (this.props.max !== undefined) {
81
+ if (valueAsNumber > this.props.max) {
82
+ valueAsNumber = this.props.max;
83
+ valueString = valueAsNumber.toString();
84
+ }
85
+ }
86
+ }
87
+ else if (this.props.defaultValue != null) {
88
+ valueAsNumber = this.props.defaultValue;
89
+ }
90
+ this._localChange = true;
91
+ this.setState({ value: valueString });
92
+ if (isNaN(valueAsNumber)) {
93
+ return;
94
+ }
95
+ this.props.target[this.props.propertyName] = valueAsNumber;
96
+ this.raiseOnPropertyChanged(valueAsNumber, this._store);
97
+ this._store = valueAsNumber;
98
+ }
99
+ lock() {
100
+ if (this.props.lockObject) {
101
+ this.props.lockObject.lock = true;
102
+ }
103
+ }
104
+ unlock() {
105
+ if (this.props.lockObject) {
106
+ this.props.lockObject.lock = false;
107
+ }
108
+ }
109
+ incrementValue(amount, processStep = true) {
110
+ if (processStep && this.props.step) {
111
+ amount *= parseFloat(this.props.step);
112
+ }
113
+ let currentValue = parseFloat(this.state.value);
114
+ if (isNaN(currentValue)) {
115
+ currentValue = 0;
116
+ }
117
+ this.updateValue((currentValue + amount).toFixed(2));
118
+ }
119
+ onKeyDown(event) {
120
+ const step = parseFloat(this.props.step || this.props.isInteger ? "1" : "0.01");
121
+ const handleArrowKey = (sign) => {
122
+ if (event.shiftKey) {
123
+ sign *= 10;
124
+ if (event.ctrlKey || event.metaKey) {
125
+ sign *= 10;
126
+ }
127
+ }
128
+ this.incrementValue(sign * step, false);
129
+ event.preventDefault();
130
+ };
131
+ if (event.key === "ArrowUp") {
132
+ handleArrowKey(1);
133
+ }
134
+ else if (event.key === "ArrowDown") {
135
+ handleArrowKey(-1);
136
+ }
137
+ if (event.key === "Enter" && this.props.onEnter) {
138
+ this.props.onEnter(this._store);
139
+ }
140
+ }
141
+ render() {
142
+ let valueAsNumber;
143
+ if (this.props.isInteger) {
144
+ valueAsNumber = parseInt(this.state.value);
145
+ }
146
+ else {
147
+ valueAsNumber = parseFloat(this.state.value);
148
+ }
149
+ let className = this.props.smallUI ? "short" : "value";
150
+ if (this.state.dragging) {
151
+ className += " dragging";
152
+ }
153
+ if (this.props.arrows) {
154
+ className += " hasArrows";
155
+ }
156
+ const value = this.state.value === conflictingValuesPlaceholder ? "" : this.state.value;
157
+ const placeholder = this.state.value === conflictingValuesPlaceholder ? conflictingValuesPlaceholder : "";
158
+ return (_jsxs(_Fragment, { children: [!this.props.useEuler && (_jsxs("div", { className: this.props.additionalClass ? this.props.additionalClass + " floatLine" : "floatLine", children: [this.props.icon && _jsx("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, className: "icon" }), (!this.props.icon || this.props.label != "") && (_jsx("div", { className: "label", title: this.props.label, children: this.props.label })), _jsxs("div", { className: className, children: [_jsx("input", { type: "number", step: this.props.step || this.props.isInteger ? "1" : "0.01", className: "numeric-input", onKeyDown: (evt) => this.onKeyDown(evt), value: value, onBlur: () => {
159
+ this.unlock();
160
+ if (this.props.onEnter) {
161
+ this.props.onEnter(this._store);
162
+ }
163
+ }, placeholder: placeholder, onFocus: () => this.lock(), onChange: (evt) => this.updateValue(evt.target.value) }), this.props.arrows && (_jsx(InputArrowsComponent, { incrementValue: (amount) => this.incrementValue(amount), setDragging: (newDragging) => {
164
+ const currentDragging = this.state.dragging;
165
+ // drag stopped
166
+ if (!currentDragging && newDragging && this.props.onDragStart) {
167
+ this.props.onDragStart(valueAsNumber);
168
+ }
169
+ else if (currentDragging && !newDragging && this.props.onDragStop) {
170
+ this.props.onDragStop(valueAsNumber);
171
+ }
172
+ this.setState({ dragging: newDragging });
173
+ } }))] }), this.props.unit] })), this.props.useEuler && (_jsx(SliderLineComponent, { lockObject: this.props.lockObject, label: this.props.label, minimum: 0, maximum: 360, step: 0.1, directValue: Tools.ToDegrees(valueAsNumber), onChange: (value) => this.updateValue(Tools.ToRadians(value).toString()) }))] }));
174
+ }
175
+ }
176
176
  //# sourceMappingURL=floatLineComponent.js.map
@@ -1,40 +1,40 @@
1
- import * as React from "react";
2
- import type { Observable } from "@babylonjs/core/Misc/observable.js";
3
- import type { PropertyChangedEvent } from "../propertyChangedEvent";
4
- import type { LockObject } from "../tabs/propertyGrids/lockObject";
5
- interface IHexLineComponentProps {
6
- label: string;
7
- target: any;
8
- propertyName: string;
9
- lockObject?: LockObject;
10
- onChange?: (newValue: number) => void;
11
- isInteger?: boolean;
12
- replaySourceReplacement?: string;
13
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
14
- additionalClass?: string;
15
- step?: string;
16
- digits?: number;
17
- useEuler?: boolean;
18
- min?: number;
19
- icon?: string;
20
- iconLabel?: string;
21
- }
22
- export declare class HexLineComponent extends React.Component<IHexLineComponentProps, {
23
- value: string;
24
- }> {
25
- private _localChange;
26
- private _store;
27
- private _propertyChange;
28
- constructor(props: IHexLineComponentProps);
29
- componentWillUnmount(): void;
30
- shouldComponentUpdate(nextProps: IHexLineComponentProps, nextState: {
31
- value: string;
32
- }): boolean;
33
- raiseOnPropertyChanged(newValue: number, previousValue: number): void;
34
- convertToHexString(valueString: string): string;
35
- updateValue(valueString: string, raisePropertyChanged: boolean): void;
36
- lock(): void;
37
- unlock(): void;
38
- render(): JSX.Element;
39
- }
40
- export {};
1
+ import * as React from "react";
2
+ import type { Observable } from "@babylonjs/core/Misc/observable.js";
3
+ import type { PropertyChangedEvent } from "../propertyChangedEvent";
4
+ import type { LockObject } from "../tabs/propertyGrids/lockObject";
5
+ interface IHexLineComponentProps {
6
+ label: string;
7
+ target: any;
8
+ propertyName: string;
9
+ lockObject?: LockObject;
10
+ onChange?: (newValue: number) => void;
11
+ isInteger?: boolean;
12
+ replaySourceReplacement?: string;
13
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
14
+ additionalClass?: string;
15
+ step?: string;
16
+ digits?: number;
17
+ useEuler?: boolean;
18
+ min?: number;
19
+ icon?: string;
20
+ iconLabel?: string;
21
+ }
22
+ export declare class HexLineComponent extends React.Component<IHexLineComponentProps, {
23
+ value: string;
24
+ }> {
25
+ private _localChange;
26
+ private _store;
27
+ private _propertyChange;
28
+ constructor(props: IHexLineComponentProps);
29
+ componentWillUnmount(): void;
30
+ shouldComponentUpdate(nextProps: IHexLineComponentProps, nextState: {
31
+ value: string;
32
+ }): boolean;
33
+ raiseOnPropertyChanged(newValue: number, previousValue: number): void;
34
+ convertToHexString(valueString: string): string;
35
+ updateValue(valueString: string, raisePropertyChanged: boolean): void;
36
+ lock(): void;
37
+ unlock(): void;
38
+ render(): JSX.Element;
39
+ }
40
+ export {};