@babylonjs/shared-ui-components 8.51.2 → 8.52.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.
- package/fluent/hoc/childWindow.js +3 -16
- package/fluent/hoc/childWindow.js.map +1 -1
- package/fluent/hoc/propertyLines/vectorPropertyLine.d.ts +3 -1
- package/fluent/hoc/propertyLines/vectorPropertyLine.js +12 -11
- package/fluent/hoc/propertyLines/vectorPropertyLine.js.map +1 -1
- package/fluent/hooks/keyboardHooks.d.ts +4 -1
- package/fluent/hooks/keyboardHooks.js +8 -2
- package/fluent/hooks/keyboardHooks.js.map +1 -1
- package/fluent/primitives/accordion.contexts.js +3 -3
- package/fluent/primitives/accordion.contexts.js.map +1 -1
- package/fluent/primitives/gradient.js +1 -1
- package/fluent/primitives/gradient.js.map +1 -1
- package/fluent/primitives/slider.d.ts +23 -0
- package/fluent/primitives/slider.js +56 -0
- package/fluent/primitives/slider.js.map +1 -0
- package/fluent/primitives/spinButton.d.ts +12 -0
- package/fluent/primitives/spinButton.js +181 -72
- package/fluent/primitives/spinButton.js.map +1 -1
- package/fluent/primitives/syncedSlider.d.ts +2 -0
- package/fluent/primitives/syncedSlider.js +5 -13
- package/fluent/primitives/syncedSlider.js.map +1 -1
- package/fluent/primitives/toggleButton.js +3 -3
- package/fluent/primitives/toggleButton.js.map +1 -1
- package/nodeGraphSystem/graphFrame.d.ts +0 -2
- package/nodeGraphSystem/graphFrame.js +18 -18
- package/nodeGraphSystem/graphFrame.js.map +1 -1
- package/nodeGraphSystem/graphFrame.module.scss +5 -10
- package/nodeGraphSystem/graphNode.module.scss +5 -9
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toggleButton.js","sourceRoot":"","sources":["../../../../../dev/sharedUiComponents/src/fluent/primitives/toggleButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,IAAI,kBAAkB,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE5F,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGrE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,SAAS,GAAG,UAAU,CAAC;IACzB,MAAM,EAAE;QACJ,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;KAC3B;CACJ,CAAC,CAAC;AASH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAyC,CAAC,KAAK,EAAE,EAAE;IACxE,YAAY,CAAC,WAAW,GAAG,cAAc,CAAC;IAC1C,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,GAAG,QAAQ,EAAE,GAAG,KAAK,CAAC;IAChE,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAC5B,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE;QAC5B,UAAU,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"toggleButton.js","sourceRoot":"","sources":["../../../../../dev/sharedUiComponents/src/fluent/primitives/toggleButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,IAAI,kBAAkB,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE5F,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGrE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,SAAS,GAAG,UAAU,CAAC;IACzB,MAAM,EAAE;QACJ,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;KAC3B;CACJ,CAAC,CAAC;AASH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAyC,CAAC,KAAK,EAAE,EAAE;IACxE,YAAY,CAAC,WAAW,GAAG,cAAc,CAAC;IAC1C,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,GAAG,QAAQ,EAAE,GAAG,KAAK,CAAC;IAChE,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAC5B,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE;QAC5B,UAAU,CAAC,CAAC,WAAW,EAAE,EAAE;YACvB,MAAM,OAAO,GAAG,CAAC,WAAW,CAAC;YAC7B,QAAQ,CAAC,OAAO,CAAC,CAAC;YAClB,OAAO,OAAO,CAAC;QACnB,CAAC,CAAC,CAAC;IACP,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,SAAS,CAAC,GAAG,EAAE;QACX,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAElB,OAAO,CACH,KAAC,OAAO,IAAC,OAAO,EAAE,KAAK,IAAI,EAAE,YACzB,KAAC,kBAAkB,IACf,SAAS,EAAE,OAAO,CAAC,MAAM,EACzB,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,KAAC,KAAK,CAAC,WAAW,KAAG,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAC,KAAK,CAAC,aAAa,KAAG,CAAC,CAAC,CAAC,KAAC,KAAK,CAAC,WAAW,KAAG,EAC7G,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,MAAM,GACjB,GACI,CACb,CAAC;AACN,CAAC,CAAC","sourcesContent":["import { ToggleButton as FluentToggleButton, makeStyles } from \"@fluentui/react-components\";\r\nimport type { ButtonProps } from \"./button\";\r\nimport { useCallback, useContext, useEffect, useState } from \"react\";\r\nimport type { FunctionComponent } from \"react\";\r\nimport type { FluentIcon } from \"@fluentui/react-icons\";\r\nimport { ToolContext } from \"../hoc/fluentToolWrapper\";\r\nimport { Tooltip } from \"./tooltip\";\r\n\r\nconst useStyles = makeStyles({\r\n button: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n },\r\n});\r\n\r\ntype ToggleButtonProps = Omit<ButtonProps, \"icon\" | \"onClick\"> & {\r\n value: boolean;\r\n checkedIcon: FluentIcon;\r\n uncheckedIcon?: FluentIcon;\r\n onChange: (checked: boolean) => void;\r\n};\r\n\r\n/**\r\n * Toggles between two states using a button with icons.\r\n * If no disabledIcon is provided, the button will toggle between visual enabled/disabled states without an icon change\r\n *\r\n * @param props\r\n * @returns\r\n */\r\nexport const ToggleButton: FunctionComponent<ToggleButtonProps> = (props) => {\r\n ToggleButton.displayName = \"ToggleButton\";\r\n const { value, onChange, title, appearance = \"subtle\" } = props;\r\n const { size } = useContext(ToolContext);\r\n const classes = useStyles();\r\n const [checked, setChecked] = useState(value);\r\n const toggle = useCallback(() => {\r\n setChecked((prevChecked) => {\r\n const enabled = !prevChecked;\r\n onChange(enabled);\r\n return enabled;\r\n });\r\n }, [onChange]);\r\n\r\n useEffect(() => {\r\n setChecked(props.value);\r\n }, [props.value]);\r\n\r\n return (\r\n <Tooltip content={title ?? \"\"}>\r\n <FluentToggleButton\r\n className={classes.button}\r\n size={size}\r\n icon={checked ? <props.checkedIcon /> : props.uncheckedIcon ? <props.uncheckedIcon /> : <props.checkedIcon />}\r\n appearance={appearance}\r\n checked={checked}\r\n onClick={toggle}\r\n />\r\n </Tooltip>\r\n );\r\n};\r\n"]}
|
|
@@ -28,7 +28,6 @@ export declare class GraphFrame {
|
|
|
28
28
|
private _headerTextElement;
|
|
29
29
|
private _headerCollapseElement;
|
|
30
30
|
private _headerCloseElement;
|
|
31
|
-
private _headerFocusElement;
|
|
32
31
|
private _commentsElement;
|
|
33
32
|
private _portContainer;
|
|
34
33
|
private _outputPortContainer;
|
|
@@ -58,7 +57,6 @@ export declare class GraphFrame {
|
|
|
58
57
|
private readonly _closeSVG;
|
|
59
58
|
private readonly _expandSVG;
|
|
60
59
|
private readonly _collapseSVG;
|
|
61
|
-
private readonly _focusSVG;
|
|
62
60
|
get id(): number;
|
|
63
61
|
get isCollapsed(): boolean;
|
|
64
62
|
private _createInputPort;
|
|
@@ -271,6 +271,10 @@ export class GraphFrame {
|
|
|
271
271
|
this._ownerCanvas._frameIsMoving = true;
|
|
272
272
|
// Need to delegate the outside ports to the frame
|
|
273
273
|
if (value) {
|
|
274
|
+
// Exit focus mode when collapsing
|
|
275
|
+
if (this._isFocused) {
|
|
276
|
+
this.switchFocusMode();
|
|
277
|
+
}
|
|
274
278
|
this.element.classList.add(styles.collapsed);
|
|
275
279
|
this.element.classList.remove(styles.expanded);
|
|
276
280
|
this._headerElement.classList.add(styles.collapsedHeader);
|
|
@@ -308,7 +312,7 @@ export class GraphFrame {
|
|
|
308
312
|
// UI
|
|
309
313
|
if (this._isCollapsed) {
|
|
310
314
|
this._headerCollapseElement.innerHTML = this._expandSVG;
|
|
311
|
-
this._headerCollapseElement.title = "Expand";
|
|
315
|
+
this._headerCollapseElement.title = "Expand (Shift+click for focus mode)";
|
|
312
316
|
}
|
|
313
317
|
else {
|
|
314
318
|
this._headerCollapseElement.innerHTML = this._collapseSVG;
|
|
@@ -428,7 +432,6 @@ export class GraphFrame {
|
|
|
428
432
|
this._closeSVG = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><g id="Layer_2" data-name="Layer 2"><path d="M16,15l5.85,5.84-1,1L15,15.93,9.15,21.78l-1-1L14,15,8.19,9.12l1-1L15,14l5.84-5.84,1,1Z"/></g></svg>`;
|
|
429
433
|
this._expandSVG = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><g id="Layer_2" data-name="Layer 2"><path d="M22.31,7.69V22.31H7.69V7.69ZM21.19,8.81H8.81V21.19H21.19Zm-6.75,6.75H11.06V14.44h3.38V11.06h1.12v3.38h3.38v1.12H15.56v3.38H14.44Z"/></g></svg>`;
|
|
430
434
|
this._collapseSVG = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><g id="Layer_2" data-name="Layer 2"><path d="M22.31,7.69V22.31H7.69V7.69ZM21.19,8.81H8.81V21.19H21.19Zm-2.25,6.75H11.06V14.44h7.88Z"/></g></svg>`;
|
|
431
|
-
this._focusSVG = `<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M6.24992 4.5C5.28344 4.5 4.49996 5.2835 4.49996 6.25V17.75C4.49996 18.7165 5.28344 19.5 6.24992 19.5H17.7496C18.7161 19.5 19.4996 18.7165 19.4996 17.75V13.75C19.4996 13.3358 19.8354 13 20.2496 13C20.6638 13 20.9995 13.3358 20.9995 13.75V17.75C20.9995 19.5449 19.5445 21 17.7496 21H6.24992C4.45504 21 3 19.5449 3 17.75V6.25C3 4.45507 4.45504 3 6.24992 3H10.2498C10.664 3 10.9998 3.33579 10.9998 3.75C10.9998 4.16421 10.664 4.5 10.2498 4.5H6.24992ZM12.9997 3.75C12.9997 3.33579 13.3355 3 13.7497 3H20.25C20.6642 3 21 3.33579 21 3.75V10.25C21 10.6642 20.6642 11 20.25 11C19.8358 11 19.5 10.6642 19.5 10.25V5.56074L14.28 10.7804C13.9871 11.0732 13.5123 11.0732 13.2194 10.7803C12.9265 10.4874 12.9265 10.0125 13.2194 9.71964L18.4395 4.5H13.7497C13.3355 4.5 12.9997 4.16421 12.9997 3.75Z" /></svg>`;
|
|
432
435
|
this._isFocused = false;
|
|
433
436
|
this._initResizing = (evt) => {
|
|
434
437
|
evt.stopPropagation();
|
|
@@ -870,21 +873,6 @@ export class GraphFrame {
|
|
|
870
873
|
this._headerTextElement = root.ownerDocument.createElement("div");
|
|
871
874
|
this._headerTextElement.classList.add(styles["frame-box-header-title"]);
|
|
872
875
|
this._headerElement.appendChild(this._headerTextElement);
|
|
873
|
-
// Focus
|
|
874
|
-
this._headerFocusElement = root.ownerDocument.createElement("div");
|
|
875
|
-
this._headerFocusElement.classList.add(styles["frame-box-header-focus"]);
|
|
876
|
-
this._headerFocusElement.classList.add(styles["frame-box-header-button"]);
|
|
877
|
-
this._headerFocusElement.title = "Switch focus mode";
|
|
878
|
-
this._headerFocusElement.ondragstart = () => false;
|
|
879
|
-
this._headerFocusElement.addEventListener("pointerdown", (evt) => {
|
|
880
|
-
evt.stopPropagation();
|
|
881
|
-
});
|
|
882
|
-
this._headerFocusElement.addEventListener("pointerup", (evt) => {
|
|
883
|
-
evt.stopPropagation();
|
|
884
|
-
this.switchFocusMode();
|
|
885
|
-
});
|
|
886
|
-
this._headerFocusElement.innerHTML = this._focusSVG;
|
|
887
|
-
this._headerElement.appendChild(this._headerFocusElement);
|
|
888
876
|
// Collapse
|
|
889
877
|
this._headerCollapseElement = root.ownerDocument.createElement("div");
|
|
890
878
|
this._headerCollapseElement.classList.add(styles["frame-box-header-collapse"]);
|
|
@@ -898,7 +886,16 @@ export class GraphFrame {
|
|
|
898
886
|
this._headerCollapseElement.addEventListener("pointerup", (evt) => {
|
|
899
887
|
evt.stopPropagation();
|
|
900
888
|
this._headerCollapseElement.classList.remove("down");
|
|
901
|
-
|
|
889
|
+
if (evt.shiftKey) {
|
|
890
|
+
// Shift+click toggles focus mode without changing collapse state
|
|
891
|
+
if (this._isCollapsed) {
|
|
892
|
+
this.isCollapsed = false;
|
|
893
|
+
}
|
|
894
|
+
this.switchFocusMode();
|
|
895
|
+
}
|
|
896
|
+
else {
|
|
897
|
+
this.isCollapsed = !this.isCollapsed;
|
|
898
|
+
}
|
|
902
899
|
});
|
|
903
900
|
this._headerCollapseElement.innerHTML = this._collapseSVG;
|
|
904
901
|
this._headerElement.appendChild(this._headerCollapseElement);
|
|
@@ -1298,6 +1295,9 @@ export class GraphFrame {
|
|
|
1298
1295
|
this.element.style.height = `${frameElementHeight + heightModification}px`;
|
|
1299
1296
|
}
|
|
1300
1297
|
dispose() {
|
|
1298
|
+
if (this._isFocused) {
|
|
1299
|
+
this.switchFocusMode();
|
|
1300
|
+
}
|
|
1301
1301
|
if (this._onSelectionChangedObserver) {
|
|
1302
1302
|
this._ownerCanvas.stateManager.onSelectionChangedObservable.remove(this._onSelectionChangedObserver);
|
|
1303
1303
|
}
|