@hpcc-js/layout 2.51.3 → 2.51.5

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/src/Tabbed.ts CHANGED
@@ -1,158 +1,158 @@
1
- import { HTMLWidget, Text } from "@hpcc-js/common";
2
- import { select as d3Select } from "d3-selection";
3
- import { Surface } from "./Surface";
4
-
5
- import "../src/Tabbed.css";
6
-
7
- export class Tabbed extends HTMLWidget {
8
- _tabContainer;
9
- _contentContainer;
10
-
11
- constructor() {
12
- super();
13
-
14
- this._tag = "div";
15
- }
16
-
17
- clearTabs() {
18
- this.labels([]);
19
- this.widgets([]);
20
- return this;
21
- }
22
-
23
- addTab(widget, label, isActive?, callback?) {
24
- const widgetSize = widget.size();
25
- if (widgetSize.width === 0 && widgetSize.height === 0) {
26
- widget.size({ width: "100%", height: "100%" });
27
- }
28
- const labels = this.labels();
29
- const widgets = this.widgets();
30
- if (isActive) {
31
- this.activeTabIdx(this.widgets().length);
32
- }
33
- labels.push(label);
34
- const surface = new Surface().widget(widget ? widget : new Text().text("No widget defined for tab"));
35
- widgets.push(surface);
36
- this.labels(labels);
37
- this.widgets(widgets);
38
- if (callback) {
39
- callback(surface);
40
- }
41
- return this;
42
- }
43
-
44
- widgetSize(widgetDiv) {
45
- const width = this.clientWidth();
46
- let height = this.clientHeight();
47
-
48
- const tcBox = this._tabContainer.node().getBoundingClientRect();
49
- if (typeof (tcBox.height) !== "undefined") {
50
- height -= tcBox.height;
51
- }
52
- return { width, height };
53
- }
54
-
55
- enter(domNode, element) {
56
- super.enter(domNode, element);
57
- this._tabContainer = element.append("div");
58
- this._contentContainer = element.append("div");
59
- }
60
-
61
- update(domNode, element) {
62
- super.update(domNode, element);
63
- const context = this;
64
-
65
- element.style("padding", this.surfacePadding_exists() ? this.surfacePadding() + "px" : null);
66
-
67
- const tabs = this._tabContainer.selectAll(".tab-button.id" + this.id()).data(this.showTabs() ? this.labels() : [], function (d) { return d; });
68
- tabs.enter().append("span")
69
- .attr("class", "tab-button id" + this.id())
70
- .style("cursor", "pointer")
71
- .on("click", function (d, idx) {
72
- context.click(context.widgets()[idx].widget(), d, idx);
73
- context
74
- .activeTabIdx(idx)
75
- .render()
76
- ;
77
- }).merge(tabs)
78
- .classed("active", function (d, idx) { return context.activeTabIdx() === idx; })
79
- .text(function (d) { return d; })
80
- ;
81
- tabs.exit().remove();
82
-
83
- const content = this._contentContainer.selectAll(".tab-content.id" + this.id()).data(this.widgets(), function (d) { return d.id(); });
84
- content.enter().append("div")
85
- .attr("class", "tab-content id" + this.id())
86
- .each(function (widget, idx) {
87
- widget.target(this);
88
- }).merge(content)
89
- .classed("active", function (d, idx) { return context.activeTabIdx() === idx; })
90
- .style("display", function (d, idx) { return context.activeTabIdx() === idx ? "block" : "none"; })
91
- .each(function (surface, idx) {
92
- surface.visible(context.activeTabIdx() === idx);
93
- if (context.activeTabIdx() === idx) {
94
- const wSize = context.widgetSize(d3Select(this));
95
- surface
96
- .surfaceBorderWidth(context.showTabs() ? null : 0)
97
- .surfacePadding(context.showTabs() ? null : 0)
98
- .resize(wSize)
99
- ;
100
- }
101
- })
102
- ;
103
- content.exit()
104
- .each(function (widget, idx) {
105
- widget
106
- .target(null)
107
- ;
108
- })
109
- .remove();
110
-
111
- switch (this.tabLocation()) {
112
- case "bottom":
113
- this._tabContainer
114
- .attr("class", "on_bottom")
115
- .style("top", (this._contentContainer.node().offsetHeight + this.surfacePadding()) + "px")
116
- .style("position", "absolute")
117
- ;
118
- this._contentContainer
119
- .style("top", this.surfacePadding_exists() ? this.surfacePadding() + "px" : null)
120
- .style("position", "absolute")
121
- ;
122
- break;
123
- default:
124
- this._tabContainer
125
- .attr("class", "on_top")
126
- .style("top", null)
127
- .style("position", "relative")
128
- ;
129
- this._contentContainer
130
- .style("top", (this._tabContainer.node().offsetHeight + this.surfacePadding()) + "px")
131
- .style("position", "absolute")
132
- ;
133
- break;
134
- }
135
- }
136
-
137
- click(widget, column, idx) {
138
- }
139
-
140
- showTabs: { (): boolean; (_: boolean): Tabbed; };
141
- surfacePadding: { (): number; (_: number): Tabbed; };
142
- surfacePadding_default: { (): number; (_: number): Tabbed; };
143
- surfacePadding_exists: () => boolean;
144
- activeTabIdx: { (): number; (_: number): Tabbed; };
145
-
146
- labels: { (): string[]; (_: string[]): Tabbed; };
147
- tabLocation: { (): string; (_: string): Tabbed; };
148
- widgets: { (): any[]; (_: any[]): Tabbed; };
149
- }
150
- Tabbed.prototype._class += " layout_Tabbed";
151
-
152
- Tabbed.prototype.publish("showTabs", true, "boolean", "Show Tabs", null, {});
153
- Tabbed.prototype.publish("surfacePadding", 4, "number", "Padding");
154
- Tabbed.prototype.publish("activeTabIdx", 0, "number", "Index of active tab", null, {});
155
-
156
- Tabbed.prototype.publish("labels", [], "array", "Array of tab labels sharing an index with ", null, { tags: ["Private"] });
157
- Tabbed.prototype.publish("tabLocation", "top", "set", "Position the tabs at the bottom of the widget", ["top", "bottom"], { tags: ["Private"] });
158
- Tabbed.prototype.publish("widgets", [], "widgetArray", "widgets", null, { tags: ["Private"] });
1
+ import { HTMLWidget, Text } from "@hpcc-js/common";
2
+ import { select as d3Select } from "d3-selection";
3
+ import { Surface } from "./Surface";
4
+
5
+ import "../src/Tabbed.css";
6
+
7
+ export class Tabbed extends HTMLWidget {
8
+ _tabContainer;
9
+ _contentContainer;
10
+
11
+ constructor() {
12
+ super();
13
+
14
+ this._tag = "div";
15
+ }
16
+
17
+ clearTabs() {
18
+ this.labels([]);
19
+ this.widgets([]);
20
+ return this;
21
+ }
22
+
23
+ addTab(widget, label, isActive?, callback?) {
24
+ const widgetSize = widget.size();
25
+ if (widgetSize.width === 0 && widgetSize.height === 0) {
26
+ widget.size({ width: "100%", height: "100%" });
27
+ }
28
+ const labels = this.labels();
29
+ const widgets = this.widgets();
30
+ if (isActive) {
31
+ this.activeTabIdx(this.widgets().length);
32
+ }
33
+ labels.push(label);
34
+ const surface = new Surface().widget(widget ? widget : new Text().text("No widget defined for tab"));
35
+ widgets.push(surface);
36
+ this.labels(labels);
37
+ this.widgets(widgets);
38
+ if (callback) {
39
+ callback(surface);
40
+ }
41
+ return this;
42
+ }
43
+
44
+ widgetSize(widgetDiv) {
45
+ const width = this.clientWidth();
46
+ let height = this.clientHeight();
47
+
48
+ const tcBox = this._tabContainer.node().getBoundingClientRect();
49
+ if (typeof (tcBox.height) !== "undefined") {
50
+ height -= tcBox.height;
51
+ }
52
+ return { width, height };
53
+ }
54
+
55
+ enter(domNode, element) {
56
+ super.enter(domNode, element);
57
+ this._tabContainer = element.append("div");
58
+ this._contentContainer = element.append("div");
59
+ }
60
+
61
+ update(domNode, element) {
62
+ super.update(domNode, element);
63
+ const context = this;
64
+
65
+ element.style("padding", this.surfacePadding_exists() ? this.surfacePadding() + "px" : null);
66
+
67
+ const tabs = this._tabContainer.selectAll(".tab-button.id" + this.id()).data(this.showTabs() ? this.labels() : [], function (d) { return d; });
68
+ tabs.enter().append("span")
69
+ .attr("class", "tab-button id" + this.id())
70
+ .style("cursor", "pointer")
71
+ .on("click", function (d, idx) {
72
+ context.click(context.widgets()[idx].widget(), d, idx);
73
+ context
74
+ .activeTabIdx(idx)
75
+ .render()
76
+ ;
77
+ }).merge(tabs)
78
+ .classed("active", function (d, idx) { return context.activeTabIdx() === idx; })
79
+ .text(function (d) { return d; })
80
+ ;
81
+ tabs.exit().remove();
82
+
83
+ const content = this._contentContainer.selectAll(".tab-content.id" + this.id()).data(this.widgets(), function (d) { return d.id(); });
84
+ content.enter().append("div")
85
+ .attr("class", "tab-content id" + this.id())
86
+ .each(function (widget, idx) {
87
+ widget.target(this);
88
+ }).merge(content)
89
+ .classed("active", function (d, idx) { return context.activeTabIdx() === idx; })
90
+ .style("display", function (d, idx) { return context.activeTabIdx() === idx ? "block" : "none"; })
91
+ .each(function (surface, idx) {
92
+ surface.visible(context.activeTabIdx() === idx);
93
+ if (context.activeTabIdx() === idx) {
94
+ const wSize = context.widgetSize(d3Select(this));
95
+ surface
96
+ .surfaceBorderWidth(context.showTabs() ? null : 0)
97
+ .surfacePadding(context.showTabs() ? null : 0)
98
+ .resize(wSize)
99
+ ;
100
+ }
101
+ })
102
+ ;
103
+ content.exit()
104
+ .each(function (widget, idx) {
105
+ widget
106
+ .target(null)
107
+ ;
108
+ })
109
+ .remove();
110
+
111
+ switch (this.tabLocation()) {
112
+ case "bottom":
113
+ this._tabContainer
114
+ .attr("class", "on_bottom")
115
+ .style("top", (this._contentContainer.node().offsetHeight + this.surfacePadding()) + "px")
116
+ .style("position", "absolute")
117
+ ;
118
+ this._contentContainer
119
+ .style("top", this.surfacePadding_exists() ? this.surfacePadding() + "px" : null)
120
+ .style("position", "absolute")
121
+ ;
122
+ break;
123
+ default:
124
+ this._tabContainer
125
+ .attr("class", "on_top")
126
+ .style("top", null)
127
+ .style("position", "relative")
128
+ ;
129
+ this._contentContainer
130
+ .style("top", (this._tabContainer.node().offsetHeight + this.surfacePadding()) + "px")
131
+ .style("position", "absolute")
132
+ ;
133
+ break;
134
+ }
135
+ }
136
+
137
+ click(widget, column, idx) {
138
+ }
139
+
140
+ showTabs: { (): boolean; (_: boolean): Tabbed; };
141
+ surfacePadding: { (): number; (_: number): Tabbed; };
142
+ surfacePadding_default: { (): number; (_: number): Tabbed; };
143
+ surfacePadding_exists: () => boolean;
144
+ activeTabIdx: { (): number; (_: number): Tabbed; };
145
+
146
+ labels: { (): string[]; (_: string[]): Tabbed; };
147
+ tabLocation: { (): string; (_: string): Tabbed; };
148
+ widgets: { (): any[]; (_: any[]): Tabbed; };
149
+ }
150
+ Tabbed.prototype._class += " layout_Tabbed";
151
+
152
+ Tabbed.prototype.publish("showTabs", true, "boolean", "Show Tabs", null, {});
153
+ Tabbed.prototype.publish("surfacePadding", 4, "number", "Padding");
154
+ Tabbed.prototype.publish("activeTabIdx", 0, "number", "Index of active tab", null, {});
155
+
156
+ Tabbed.prototype.publish("labels", [], "array", "Array of tab labels sharing an index with ", null, { tags: ["Private"] });
157
+ Tabbed.prototype.publish("tabLocation", "top", "set", "Position the tabs at the bottom of the widget", ["top", "bottom"], { tags: ["Private"] });
158
+ Tabbed.prototype.publish("widgets", [], "widgetArray", "widgets", null, { tags: ["Private"] });
package/src/Toolbar.css CHANGED
@@ -1,32 +1,32 @@
1
- .layout_Toolbar {
2
- height:100%;
3
- background-color:#dddddd;
4
- white-space: nowrap;
5
- overflow: hidden;
6
- }
7
- .layout_Toolbar .toolbar-title {
8
- display: inline-block;
9
- position: relative;
10
- top: 50%;
11
- transform: translateY(-50%);
12
- -ms-transform: translateY(-50%);
13
-
14
- margin-left:4px;
15
- font-weight:bold;
16
- text-overflow: ellipsis;
17
- white-space: nowrap;
18
- overflow: hidden;
19
- }
20
- .layout_Toolbar .toolbar-title span {
21
- }
22
- .layout_Toolbar .toolbar-child {
23
- position: relative;
24
- top: 50%;
25
- transform: translateY(-50%);
26
- -ms-transform: translateY(-50%);
27
-
28
- float:right;
29
- margin-left:4px;
30
- margin-right:4px;
31
- line-height:16px;
32
- }
1
+ .layout_Toolbar {
2
+ height:100%;
3
+ background-color:#dddddd;
4
+ white-space: nowrap;
5
+ overflow: hidden;
6
+ }
7
+ .layout_Toolbar .toolbar-title {
8
+ display: inline-block;
9
+ position: relative;
10
+ top: 50%;
11
+ transform: translateY(-50%);
12
+ -ms-transform: translateY(-50%);
13
+
14
+ margin-left:4px;
15
+ font-weight:bold;
16
+ text-overflow: ellipsis;
17
+ white-space: nowrap;
18
+ overflow: hidden;
19
+ }
20
+ .layout_Toolbar .toolbar-title span {
21
+ }
22
+ .layout_Toolbar .toolbar-child {
23
+ position: relative;
24
+ top: 50%;
25
+ transform: translateY(-50%);
26
+ -ms-transform: translateY(-50%);
27
+
28
+ float:right;
29
+ margin-left:4px;
30
+ margin-right:4px;
31
+ line-height:16px;
32
+ }
package/src/Toolbar.ts CHANGED
@@ -1,102 +1,102 @@
1
- import { HTMLWidget } from "@hpcc-js/common";
2
- import { select as d3Select } from "d3-selection";
3
-
4
- import "../src/Toolbar.css";
5
-
6
- function Toolbar() {
7
- HTMLWidget.call(this);
8
-
9
- this._tag = "div";
10
- }
11
- Toolbar.prototype = Object.create(HTMLWidget.prototype);
12
- Toolbar.prototype.constructor = Toolbar;
13
- Toolbar.prototype._class += " layout_Toolbar";
14
-
15
- Toolbar.prototype.publish("title", "", "string", "Title", null, { tags: ["Intermediate"] });
16
-
17
- Toolbar.prototype.publish("fontSize", null, "number", "Title Font Size (px)", null, { tags: ["Advanced"], optional: true });
18
- Toolbar.prototype.publish("fontColor", null, "html-color", "Title Font Color", null, { tags: ["Advanced"], optional: true });
19
- Toolbar.prototype.publish("fontFamily", null, "string", "Title Font Family", null, { tags: ["Advanced"], optional: true });
20
- Toolbar.prototype.publish("fontBold", true, "boolean", "Enable Bold Title Font", null, { tags: ["Advanced"], optional: true });
21
- Toolbar.prototype.publish("backgroundColor", null, "html-color", "Background Color", null, { tags: ["Intermediate"], optional: true });
22
-
23
- Toolbar.prototype.publish("responsive", true, "boolean", "Adapts to pixel width", null, { tags: ["Basic"] });
24
-
25
- Toolbar.prototype.publish("widgets", [], "widgetArray", "Child widgets of the toolbar", null, { tags: ["Basic"] });
26
- Toolbar.prototype.publish("widgetClasses", [], "array", "Array of Html Element classes to be assigned to the child widgets (shares index with widgets param)", null, { tags: ["Basic"] });
27
-
28
- Toolbar.prototype.enter = function (domNode, element) {
29
- HTMLWidget.prototype.enter.apply(this, arguments);
30
- };
31
-
32
- Toolbar.prototype.update = function (domNode, element) {
33
- HTMLWidget.prototype.update.apply(this, arguments);
34
- const context = this;
35
-
36
- element
37
- .attr("title", context.title())
38
- .style("background-color", this.backgroundColor())
39
- ;
40
-
41
- const title = element.selectAll("div.toolbar-title")
42
- .data(this.title() ? [this.title()] : []);
43
- title.enter().append("div")
44
- .classed("toolbar-title", true)
45
- .append("span")
46
- ;
47
- title.selectAll("div.toolbar-title > span")
48
- .style("font-size", this.fontSize_exists() ? this.fontSize() + "px" : null)
49
- .style("color", this.fontColor_exists() ? this.fontColor() : null)
50
- .style("font-family", this.fontFamily_exists() ? this.fontFamily() : null)
51
- .style("font-weight", this.fontBold_exists() ? (this.fontBold() ? "bold" : "normal") : null)
52
- .style("background-color", this.backgroundColor_exists() ? this.backgroundColor() : null)
53
- .text(context.title())
54
- ;
55
- title.exit().remove();
56
-
57
- const childWidgets = element.selectAll("div.toolbar-child")
58
- .data(this.widgets() !== null ? this.widgets() : [], function (d) { return d.id(); });
59
-
60
- childWidgets.enter().insert("div", "div.toolbar-title")
61
- .each(function (d, i) {
62
- const widgetClass = context.widgetClasses()[i] ? context.widgetClasses()[i] + " toolbar-child" : "toolbar-child";
63
- d3Select(this).classed(widgetClass, true);
64
- d.target(this);
65
- });
66
- childWidgets.exit().each(function (d) {
67
- d.target(null);
68
- }).remove();
69
- childWidgets.order();
70
- };
71
-
72
- Toolbar.prototype.render = function (callback) {
73
- const context = this;
74
- HTMLWidget.prototype.render.call(this, function (w) {
75
- const toolbarBBox = context.element().node().getBoundingClientRect();
76
- let minX = toolbarBBox.left + toolbarBBox.width;
77
- context.element().selectAll("div.toolbar-child")
78
- .each(function (d, i) {
79
- const childBBox = this.getBoundingClientRect();
80
- if (minX > childBBox.left)
81
- minX = childBBox.left;
82
- })
83
- ;
84
- context.element().select(".toolbar-title")
85
- .style("width", (minX - toolbarBBox.left - 4) + "px")
86
- ;
87
- if (callback) {
88
- callback(w);
89
- }
90
- });
91
- };
92
-
93
- Toolbar.prototype.exit = function (domNode, element) {
94
- HTMLWidget.prototype.exit.apply(this, arguments);
95
- this.widgets().forEach(function (w) {
96
- w.target(null);
97
- });
98
- };
99
-
100
- export {
101
- Toolbar
102
- };
1
+ import { HTMLWidget } from "@hpcc-js/common";
2
+ import { select as d3Select } from "d3-selection";
3
+
4
+ import "../src/Toolbar.css";
5
+
6
+ function Toolbar() {
7
+ HTMLWidget.call(this);
8
+
9
+ this._tag = "div";
10
+ }
11
+ Toolbar.prototype = Object.create(HTMLWidget.prototype);
12
+ Toolbar.prototype.constructor = Toolbar;
13
+ Toolbar.prototype._class += " layout_Toolbar";
14
+
15
+ Toolbar.prototype.publish("title", "", "string", "Title", null, { tags: ["Intermediate"] });
16
+
17
+ Toolbar.prototype.publish("fontSize", null, "number", "Title Font Size (px)", null, { tags: ["Advanced"], optional: true });
18
+ Toolbar.prototype.publish("fontColor", null, "html-color", "Title Font Color", null, { tags: ["Advanced"], optional: true });
19
+ Toolbar.prototype.publish("fontFamily", null, "string", "Title Font Family", null, { tags: ["Advanced"], optional: true });
20
+ Toolbar.prototype.publish("fontBold", true, "boolean", "Enable Bold Title Font", null, { tags: ["Advanced"], optional: true });
21
+ Toolbar.prototype.publish("backgroundColor", null, "html-color", "Background Color", null, { tags: ["Intermediate"], optional: true });
22
+
23
+ Toolbar.prototype.publish("responsive", true, "boolean", "Adapts to pixel width", null, { tags: ["Basic"] });
24
+
25
+ Toolbar.prototype.publish("widgets", [], "widgetArray", "Child widgets of the toolbar", null, { tags: ["Basic"] });
26
+ Toolbar.prototype.publish("widgetClasses", [], "array", "Array of Html Element classes to be assigned to the child widgets (shares index with widgets param)", null, { tags: ["Basic"] });
27
+
28
+ Toolbar.prototype.enter = function (domNode, element) {
29
+ HTMLWidget.prototype.enter.apply(this, arguments);
30
+ };
31
+
32
+ Toolbar.prototype.update = function (domNode, element) {
33
+ HTMLWidget.prototype.update.apply(this, arguments);
34
+ const context = this;
35
+
36
+ element
37
+ .attr("title", context.title())
38
+ .style("background-color", this.backgroundColor())
39
+ ;
40
+
41
+ const title = element.selectAll("div.toolbar-title")
42
+ .data(this.title() ? [this.title()] : []);
43
+ title.enter().append("div")
44
+ .classed("toolbar-title", true)
45
+ .append("span")
46
+ ;
47
+ title.selectAll("div.toolbar-title > span")
48
+ .style("font-size", this.fontSize_exists() ? this.fontSize() + "px" : null)
49
+ .style("color", this.fontColor_exists() ? this.fontColor() : null)
50
+ .style("font-family", this.fontFamily_exists() ? this.fontFamily() : null)
51
+ .style("font-weight", this.fontBold_exists() ? (this.fontBold() ? "bold" : "normal") : null)
52
+ .style("background-color", this.backgroundColor_exists() ? this.backgroundColor() : null)
53
+ .text(context.title())
54
+ ;
55
+ title.exit().remove();
56
+
57
+ const childWidgets = element.selectAll("div.toolbar-child")
58
+ .data(this.widgets() !== null ? this.widgets() : [], function (d) { return d.id(); });
59
+
60
+ childWidgets.enter().insert("div", "div.toolbar-title")
61
+ .each(function (d, i) {
62
+ const widgetClass = context.widgetClasses()[i] ? context.widgetClasses()[i] + " toolbar-child" : "toolbar-child";
63
+ d3Select(this).classed(widgetClass, true);
64
+ d.target(this);
65
+ });
66
+ childWidgets.exit().each(function (d) {
67
+ d.target(null);
68
+ }).remove();
69
+ childWidgets.order();
70
+ };
71
+
72
+ Toolbar.prototype.render = function (callback) {
73
+ const context = this;
74
+ HTMLWidget.prototype.render.call(this, function (w) {
75
+ const toolbarBBox = context.element().node().getBoundingClientRect();
76
+ let minX = toolbarBBox.left + toolbarBBox.width;
77
+ context.element().selectAll("div.toolbar-child")
78
+ .each(function (d, i) {
79
+ const childBBox = this.getBoundingClientRect();
80
+ if (minX > childBBox.left)
81
+ minX = childBBox.left;
82
+ })
83
+ ;
84
+ context.element().select(".toolbar-title")
85
+ .style("width", (minX - toolbarBBox.left - 4) + "px")
86
+ ;
87
+ if (callback) {
88
+ callback(w);
89
+ }
90
+ });
91
+ };
92
+
93
+ Toolbar.prototype.exit = function (domNode, element) {
94
+ HTMLWidget.prototype.exit.apply(this, arguments);
95
+ this.widgets().forEach(function (w) {
96
+ w.target(null);
97
+ });
98
+ };
99
+
100
+ export {
101
+ Toolbar
102
+ };
@@ -1,15 +1,15 @@
1
- import { FlexGrid } from "./FlexGrid";
2
-
3
- export class VerticalList extends FlexGrid {
4
- constructor() {
5
- super();
6
- this.orientation_default("vertical");
7
- this.flexWrap_default("nowrap");
8
- }
9
- }
10
- VerticalList.prototype._class += " layout_VerticalList";
11
-
12
- export interface VerticalList {
13
- orientation_default(_: "horizontal" | "vertical");
14
- flexWrap_default(_: "nowrap" | "wrap" | "wrap-reverse");
15
- }
1
+ import { FlexGrid } from "./FlexGrid";
2
+
3
+ export class VerticalList extends FlexGrid {
4
+ constructor() {
5
+ super();
6
+ this.orientation_default("vertical");
7
+ this.flexWrap_default("nowrap");
8
+ }
9
+ }
10
+ VerticalList.prototype._class += " layout_VerticalList";
11
+
12
+ export interface VerticalList {
13
+ orientation_default(_: "horizontal" | "vertical");
14
+ flexWrap_default(_: "nowrap" | "wrap" | "wrap-reverse");
15
+ }
@@ -1,3 +1,3 @@
1
- export const PKG_NAME = "@hpcc-js/layout";
2
- export const PKG_VERSION = "2.51.2";
3
- export const BUILD_VERSION = "2.108.6";
1
+ export const PKG_NAME = "@hpcc-js/layout";
2
+ export const PKG_VERSION = "2.51.5";
3
+ export const BUILD_VERSION = "2.108.9";