@devtable/dashboard 7.11.1 → 7.13.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.
@@ -1,9 +1,12 @@
1
1
  import { CSSProperties } from 'react';
2
2
  import { Node } from 'reactflow';
3
+ import { EViewComponentType } from '~/types';
3
4
  export declare type TFlowNode_View = Node & {
4
5
  _node_type: 'view-root';
6
+ _view_type: EViewComponentType;
5
7
  _view_level: number;
6
8
  _sub_view_ids: string[];
9
+ _tab_view_ids: string[];
7
10
  style: CSSProperties;
8
11
  };
9
12
  export declare type TFlowNode_Default = Node & {
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ export declare const ViewTabsConfigFields: (() => JSX.Element | null) & {
3
+ displayName: string;
4
+ };
@@ -27,6 +27,28 @@ export declare const ViewModel: import("mobx-state-tree").IModelType<{
27
27
  func_content: string;
28
28
  }): void;
29
29
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>, [undefined]>;
30
+ }>> | import("mobx-state-tree").ModelCreationType<import("mobx-state-tree/dist/internal").ExtractCFromProps<{
31
+ _name: import("mobx-state-tree").ISimpleType<EViewComponentType.Modal>;
32
+ tabs: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
33
+ id: import("mobx-state-tree").ISimpleType<string>;
34
+ name: import("mobx-state-tree").ISimpleType<string>;
35
+ view_id: import("mobx-state-tree").ISimpleType<string>;
36
+ color: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
37
+ }, {
38
+ readonly json: {
39
+ id: string;
40
+ name: string;
41
+ view_id: string;
42
+ color: string;
43
+ };
44
+ } & {
45
+ setName(v: string): void;
46
+ setViewID(v: string): void;
47
+ setColor(v: string): void;
48
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>, [undefined]>;
49
+ variant: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<import("@mantine/core").TabsVariant>, [undefined]>;
50
+ orientation: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<import("@mantine/core").TabsOrientation>, [undefined]>;
51
+ grow: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
30
52
  }>>, import("mobx-state-tree").ModelSnapshotType<{
31
53
  _name: import("mobx-state-tree").ISimpleType<EViewComponentType.Division>;
32
54
  }> | import("mobx-state-tree").ModelSnapshotType<{
@@ -50,6 +72,28 @@ export declare const ViewModel: import("mobx-state-tree").IModelType<{
50
72
  func_content: string;
51
73
  }): void;
