From 8beb8fa42ba5f84bb13b5877560fc92ad3613e88 Mon Sep 17 00:00:00 2001
From: mehekj <mehek.jethani@gmail.com>
Date: Wed, 25 Aug 2021 21:34:40 -0400
Subject: basic audio trim complete

---
 src/client/views/nodes/LabelBox.tsx | 21 ++++++++++++++++++---
 1 file changed, 18 insertions(+), 3 deletions(-)

(limited to 'src/client/views/nodes/LabelBox.tsx')

diff --git a/src/client/views/nodes/LabelBox.tsx b/src/client/views/nodes/LabelBox.tsx
index 6a7793ff0..8d665b8a6 100644
--- a/src/client/views/nodes/LabelBox.tsx
+++ b/src/client/views/nodes/LabelBox.tsx
@@ -20,11 +20,26 @@ const LabelSchema = createSchema({});
 type LabelDocument = makeInterface<[typeof LabelSchema, typeof documentSchema]>;
 const LabelDocument = makeInterface(LabelSchema, documentSchema);
 
+export interface LabelBoxProps {
+    label?: string
+}
+
 @observer
-export class LabelBox extends ViewBoxBaseComponent<FieldViewProps, LabelDocument>(LabelDocument) {
+export class LabelBox extends ViewBoxBaseComponent<(FieldViewProps & LabelBoxProps), LabelDocument>(LabelDocument) {
     public static LayoutString(fieldKey: string) { return FieldView.LayoutString(LabelBox, fieldKey); }
+    public static LayoutStringWithTitle(fieldType: { name: string }, fieldStr: string, label: string) {
+        return `<${fieldType.name} fieldKey={'${fieldStr}'} label={'${label}'} {...props} />`;  //e.g., "<ImageBox {...props} fieldKey={"data} />"
+    }
     private dropDisposer?: DragManager.DragDropDisposer;
 
+    componentDidMount() {
+        this.props.setContentView?.(this);
+    }
+
+    getTitle() {
+        return this.props.label || "";
+    }
+
     protected createDropTarget = (ele: HTMLDivElement) => {
         this.dropDisposer?.();
         if (ele) {
@@ -65,8 +80,8 @@ export class LabelBox extends ViewBoxBaseComponent<FieldViewProps, LabelDocument
     render() {
         const params = Cast(this.paramsDoc["onClick-paramFieldKeys"], listSpec("string"), []);
         const missingParams = params?.filter(p => !this.paramsDoc[p]);
-        params?.map(p => DocListCast(this.paramsDoc[p])); // bcz: really hacky form of prefetching ... 
-        const label = typeof this.rootDoc[this.fieldKey] === "string" ? StrCast(this.rootDoc[this.fieldKey]) : StrCast(this.rootDoc.title);
+        params?.map(p => DocListCast(this.paramsDoc[p])); // bcz: really hacky form of prefetching ...
+        const label = this.props.label ? this.props.label : typeof this.rootDoc[this.fieldKey] === "string" ? StrCast(this.rootDoc[this.fieldKey]) : StrCast(this.rootDoc.title);
         return (
             <div className="labelBox-outerDiv"
                 onMouseLeave={action(() => this._mouseOver = false)}
-- 
cgit v1.2.3-70-g09d2


From b1b47b17955aa7fcb49d89c1bd538d4335202ed8 Mon Sep 17 00:00:00 2001
From: bobzel <zzzman@gmail.com>
Date: Fri, 24 Sep 2021 11:52:33 -0400
Subject: changed label boxes to fit their entire text by scaling their font

---
 src/client/views/nodes/FunctionPlotBox.tsx |  14 +-
 src/client/views/nodes/LabelBigText.js     | 241 +++++++++++++++++++++++++++++
 src/client/views/nodes/LabelBox.scss       |   6 +-
 src/client/views/nodes/LabelBox.tsx        |  28 +++-
 4 files changed, 270 insertions(+), 19 deletions(-)
 create mode 100644 src/client/views/nodes/LabelBigText.js

(limited to 'src/client/views/nodes/LabelBox.tsx')

diff --git a/src/client/views/nodes/FunctionPlotBox.tsx b/src/client/views/nodes/FunctionPlotBox.tsx
index b00f97236..5050fc2d2 100644
--- a/src/client/views/nodes/FunctionPlotBox.tsx
+++ b/src/client/views/nodes/FunctionPlotBox.tsx
@@ -1,18 +1,16 @@
-import EquationEditor from 'equation-editor-react';
 import functionPlot from "function-plot";
+import { action, computed, reaction } from 'mobx';
 import { observer } from 'mobx-react';
 import * as React from 'react';
+import { Doc, DocListCast } from '../../../fields/Doc';
 import { documentSchema } from '../../../fields/documentSchemas';
-import { createSchema, makeInterface, listSpec } from '../../../fields/Schema';
-import { StrCast, Cast } from '../../../fields/Types';
+import { List } from '../../../fields/List';
+import { createSchema, listSpec, makeInterface } from '../../../fields/Schema';
+import { Cast, StrCast } from '../../../fields/Types';
 import { TraceMobx } from '../../../fields/util';
+import { Docs } from '../../documents/Documents';
 import { ViewBoxBaseComponent } from '../DocComponent';
 import { FieldView, FieldViewProps } from './FieldView';
-import './LabelBox.scss';
-import { DocListCast, Doc } from '../../../fields/Doc';
-import { computed, action, reaction } from 'mobx';
-import { Docs } from '../../documents/Documents';
-import { List } from '../../../fields/List';
 
 
 const EquationSchema = createSchema({});
diff --git a/src/client/views/nodes/LabelBigText.js b/src/client/views/nodes/LabelBigText.js
new file mode 100644
index 000000000..db43551d8
--- /dev/null
+++ b/src/client/views/nodes/LabelBigText.js
@@ -0,0 +1,241 @@
+/*
+Brorlandi/big-text.js v1.0.0, 2017
+Adapted from DanielHoffmann/jquery-bigtext, v1.3.0, May 2014
+And from Jetroid/bigtext.js v1.0.0, September 2016
+
+Usage:
+BigText("#myElement",{
+	rotateText: {Number}, (null)
+	fontSizeFactor: {Number}, (0.8)
+	maximumFontSize: {Number}, (null)
+	limitingDimension: {String}, ("both")
+	horizontalAlign: {String}, ("center")
+	verticalAlign: {String}, ("center")
+	textAlign: {String}, ("center")
+	whiteSpace: {String}, ("nowrap")
+});
+
+
+Original Projects: 
+https://github.com/DanielHoffmann/jquery-bigtext
+https://github.com/Jetroid/bigtext.js
+
+Options:
+
+rotateText: Rotates the text inside the element by X degrees.
+
+fontSizeFactor: This option is used to give some vertical spacing for letters that overflow the line-height (like 'g', 'Á' and most other accentuated uppercase letters). This does not affect the font-size if the limiting factor is the width of the parent div. The default is 0.8
+
+maximumFontSize: maximum font size to use.
+
+limitingDimension: In which dimension the font size should be limited. Possible values: "width", "height" or "both". Defaults to both. Using this option with values different than "both" overwrites the element parent width or height.
+
+horizontalAlign: Where to align the text horizontally. Possible values: "left", "center", "right". Defaults to "center".
+
+verticalAlign: Where to align the text vertically. Possible values: "top", "center", "bottom". Defaults to "center".
+
+textAlign: Sets the text align of the element. Possible values: "left", "center", "right". Defaults to "center". This option is only useful if there are linebreaks (<br> tags) inside the text.
+
+whiteSpace: Sets whitespace handling. Possible values: "nowrap", "pre". Defaults to "nowrap". (Can also be set to enable wrapping but this doesn't work well.)
+
+Bruno Orlandi - 2017
+
+Copyright (C) 2013 Daniel Hoffmann Bernardes, Ícaro Technologies
+Copyright (C) 2016 Jet Holt
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*/
+
+function _calculateInnerDimensions(computedStyle) {
+    //Calculate the inner width and height
+    var innerWidth;
+    var innerHeight;
+
+    var width = parseInt(computedStyle.getPropertyValue("width"));
+    var height = parseInt(computedStyle.getPropertyValue("height"));
+    var paddingLeft = parseInt(computedStyle.getPropertyValue("padding-left"));
+    var paddingRight = parseInt(computedStyle.getPropertyValue("padding-right"));
+    var paddingTop = parseInt(computedStyle.getPropertyValue("padding-top"));
+    var paddingBottom = parseInt(computedStyle.getPropertyValue("padding-bottom"));
+    var borderLeft = parseInt(computedStyle.getPropertyValue("border-left-width"));
+    var borderRight = parseInt(computedStyle.getPropertyValue("border-right-width"));
+    var borderTop = parseInt(computedStyle.getPropertyValue("border-top-width"));
+    var borderBottom = parseInt(computedStyle.getPropertyValue("border-bottom-width"));
+
+    //If box-sizing is border-box, we need to subtract padding and border.
+    var parentBoxSizing = computedStyle.getPropertyValue("box-sizing");
+    if (parentBoxSizing == "border-box") {
+        innerWidth = width - (paddingLeft + paddingRight + borderLeft + borderRight);
+        innerHeight = height - (paddingTop + paddingBottom + borderTop + borderBottom);
+    } else {
+        innerWidth = width;
+        innerHeight = height;
+    }
+    var obj = {};
+    obj["width"] = innerWidth;
+    obj["height"] = innerHeight;
+    return obj;
+}
+
+export default function BigText(element, options) {
+
+    if (typeof element === 'string') {
+        element = document.querySelector(element);
+    } else if (element.length) {
+        // Support for array based queries (such as jQuery)
+        element = element[0];
+    }
+
+    var defaultOptions = {
+        rotateText: null,
+        fontSizeFactor: 0.8,
+        maximumFontSize: null,
+        limitingDimension: "both",
+        horizontalAlign: "center",
+        verticalAlign: "center",
+        textAlign: "center",
+        whiteSpace: "nowrap"
+    };
+
+    //Merge provided options and default options
+    options = options || {};
+    for (var opt in defaultOptions)
+        if (defaultOptions.hasOwnProperty(opt) && !options.hasOwnProperty(opt))
+            options[opt] = defaultOptions[opt];
+
+    //Get variables which we will reference frequently
+    var style = element.style;
+    var computedStyle = document.defaultView.getComputedStyle(element);
+    var parent = element.parentNode;
+    var parentStyle = parent.style;
+    var parentComputedStyle = document.defaultView.getComputedStyle(parent);
+
+    //hides the element to prevent "flashing"
+    style.visibility = "hidden";
+
+    //Set some properties
+    style.display = "inline-block";
+    style.clear = "both";
+    style.float = "left";
+    style.fontSize = (1000 * options.fontSizeFactor) + "px";
+    style.lineHeight = "1000px";
+    style.whiteSpace = options.whiteSpace;
+    style.textAlign = options.textAlign;
+    style.position = "relative";
+    style.padding = 0;
+    style.margin = 0;
+    style.left = "50%";
+    style.top = "50%";
+
+    //Get properties of parent to allow easier referencing later.
+    var parentPadding = {
+        top: parseInt(parentComputedStyle.getPropertyValue("padding-top")),
+        right: parseInt(parentComputedStyle.getPropertyValue("padding-right")),
+        bottom: parseInt(parentComputedStyle.getPropertyValue("padding-bottom")),
+        left: parseInt(parentComputedStyle.getPropertyValue("padding-left")),
+    };
+    var parentBorder = {
+        top: parseInt(parentComputedStyle.getPropertyValue("border-top")),
+        right: parseInt(parentComputedStyle.getPropertyValue("border-right")),
+        bottom: parseInt(parentComputedStyle.getPropertyValue("border-bottom")),
+        left: parseInt(parentComputedStyle.getPropertyValue("border-left")),
+    };
+
+    //Calculate the parent inner width and height
+    var parentInnerDimensions = _calculateInnerDimensions(parentComputedStyle);
+    var parentInnerWidth = parentInnerDimensions["width"];
+    var parentInnerHeight = parentInnerDimensions["height"];
+
+    var box = {
+        width: element.offsetWidth, //Note: This is slightly larger than the jQuery version
+        height: element.offsetHeight,
+    };
+
+
+    if (options.rotateText !== null) {
+        if (typeof options.rotateText !== "number")
+            throw "bigText error: rotateText value must be a number";
+        var rotate = "rotate(" + options.rotateText + "deg)";
+        style.webkitTransform = rotate;
+        style.msTransform = rotate;
+        style.MozTransform = rotate;
+        style.OTransform = rotate;
+        style.transform = rotate;
+        //calculating bounding box of the rotated element
+        var sine = Math.abs(Math.sin(options.rotateText * Math.PI / 180));
+        var cosine = Math.abs(Math.cos(options.rotateText * Math.PI / 180));
+        box.width = element.offsetWidth * cosine + element.offsetHeight * sine;
+        box.height = element.offsetWidth * sine + element.offsetHeight * cosine;
+    }
+
+    var widthFactor = (parentInnerWidth - parentPadding.left - parentPadding.right) / box.width;
+    var heightFactor = (parentInnerHeight - parentPadding.top - parentPadding.bottom) / box.height;
+    var lineHeight;
+
+    if (options.limitingDimension.toLowerCase() === "width") {
+        lineHeight = Math.floor(widthFactor * 1000);
+        parentStyle.height = lineHeight + "px";
+    } else if (options.limitingDimension.toLowerCase() === "height") {
+        lineHeight = Math.floor(heightFactor * 1000);
+    } else if (widthFactor < heightFactor)
+        lineHeight = Math.floor(widthFactor * 1000);
+    else if (widthFactor >= heightFactor)
+        lineHeight = Math.floor(heightFactor * 1000);
+
+    var fontSize = lineHeight * options.fontSizeFactor;
+    if (options.maximumFontSize !== null && fontSize > options.maximumFontSize) {
+        fontSize = options.maximumFontSize;
+        lineHeight = fontSize / options.fontSizeFactor;
+    }
+
+    style.fontSize = Math.floor(fontSize) + "px";
+    style.lineHeight = Math.ceil(lineHeight) + "px";
+    style.marginBottom = "0px";
+    style.marginRight = "0px";
+
+    if (options.limitingDimension.toLowerCase() === "height") {
+        //this option needs the font-size to be set already so computedStyle.getPropertyValue("width") returns the right size
+        //this +4 is to compensate the rounding erros that can occur due to the calls to Math.floor in the centering code
+        parentStyle.width = (parseInt(computedStyle.getPropertyValue("width")) + 4) + "px";
+    }
+
+    //Calculate the inner width and height
+    var innerDimensions = _calculateInnerDimensions(computedStyle);
+    var innerWidth = innerDimensions["width"];
+    var innerHeight = innerDimensions["height"];
+
+    switch (options.verticalAlign.toLowerCase()) {
+        case "top":
+            style.top = "0%";
+            break;
+        case "bottom":
+            style.top = "100%";
+            style.marginTop = Math.floor(-innerHeight) + "px";
+            break;
+        default:
+            style.marginTop = Math.ceil((-innerHeight / 2)) + "px";
+            break;
+    }
+
+    switch (options.horizontalAlign.toLowerCase()) {
+        case "left":
+            style.left = "0%";
+            break;
+        case "right":
+            style.left = "100%";
+            style.marginLeft = Math.floor(-innerWidth) + "px";
+            break;
+        default:
+            style.marginLeft = Math.ceil((-innerWidth / 2)) + "px";
+            break;
+    }
+
+    //shows the element after the work is done
+    style.visibility = "visible";
+
+    return element;
+}
diff --git a/src/client/views/nodes/LabelBox.scss b/src/client/views/nodes/LabelBox.scss
index 1290193d0..6a0d651d2 100644
--- a/src/client/views/nodes/LabelBox.scss
+++ b/src/client/views/nodes/LabelBox.scss
@@ -9,10 +9,10 @@
 
 .labelBox-mainButton {
     max-width: 100%;
-    width: fit-content;
-    height: max-content;
+    width: 100%;
+    height: 100%;
     border-radius: inherit;
-    letter-spacing: 2px;
+    //letter-spacing: 2px; // bcz: doesn't work with LabelBigText
     text-transform: uppercase;
     overflow: hidden;
     display: inline-block;
diff --git a/src/client/views/nodes/LabelBox.tsx b/src/client/views/nodes/LabelBox.tsx
index db1ae0537..781553dd8 100644
--- a/src/client/views/nodes/LabelBox.tsx
+++ b/src/client/views/nodes/LabelBox.tsx
@@ -1,19 +1,20 @@
-import { action, computed, observable, runInAction } from 'mobx';
+import { action, computed, observable } from 'mobx';
 import { observer } from 'mobx-react';
 import * as React from 'react';
 import { Doc, DocListCast } from '../../../fields/Doc';
 import { documentSchema } from '../../../fields/documentSchemas';
 import { List } from '../../../fields/List';
 import { createSchema, listSpec, makeInterface } from '../../../fields/Schema';
-import { Cast, NumCast, StrCast } from '../../../fields/Types';
+import { Cast, StrCast } from '../../../fields/Types';
 import { DragManager } from '../../util/DragManager';
 import { undoBatch } from '../../util/UndoManager';
 import { ContextMenu } from '../ContextMenu';
 import { ContextMenuProps } from '../ContextMenuItem';
 import { ViewBoxBaseComponent } from '../DocComponent';
+import { StyleProp } from '../StyleProvider';
 import { FieldView, FieldViewProps } from './FieldView';
+import BigText from './LabelBigText';
 import './LabelBox.scss';
-import { StyleProp } from '../StyleProvider';
 
 const LabelSchema = createSchema({});
 
@@ -94,13 +95,24 @@ export class LabelBox extends ViewBoxBaseComponent<(FieldViewProps & LabelBoxPro
                     fontFamily: StrCast(this.layoutDoc._fontFamily) || "inherit",
                     letterSpacing: StrCast(this.layoutDoc.letterSpacing),
                     textTransform: StrCast(this.layoutDoc.textTransform) as any,
-                    paddingLeft: NumCast(this.layoutDoc._xPadding),
-                    paddingRight: NumCast(this.layoutDoc._xPadding),
-                    paddingTop: NumCast(this.layoutDoc._yPadding),
-                    paddingBottom: NumCast(this.layoutDoc._yPadding),
+                    width: this.props.PanelWidth(),
+                    height: this.props.PanelHeight(),
                     whiteSpace: this.layoutDoc._singleLine ? "pre" : "pre-wrap"
                 }} >
-                    {label.startsWith("#") ? (null) : label}
+                    <span ref={r => {
+                        if (r) {
+                            BigText(r, {
+                                rotateText: null,
+                                fontSizeFactor: 1,
+                                maximumFontSize: null,
+                                limitingDimension: "both",
+                                horizontalAlign: "center",
+                                verticalAlign: "center",
+                                textAlign: "center",
+                                whiteSpace: "nowrap"
+                            })
+                        }
+                    }}>{label.startsWith("#") ? (null) : label}</span>
                 </div>
                 <div className="labelBox-fieldKeyParams" >
                     {!missingParams?.length ? (null) : missingParams.map(m => <div key={m} className="labelBox-missingParam">{m}</div>)}
-- 
cgit v1.2.3-70-g09d2


From 904f9a88e78f4ce4e19c9c9a1c5f174cf3dbfac7 Mon Sep 17 00:00:00 2001
From: bobzel <zzzman@gmail.com>
Date: Fri, 24 Sep 2021 09:51:24 -0400
Subject: updated titling of LabelBox to show custom titles when they are set.

---
 src/client/views/nodes/LabelBox.tsx | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

(limited to 'src/client/views/nodes/LabelBox.tsx')

diff --git a/src/client/views/nodes/LabelBox.tsx b/src/client/views/nodes/LabelBox.tsx
index 781553dd8..c32aaeb2e 100644
--- a/src/client/views/nodes/LabelBox.tsx
+++ b/src/client/views/nodes/LabelBox.tsx
@@ -38,7 +38,8 @@ export class LabelBox extends ViewBoxBaseComponent<(FieldViewProps & LabelBoxPro
     }
 
     getTitle() {
-        return this.props.label || "";
+        return this.rootDoc["title-custom"] ? StrCast(this.rootDoc.title) :
+            this.props.label ? this.props.label : typeof this.rootDoc[this.fieldKey] === "string" ? StrCast(this.rootDoc[this.fieldKey]) : StrCast(this.rootDoc.title);
     }
 
     protected createDropTarget = (ele: HTMLDivElement) => {
@@ -82,7 +83,7 @@ export class LabelBox extends ViewBoxBaseComponent<(FieldViewProps & LabelBoxPro
         const params = Cast(this.paramsDoc["onClick-paramFieldKeys"], listSpec("string"), []);
         const missingParams = params?.filter(p => !this.paramsDoc[p]);
         params?.map(p => DocListCast(this.paramsDoc[p])); // bcz: really hacky form of prefetching ...
-        const label = this.props.label ? this.props.label : typeof this.rootDoc[this.fieldKey] === "string" ? StrCast(this.rootDoc[this.fieldKey]) : StrCast(this.rootDoc.title);
+        const label = this.getTitle();
         return (
             <div className="labelBox-outerDiv"
                 onMouseLeave={action(() => this._mouseOver = false)}
@@ -91,7 +92,7 @@ export class LabelBox extends ViewBoxBaseComponent<(FieldViewProps & LabelBoxPro
                 style={{ boxShadow: this.props.styleProvider?.(this.layoutDoc, this.props, StyleProp.BoxShadow) }}>
                 <div className="labelBox-mainButton" style={{
                     backgroundColor: this.hoverColor,
-                    fontSize: StrCast(this.layoutDoc._fontSize) || "inherit",
+                    fontSize: StrCast(this.layoutDoc._fontSize) || Math.min(18, this.props.PanelHeight() / 2),
                     fontFamily: StrCast(this.layoutDoc._fontFamily) || "inherit",
                     letterSpacing: StrCast(this.layoutDoc.letterSpacing),
                     textTransform: StrCast(this.layoutDoc.textTransform) as any,
-- 
cgit v1.2.3-70-g09d2


From 2dd68246a8495344ca6887ed7cdb12a334a5b776 Mon Sep 17 00:00:00 2001
From: bobzel <zzzman@gmail.com>
Date: Fri, 24 Sep 2021 12:16:57 -0400
Subject: label box minor tweak.

---
 src/client/views/nodes/LabelBox.tsx | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

(limited to 'src/client/views/nodes/LabelBox.tsx')

diff --git a/src/client/views/nodes/LabelBox.tsx b/src/client/views/nodes/LabelBox.tsx
index c32aaeb2e..3e75af2a1 100644
--- a/src/client/views/nodes/LabelBox.tsx
+++ b/src/client/views/nodes/LabelBox.tsx
@@ -38,8 +38,8 @@ export class LabelBox extends ViewBoxBaseComponent<(FieldViewProps & LabelBoxPro
     }
 
     getTitle() {
-        return this.rootDoc["title-custom"] ? StrCast(this.rootDoc.title) :
-            this.props.label ? this.props.label : typeof this.rootDoc[this.fieldKey] === "string" ? StrCast(this.rootDoc[this.fieldKey]) : StrCast(this.rootDoc.title);
+        return this.props.label ? this.props.label : this.rootDoc["title-custom"] ? StrCast(this.rootDoc.title) :
+            typeof this.rootDoc[this.fieldKey] === "string" ? StrCast(this.rootDoc[this.fieldKey]) : StrCast(this.rootDoc.title);
     }
 
     protected createDropTarget = (ele: HTMLDivElement) => {
-- 
cgit v1.2.3-70-g09d2


From 27baf4ef57b2816b3c5147f38eddc9fac2ed6907 Mon Sep 17 00:00:00 2001
From: bobzel <zzzman@gmail.com>
Date: Sat, 25 Sep 2021 22:04:14 -0400
Subject: fixed warning

---
 src/client/views/nodes/LabelBox.tsx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'src/client/views/nodes/LabelBox.tsx')

diff --git a/src/client/views/nodes/LabelBox.tsx b/src/client/views/nodes/LabelBox.tsx
index 3e75af2a1..90b9ce55d 100644
--- a/src/client/views/nodes/LabelBox.tsx
+++ b/src/client/views/nodes/LabelBox.tsx
@@ -111,7 +111,7 @@ export class LabelBox extends ViewBoxBaseComponent<(FieldViewProps & LabelBoxPro
                                 verticalAlign: "center",
                                 textAlign: "center",
                                 whiteSpace: "nowrap"
-                            })
+                            });
                         }
                     }}>{label.startsWith("#") ? (null) : label}</span>
                 </div>
-- 
cgit v1.2.3-70-g09d2