52
74
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>, [undefined]>;
75
+ }> | import("mobx-state-tree").ModelSnapshotType<{
76
+ _name: import("mobx-state-tree").ISimpleType<EViewComponentType.Modal>;
77
+ tabs: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
78
+ id: import("mobx-state-tree").ISimpleType<string>;
79
+ name: import("mobx-state-tree").ISimpleType<string>;
80
+ view_id: import("mobx-state-tree").ISimpleType<string>;
81
+ color: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
82
+ }, {
83
+ readonly json: {
84
+ id: string;
85
+ name: string;
86
+ view_id: string;
87
+ color: string;
88
+ };
89
+ } & {
90
+ setName(v: string): void;
91
+ setViewID(v: string): void;
92
+ setColor(v: string): void;
93
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>, [undefined]>;
94
+ variant: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<import("@mantine/core").TabsVariant>, [undefined]>;
95
+ orientation: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<import("@mantine/core").TabsOrientation>, [undefined]>;
96
+ grow: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
53
97
  }>, import("mobx-state-tree").ModelInstanceType<{
54
98
  _name: import("mobx-state-tree").ISimpleType<EViewComponentType.Division>;
55
99
  }, {
@@ -90,6 +134,53 @@ export declare const ViewModel: import("mobx-state-tree").IModelType<{
90
134
  } & {
91
135
  setWidth(v: string): void;
92
136
  setHeight(v: string): void;
137
+ }> | import("mobx-state-tree").ModelInstanceType<{
138
+ _name: import("mobx-state-tree").ISimpleType<EViewComponentType.Modal>;
139
+ tabs: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
140
+ id: import("mobx-state-tree").ISimpleType<string>;
141
+ name: import("mobx-state-tree").ISimpleType<string>;
142
+ view_id: import("mobx-state-tree").ISimpleType<string>;
143
+ color: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
144
+ }, {
145
+ readonly json: {
146
+ id: string;
147
+ name: string;
148
+ view_id: string;
149
+ color: string;
150
+ };
151
+ } & {
152
+ setName(v: string): void;
153
+ setViewID(v: string): void;
154
+ setColor(v: string): void;
155
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>, [undefined]>;
156
+ variant: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<import("@mantine/core").TabsVariant>, [undefined]>;
157
+ orientation: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<import("@mantine/core").TabsOrientation>, [undefined]>;
158
+ grow: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
159
+ }, {
160
+ readonly json: {
161
+ _name: EViewComponentType.Modal;
162
+ variant: import("@mantine/core").TabsVariant;
163
+ orientation: import("@mantine/core").TabsOrientation;
164
+ grow: boolean;
165
+ tabs: {
166
+ id: string;
167
+ name: string;
168
+ view_id: string;
169
+ color: string;
170
+ }[];
171
+ };
172
+ } & {
173
+ setVariant(v: import("@mantine/core").TabsVariant): void;
174
+ setOrientation(v: import("@mantine/core").TabsOrientation): void;
175
+ setGrow(v: boolean): void;
176
+ setTabs(v: import("mobx-state-tree").ModelCreationType<import("mobx-state-tree/dist/internal").ExtractCFromProps<{
177
+ id: import("mobx-state-tree").ISimpleType<string>;
178
+ name: import("mobx-state-tree").ISimpleType<string>;
179
+ view_id: import("mobx-state-tree").ISimpleType<string>;
180
+ color: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
181
+ }>>[]): void;
182
+ addTab(): void;
183
+ removeTab(index: number): void;
93
184
  }>>;
94
185
  panels: import("mobx-state-tree").IModelType<{
95
186
  list: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
@@ -8418,6 +8509,17 @@ export declare const ViewModel: import("mobx-state-tree").IModelType<{
8418
8509
  enabled: boolean;
8419
8510
  func_content: string;
8420
8511
  };
8512
+ } | {
8513
+ _name: EViewComponentType.Modal;
8514
+ variant: import("@mantine/core").TabsVariant;
8515
+ orientation: import("@mantine/core").TabsOrientation;
8516
+ grow: boolean;
8517
+ tabs: {
8518
+ id: string;
8519
+ name: string;
8520
+ view_id: string;
8521
+ color: string;
8522
+ }[];
8421
8523
  };
8422
8524
  panels: {
8423
8525
  id: string;
@@ -0,0 +1,170 @@
1
+ import { TabsOrientation, TabsVariant } from '@mantine/core';
2
+ import { Instance, SnapshotIn } from 'mobx-state-tree';
3
+ import { EViewComponentType } from '~/types';
4
+ declare const TabModel: import("mobx-state-tree").IModelType<{
5
+ id: import("mobx-state-tree").ISimpleType<string>;
6
+ name: import("mobx-state-tree").ISimpleType<string>;
7
+ view_id: import("mobx-state-tree").ISimpleType<string>;
8
+ color: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
9
+ }, {
10
+ readonly json: {
11
+ id: string;
12
+ name: string;
13
+ view_id: string;
14
+ color: string;
15
+ };
16
+ } & {
17
+ setName(v: string): void;
18
+ setViewID(v: string): void;
19
+ setColor(v: string): void;
20
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
21
+ declare type TabModelInstance = Instance<typeof TabModel>;
22
+ export declare type ViewConfigModel_Tabs_Tab_Instance = TabModelInstance;
23
+ declare type TabModelSnapshotIn = SnapshotIn<TabModelInstance>;
24
+ export declare const ViewConfigModel_Tabs: import("mobx-state-tree").IModelType<{
25
+ _name: import("mobx-state-tree").ISimpleType<EViewComponentType.Modal>;
26
+ tabs: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
27
+ id: import("mobx-state-tree").ISimpleType<string>;
28
+ name: import("mobx-state-tree").ISimpleType<string>;
29
+ view_id: import("mobx-state-tree").ISimpleType<string>;
30
+ color: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
31
+ }, {
32
+ readonly json: {
33
+ id: string;
34
+ name: string;
35
+ view_id: string;
36
+ color: string;
37
+ };
38
+ } & {
39
+ setName(v: string): void;
40
+ setViewID(v: string): void;
41
+ setColor(v: string): void;
42
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>, [undefined]>;
43
+ variant: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<TabsVariant>, [undefined]>;
44
+ orientation: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<TabsOrientation>, [undefined]>;
45
+ grow: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
46
+ }, {
47
+ readonly json: {
48
+ _name: EViewComponentType.Modal;
49
+ variant: TabsVariant;
50
+ orientation: TabsOrientation;
51
+ grow: boolean;
52
+ tabs: {
53
+ id: string;
54
+ name: string;
55
+ view_id: string;
56
+ color: string;
57
+ }[];
58
+ };
59
+ } & {
60
+ setVariant(v: TabsVariant): void;
61
+ setOrientation(v: TabsOrientation): void;
62
+ setGrow(v: boolean): void;
63
+ setTabs(v: TabModelSnapshotIn[]): void;
64
+ addTab(): void;
65
+ removeTab(index: number): void;
66
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
67
+ export declare type IViewConfigModel_Tabs = Instance<typeof ViewConfigModel_Tabs>;
68
+ export declare type IViewConfigModel_TabsIn = SnapshotIn<IViewConfigModel_Tabs>;
69
+ export declare const createViewConfig_Tabs: () => {
70
+ _name: EViewComponentType.Modal;
71
+ tabs: import("mobx-state-tree").IMSTArray<import("mobx-state-tree").IModelType<{
72
+ id: import("mobx-state-tree").ISimpleType<string>;
73
+ name: import("mobx-state-tree").ISimpleType<string>;
74
+ view_id: import("mobx-state-tree").ISimpleType<string>;
75
+ color: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
76
+ }, {
77
+ readonly json: {
78
+ id: string;
79
+ name: string;
80
+ view_id: string;
81
+ color: string;
82
+ };
83
+ } & {
84
+ setName(v: string): void;
85
+ setViewID(v: string): void;
86
+ setColor(v: string): void;
87
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>> & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
88
+ id: import("mobx-state-tree").ISimpleType<string>;
89
+ name: import("mobx-state-tree").ISimpleType<string>;
90
+ view_id: import("mobx-state-tree").ISimpleType<string>;
91
+ color: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
92
+ }, {
93
+ readonly json: {
94
+ id: string;
95
+ name: string;
96
+ view_id: string;
97
+ color: string;
98
+ };
99
+ } & {
100
+ setName(v: string): void;
101
+ setViewID(v: string): void;
102
+ setColor(v: string): void;
103
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>, [undefined]>>;
104
+ variant: TabsVariant;
105
+ orientation: TabsOrientation;
106
+ grow: boolean;
107
+ } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
108
+ readonly json: {
109
+ _name: EViewComponentType.Modal;
110
+ variant: TabsVariant;
111
+ orientation: TabsOrientation;
112
+ grow: boolean;
113
+ tabs: {
114
+ id: string;
115
+ name: string;
116
+ view_id: string;
117
+ color: string;
118
+ }[];
119
+ };
120
+ } & {
121
+ setVariant(v: TabsVariant): void;
122
+ setOrientation(v: TabsOrientation): void;
123
+ setGrow(v: boolean): void;
124
+ setTabs(v: TabModelSnapshotIn[]): void;
125
+ addTab(): void;
126
+ removeTab(index: number): void;
127
+ } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
128
+ _name: import("mobx-state-tree").ISimpleType<EViewComponentType.Modal>;
129
+ tabs: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
130
+ id: import("mobx-state-tree").ISimpleType<string>;
131
+ name: import("mobx-state-tree").ISimpleType<string>;
132
+ view_id: import("mobx-state-tree").ISimpleType<string>;
133
+ color: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
134
+ }, {
135
+ readonly json: {
136
+ id: string;
137
+ name: string;
138
+ view_id: string;
139
+ color: string;
140
+ };
141
+ } & {
142
+ setName(v: string): void;
143
+ setViewID(v: string): void;
144
+ setColor(v: string): void;
145
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>, [undefined]>;
146
+ variant: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<TabsVariant>, [undefined]>;
147
+ orientation: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<TabsOrientation>, [undefined]>;
148
+ grow: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
149
+ }, {
150
+ readonly json: {
151
+ _name: EViewComponentType.Modal;
152
+ variant: TabsVariant;
153
+ orientation: TabsOrientation;
154
+ grow: boolean;
155
+ tabs: {
156
+ id: string;
157
+ name: string;
158
+ view_id: string;
159
+ color: string;
160
+ }[];
161
+ };
162
+ } & {
163
+ setVariant(v: TabsVariant): void;
164
+ setOrientation(v: TabsOrientation): void;
165
+ setGrow(v: boolean): void;
166
+ setTabs(v: TabModelSnapshotIn[]): void;
167
+ addTab(): void;
168
+ removeTab(index: number): void;
169
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
170
+ export {};
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- .react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectable{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:rgba(255,255,255,.5);padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:rgba(0,89,220,.08);border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__minimap{background-color:#fff}.react-flow__node-interaction{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.filter-settings-tabs{width:100%;height:100%}.filter-settings-tabs .mantine-Tabs-panel{height:calc(100% - 25px)}.filter-settings-tabs .mantine-Tabs-tabsListWrapper{flex:0}.filter-settings-tabs .mantine-Tabs-body{flex:1;overflow:scroll}.panel-root{height:100%;width:100%;max-width:100%;background:transparent;border-radius:4px;position:relative}.panel-settings-tabs{width:100%;height:100%}.panel-settings-tabs .mantine-Tabs-panel{height:calc(100% - 25px)}.panel-settings-tabs .mantine-Tabs-tabsListWrapper{flex:0}.panel-settings-tabs .mantine-Tabs-body{flex:1;overflow:scroll}.viz-root{width:100%;overflow:scroll;flex-grow:1;background-color:#fff}.panel-dropdown-target{text-align:center;transition:background-color .3s ease}.panel-dropdown-target:hover{cursor:pointer;background-color:#6464640d}.react-grid-item{padding:0}.remove-panel{position:absolute;right:2px;top:0;cursor:pointer}.code-textarea textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.dashboard-root{overflow:scroll;overflow-x:hidden;padding:0;height:100%}.dashboard-view{position:relative;height:100%;overflow-y:scroll;overflow-x:hidden;-ms-overflow-style:initial!important}.dashboard-sticky-area{z-index:100;background:white;margin:0;padding:0 10px}.mantine-RichTextEditor-root{overflow-y:scroll!important;-ms-overflow-style:initial!important}*:not(.mantine-RichTextEditor-root):not(.dashboard-view):not(.mantine-Modal-body):not([data-enable-scrollbar])::-webkit-scrollbar{width:0!important;height:0!important}*:not([data-enable-scrollbar]){overflow:-moz-scrollbars-none;-ms-overflow-style:none}.minimal-monaco-editor{border-radius:4px;overflow:hidden;background-color:#1e1e1e;padding-top:14px}
1
+ .react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectable{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:rgba(255,255,255,.5);padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:rgba(0,89,220,.08);border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__minimap{background-color:#fff}.react-flow__node-interaction{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.filter-settings-tabs{width:100%;height:100%}.filter-settings-tabs .mantine-Tabs-panel{height:calc(100% - 25px)}.filter-settings-tabs .mantine-Tabs-tabsListWrapper{flex:0}.filter-settings-tabs .mantine-Tabs-body{flex:1;overflow:auto}.panel-root{height:100%;width:100%;max-width:100%;background:transparent;border-radius:4px;position:relative}.panel-settings-tabs{width:100%;height:100%}.panel-settings-tabs .mantine-Tabs-panel{height:calc(100% - 25px)}.panel-settings-tabs .mantine-Tabs-tabsListWrapper{flex:0}.panel-settings-tabs .mantine-Tabs-body{flex:1;overflow:auto}.viz-root{width:100%;overflow:auto;flex-grow:1;background-color:#fff}.panel-dropdown-target{text-align:center;transition:background-color .3s ease}.panel-dropdown-target:hover{cursor:pointer;background-color:#6464640d}.react-grid-item{padding:0}.remove-panel{position:absolute;right:2px;top:0;cursor:pointer}.code-textarea textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.dashboard-root{overflow:auto;overflow-x:hidden;padding:0;height:100%}.dashboard-view{position:relative;height:100%;overflow-y:auto;overflow-x:hidden;-ms-overflow-style:initial!important}.dashboard-sticky-area{z-index:100;background:white;margin:0;padding:0 10px}.mantine-RichTextEditor-root{overflow-y:auto!important;-ms-overflow-style:initial!important}.dashboard-root *:not(.mantine-RichTextEditor-root):not(.dashboard-view):not(.mantine-Modal-body):not([data-enable-scrollbar])::-webkit-scrollbar{width:0!important;height:0!important}.dashboard-root *:not([data-enable-scrollbar]){overflow:-moz-scrollbars-none;-ms-overflow-style:none}.minimal-monaco-editor{border-radius:4px;overflow:hidden;background-color:#1e1e1e;padding-top:14px}
@@ -40,7 +40,8 @@ export interface IDashboardDefinition {
40
40
  }
41
41
  export declare enum EViewComponentType {
42
42
  Division = "div",
43
- Modal = "modal"
43
+ Modal = "modal",
44
+ Tabs = "tabs"
44
45
  }
45
46
  export interface IDashboardView {
46
47
  id: string;
@@ -3,8 +3,6 @@ import { ViewModelInstance } from '..';
3
3
  interface IMainDashboardView {
4
4
  view: ViewModelInstance;
5
5
  saveDashboardChanges: () => void;
6
- fullScreenPanelID: string;
7
- setFullScreenPanelID: (v: string) => void;
8
6
  }
9
7
  export declare const MainDashboardView: import("react").FunctionComponent<IMainDashboardView>;
10
8
  export {};
@@ -2,8 +2,6 @@
2
2
  import { ViewModelInstance } from '..';
3
3
  interface IReadOnlyDashboardView {
4
4
  view: ViewModelInstance;
5
- fullScreenPanelID: string;
6
- setFullScreenPanelID: (v: string) => void;
7
5
  }
8
6
  export declare const ReadOnlyDashboardView: import("react").FunctionComponent<IReadOnlyDashboardView>;
9
7
  export {};
@@ -0,0 +1,8 @@
1
+ import { ReactNode } from 'react';
2
+ import { ViewModelInstance } from '~/model';
3
+ export declare const PreviewViewTabs: (({ children, view }: {
4
+ children: ReactNode;
5
+ view: ViewModelInstance;
6
+ }) => JSX.Element) & {
7
+ displayName: string;
8
+ };
@@ -0,0 +1,8 @@
1
+ import { ReactNode } from 'react';
2
+ import { ViewModelInstance } from '~/model';
3
+ export declare const RenderViewTabs: (({ children, view }: {
4
+ children: ReactNode;
5
+ view: ViewModelInstance;
6
+ }) => JSX.Element) & {
7
+ displayName: string;
8
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devtable/dashboard",
3
- "version": "7.11.1",
3
+ "version": "7.13.0",
4
4
  "license": "Apache-2.0",
5
5
  "publishConfig": {
6
6
  "access": "public",