@vitrosoftware/common-ui-ts 1.0.9 → 1.1.11

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 (31) hide show
  1. package/css/white/common.css +0 -1
  2. package/css/white/controls/action-handler/action-handler.css +9 -0
  3. package/css/white/controls/control-group/control-group.css +27 -0
  4. package/css/white/controls/tab-group/tab-group.css +110 -0
  5. package/css/white/controls/table-view/table-view-custom-date-edit.css +6 -0
  6. package/css/white/controls/table-view/table-view.css +4 -1
  7. package/css/white/controls/view/view.css +3 -0
  8. package/css/white/controls/view-part/view-part.css +3 -0
  9. package/css/white/third-party/treegrid.css +7 -1
  10. package/dist/controls/ActionHandler/ActionHandler.d.ts +4 -3
  11. package/dist/controls/ControlGroup/ControlGroup.d.ts +7 -0
  12. package/dist/controls/TabGroup/OverflowButton.d.ts +8 -0
  13. package/dist/controls/TabGroup/Tab.d.ts +10 -0
  14. package/dist/controls/TabGroup/TabGroup.d.ts +9 -0
  15. package/dist/controls/TabGroup/TabGroupComponent.d.ts +8 -0
  16. package/dist/controls/TabGroup/TabGroupConstants.d.ts +4 -0
  17. package/dist/controls/TabGroup/TabGroupHeader.d.ts +10 -0
  18. package/dist/controls/TabGroup/TabItem.d.ts +13 -0
  19. package/dist/controls/TableView/TableViewContext.d.ts +13 -1
  20. package/dist/controls/TableView/TreeGridTableViewContextImpl.d.ts +12 -0
  21. package/dist/controls/TreeView/JsTreeViewContextImpl.d.ts +1 -1
  22. package/dist/controls/TreeView/TreeViewContext.d.ts +1 -1
  23. package/dist/controls/View/View.d.ts +7 -0
  24. package/dist/controls/ViewPart/ViewPart.d.ts +8 -0
  25. package/dist/index.css +160 -2
  26. package/dist/index.d.ts +7 -0
  27. package/dist/index.js +909 -220
  28. package/dist/index.js.map +1 -1
  29. package/dist/index.modern.js +913 -227
  30. package/dist/index.modern.js.map +1 -1
  31. package/package.json +1 -1
@@ -1,7 +1,6 @@
1
1
  @import url('@vitrosoftware/common-ui-ts/css/white/third-party/kendo.css');
2
2
  @import url('@vitrosoftware/common-ui-ts/css/white/third-party/treegrid.css');
3
3
  @import url('@vitrosoftware/common-ui-ts/css/white/third-party/jstree/style.min.css');
4
- @import url('@vitrosoftware/common-ui-ts/css/white/controls/table-view/table-view-custom-lookup-edit.css');
5
4
 
6
5
  :global(.vitro-opacity-low) {
7
6
  opacity: .3;
@@ -71,3 +71,12 @@
71
71
  :global(.bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before), :global(.bs-popover-bottom > .popover-arrow::before) {
72
72
  border-bottom-color: red;
73
73
  }
74
+
75
+ .vitro-interface-blur {
76
+ position: absolute;
77
+ z-index: 100000;
78
+ height: 100vh;
79
+ width: 100vw;
80
+ top: 0;
81
+ left: 0;
82
+ }
@@ -0,0 +1,27 @@
1
+ .vitro-control {
2
+ padding: 6px 0;
3
+ width: 100%;
4
+ position: relative;
5
+ }
6
+
7
+ .vitro-control :global(.vitro-control-container) {
8
+ position: relative;
9
+ }
10
+
11
+ .vitro-control-row {
12
+ display: flex;
13
+ align-items: baseline;
14
+ }
15
+
16
+ .vitro-control-row > span {
17
+ display: block;
18
+ margin: 0 5px;
19
+ }
20
+
21
+ .vitro-control-row .vitro-label {
22
+ width: 136px;
23
+ }
24
+
25
+ .vitro-control-row > div:not(:has(div, input)) {
26
+ width: 136px;
27
+ }
@@ -0,0 +1,110 @@
1
+ .vitro-tab {
2
+ height: 100%;
3
+ display: flex;
4
+ flex-direction: column;
5
+ }
6
+
7
+ .vitro-tab :global(.nav) {
8
+ align-items: center;
9
+ justify-content: center;
10
+ }
11
+
12
+ .vitro-tab > :global(.vitro-content) {
13
+ position: relative;
14
+ }
15
+
16
+ .vitro-tab :global(.vitro-content) {
17
+ padding-top: 18px;
18
+ }
19
+
20
+ .vitro-tab:has(:global(.vitro-task-detail)) :global(.vitro-content) {
21
+ padding-top: 0;
22
+ }
23
+
24
+ :global(.ps) .vitro-tab :global(.vitro-content) {
25
+ position: relative;
26
+ flex: 1 1;
27
+ display: flex;
28
+ flex-direction: column;
29
+ width: 100%;
30
+ overflow-y: auto;
31
+ }
32
+
33
+ :global(.ps) .vitro-tab :global(.vitro-content)::-webkit-scrollbar {
34
+ width: 8px;
35
+ height: 8px;
36
+ }
37
+
38
+ :global(.ps) .vitro-tab :global(.vitro-content)::-webkit-scrollbar-track {
39
+ background: #fff;
40
+ border-radius: 12px;
41
+ }
42
+
43
+ :global(.ps) .vitro-tab :global(.vitro-content)::-webkit-scrollbar-thumb {
44
+ background: #e0e0e0;
45
+ border-radius: 4px;
46
+ }
47
+
48
+ :global(.ps) .vitro-tab :global(.vitro-content)::-webkit-scrollbar-thumb:hover {
49
+ background: #BDBDBD;
50
+ }
51
+
52
+ .vitro-tab :global(.vitro-time-log-history) object + :global(.vitro-control), .vitro-tab :global(.vitro-time-log-history) object + div {
53
+ padding-top: 0;
54
+ }
55
+
56
+ .vitro-tab > div:not([class]) > div > div:first-child {
57
+ padding-top: 0;
58
+ }
59
+
60
+ .vitro-tab :global(.nav) > div.vitro-item:not(:first-child) {
61
+ border: none;
62
+ }
63
+
64
+ .vitro-tab :global(.nav) > div.vitro-item {
65
+ flex-grow: 1;
66
+ text-align: center;
67
+ }
68
+
69
+ .vitro-tab :global(.nav) > div :global(.nav-link) {
70
+ padding: 0;
71
+ }
72
+
73
+ .vitro-tab :global(.nav) > div :global(.nav-item) a {
74
+ border-bottom: 1px solid #e0e0e0;
75
+ font-family: GraphikMedium;
76
+ font-size: 12pt;
77
+ padding-bottom: 16px;
78
+ line-height: normal;
79
+ }
80
+
81
+ .vitro-tab :global(.nav) > div :global(.nav-item) a:hover {
82
+ color: #0097ff;
83
+ }
84
+
85
+ .vitro-tab :global(.nav) > div :global(.nav-item) a span {
86
+ padding-top: 3px;
87
+ display: inline-flex;
88
+ align-items: center;
89
+ }
90
+
91
+ .vitro-tab :global(.nav) > div .active span {
92
+ font-weight: 500;
93
+ }
94
+
95
+ .vitro-tab :global(.nav) > div :global(.nav-item) a span i {
96
+ margin: 0 4px;
97
+ font-size: 18px;
98
+ }
99
+
100
+ .vitro-tab :global(.nav) > .vitro-dropdown-button {
101
+ padding-bottom: 8px;
102
+ margin-right: -2px;
103
+ width: 15px;
104
+ border-bottom: 1px solid #e0e0e0;
105
+ }
106
+
107
+ .vitro-tab :global(.nav) > div :global(.nav-item).active a {
108
+ color: #0097ff !important;
109
+ border-bottom: 3px solid #0097ff;
110
+ }
@@ -0,0 +1,6 @@
1
+ .table-view-custom-date-edit {
2
+ width: 512px;
3
+ position: absolute;
4
+ top: 57px;
5
+ z-index: 10000;
6
+ }
@@ -1,3 +1,6 @@
1
+ @import url('@vitrosoftware/common-ui-ts/css/white/controls/table-view/table-view-custom-lookup-edit.css');
2
+ @import url('@vitrosoftware/common-ui-ts/css/white/controls/table-view/table-view-custom-date-edit.css');
3
+
1
4
  :global(#TableView) {
2
5
  border-radius: 8px;
3
6
  padding: 6px;
@@ -54,4 +57,4 @@
54
57
  :global(.vitro-tableview-progress-message.vitro-table-view-export-message) {
55
58
  background-color: #fff;
56
59
  border: 1px solid #ff5b2d !important;
57
- }
60
+ }
@@ -0,0 +1,3 @@
1
+ .vitro-view{
2
+
3
+ }
@@ -0,0 +1,3 @@
1
+ .vitro-view-part {
2
+
3
+ }
@@ -43,7 +43,13 @@
43
43
  }
44
44
 
45
45
  .TWDataRow td {
46
- padding: 1px 3px 0px 3px !important;
46
+ padding-top: 1px !important;
47
+ padding-right: 3px !important;
48
+ padding-bottom: 0px !important;
49
+ }
50
+
51
+ .TWLow .TWIconLeft {
52
+ padding-left: 24px !important;
47
53
  }
48
54
 
49
55
  .TWFillRow {
@@ -4,8 +4,8 @@ interface ActionHandlerProps {
4
4
  processItem: (item: any) => any;
5
5
  item?: any;
6
6
  itemList: any[];
7
- showAfterAction?: boolean;
8
- showProgress?: boolean;
7
+ isShowAfterAction?: boolean;
8
+ isShowProgress?: boolean;
9
9
  onAfterAction?: (error: any, successResult: any, failResult: any) => void;
10
10
  onBeforeAction?: () => void;
11
11
  onAfterActionClose?: (error: any, successResult: any, failResult: any) => void;
@@ -20,7 +20,8 @@ interface ActionHandlerProps {
20
20
  labelNo?: string;
21
21
  children?: React.ReactNode;
22
22
  durationMs?: number;
23
- show?: boolean;
23
+ isShow?: boolean;
24
+ isBlockInterface?: boolean;
24
25
  }
25
26
  export declare let ActionHandler: React.FunctionComponent<ActionHandlerProps>;
26
27
  export {};
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ export interface ControlGroupProps {
3
+ horizontal?: boolean;
4
+ as?: string;
5
+ children: React.ReactNode;
6
+ }
7
+ export declare const ControlGroup: (props: ControlGroupProps) => JSX.Element;
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { TabItem } from './TabItem';
3
+ export interface OverflowButtonProps {
4
+ list: TabItem[];
5
+ offset: number;
6
+ onSelect: (offset: number) => void;
7
+ }
8
+ export declare const OverflowButton: (props: OverflowButtonProps) => JSX.Element | null;
@@ -0,0 +1,10 @@
1
+ /// <reference types="react" />
2
+ export interface TabProps {
3
+ index: number;
4
+ active: boolean;
5
+ onClick: (index: number) => void;
6
+ eventKey?: string;
7
+ icon?: string;
8
+ title: string;
9
+ }
10
+ export declare const Tab: (props: TabProps) => JSX.Element;
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ import { TabItem } from './TabItem';
3
+ export interface TabGroupProps {
4
+ wrap?: boolean;
5
+ placeholder?: string;
6
+ onChange?: (index: number) => void;
7
+ itemList: TabItem[];
8
+ }
9
+ export declare const TabGroup: (props: TabGroupProps) => JSX.Element;
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { TabItem } from './TabItem';
3
+ export interface TabGroupComponentProps {
4
+ onChange?: (index: number) => void;
5
+ wrap?: boolean;
6
+ itemList: TabItem[];
7
+ }
8
+ export declare const TabGroupComponent: (props: TabGroupComponentProps) => JSX.Element;
@@ -0,0 +1,4 @@
1
+ export declare const tabScriptList: {
2
+ url: string;
3
+ id: string;
4
+ }[];
@@ -0,0 +1,10 @@
1
+ /// <reference types="react" />
2
+ import { TabItem } from './TabItem';
3
+ export interface TabGroupHeaderProps {
4
+ width: number;
5
+ itemList: TabItem[];
6
+ wrap?: boolean;
7
+ currentTab: number;
8
+ changeTab: (index: number) => void;
9
+ }
10
+ export declare let TabGroupHeader: (props: TabGroupHeaderProps) => JSX.Element;
@@ -0,0 +1,13 @@
1
+ /// <reference types="react" />
2
+ export interface TabItem {
3
+ text: string;
4
+ content: {
5
+ component: React.FunctionComponent<any>;
6
+ props: {
7
+ [key: string]: any;
8
+ };
9
+ };
10
+ eventKey?: string;
11
+ icon?: string;
12
+ title?: string;
13
+ }
@@ -49,11 +49,23 @@ export interface TableViewContext {
49
49
  getFirst(row?: TableViewRow, type?: number): TableViewRow;
50
50
  endEdit(editResult: boolean): any;
51
51
  expandRow(row: TableViewRow): void;
52
- getCell(row: TableViewRow, col: TableViewCol | string): void;
52
+ getCell(row: TableViewRow, col: TableViewCol | string): any;
53
53
  getFRow(): TableViewRow;
54
54
  getFCol(): TableViewCol;
55
55
  startEdit(): void;
56
56
  export(): void;
57
57
  print(): void;
58
58
  isVisibleGantt(): boolean;
59
+ setAttribute(row: TableViewRow, col: string, attribute: string, value: any, refresh: boolean, undo?: boolean): void;
60
+ getRows(): {
61
+ [key: string]: TableViewRow;
62
+ };
63
+ getMainTag(): any;
64
+ focusCell(row: TableViewRow, col: string): void;
65
+ getType(row: TableViewRow, col: string): string;
66
+ setStringEdit(row: TableViewRow, col: string, value: string, timeout?: boolean): void;
67
+ getValue(row: TableViewRow, col: string): any;
68
+ getFocusedCols(): any[];
69
+ getFocusedRows(): any[];
70
+ getFilter(spec: boolean): any[];
59
71
  }
@@ -64,4 +64,16 @@ export declare class TreeGridTableViewContextImpl implements TableViewContext {
64
64
  export(): void;
65
65
  print(): void;
66
66
  isVisibleGantt(): boolean;
67
+ setAttribute(row: TableViewRow, col: string, attribute: string, value: any, refresh: boolean, undo?: boolean): void;
68
+ getRows(): {
69
+ [key: string]: TableViewRow;
70
+ };
71
+ getMainTag(): any;
72
+ focusCell(row: TableViewRow, col: string): void;
73
+ getType(row: TableViewRow, col: string): string;
74
+ setStringEdit(row: TableViewRow, col: string, value: string, timeout?: boolean): void;
75
+ getValue(row: TableViewRow, col: string): any;
76
+ getFocusedCols(): any[];
77
+ getFocusedRows(): any[];
78
+ getFilter(spec: boolean): any[];
67
79
  }
@@ -22,7 +22,7 @@ export declare class JsTreeViewContextImpl implements TreeViewContext {
22
22
  refresh(): void;
23
23
  deleteNode(node: any): void;
24
24
  selectNode(node: any): void;
25
- openNode(node: any): void;
25
+ openNode(node: any, callback?: any, durationMs?: number): void;
26
26
  editNode(): void;
27
27
  getParent(node: any): any;
28
28
  }
@@ -14,7 +14,7 @@ export interface TreeViewContext {
14
14
  getNode(nodeId: string): any;
15
15
  deleteNode(node: any): void;
16
16
  selectNode(node: any): void;
17
- openNode(node: any): void;
17
+ openNode(node: any, callback?: any, durationMs?: number): void;
18
18
  editNode(): void;
19
19
  createNewNode(parent: any, node: any): void;
20
20
  redrawNode(node: any, deep?: boolean): void;
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ interface ViewProps {
3
+ item: any;
4
+ tabList?: Array<any>;
5
+ }
6
+ export declare const View: (props: ViewProps) => JSX.Element;
7
+ export {};
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ interface ViewPartProps {
3
+ component: any;
4
+ settings: any;
5
+ props: any;
6
+ }
7
+ export declare let ViewPart: (props: ViewPartProps) => JSX.Element;
8
+ export {};
package/dist/index.css CHANGED
@@ -1,7 +1,6 @@
1
1
  @import url('@vitrosoftware/common-ui-ts/css/white/third-party/kendo.css');
2
2
  @import url('@vitrosoftware/common-ui-ts/css/white/third-party/treegrid.css');
3
3
  @import url('@vitrosoftware/common-ui-ts/css/white/third-party/jstree/style.min.css');
4
- @import url('@vitrosoftware/common-ui-ts/css/white/controls/table-view/table-view-custom-lookup-edit.css');
5
4
 
6
5
  .vitro-opacity-low {
7
6
  opacity: .3;
@@ -455,6 +454,9 @@
455
454
  }
456
455
  }
457
456
 
457
+ @import url('@vitrosoftware/common-ui-ts/css/white/controls/table-view/table-view-custom-lookup-edit.css');
458
+ @import url('@vitrosoftware/common-ui-ts/css/white/controls/table-view/table-view-custom-date-edit.css');
459
+
458
460
  #TableView {
459
461
  border-radius: 8px;
460
462
  padding: 6px;
@@ -511,7 +513,7 @@
511
513
  .vitro-tableview-progress-message.vitro-table-view-export-message {
512
514
  background-color: #fff;
513
515
  border: 1px solid #ff5b2d !important;
514
- }
516
+ }
515
517
 
516
518
  ._uploader_vitro-uploader_1frFGu3 {
517
519
  width: 100%;
@@ -665,3 +667,159 @@
665
667
  .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::before {
666
668
  border-bottom-color: red;
667
669
  }
670
+
671
+ ._action-handler_vitro-interface-blur_e0d8w42 {
672
+ position: absolute;
673
+ z-index: 100000;
674
+ height: 100vh;
675
+ width: 100vw;
676
+ top: 0;
677
+ left: 0;
678
+ }
679
+
680
+ ._view-part_vitro-view-part_1jRQS_n {
681
+
682
+ }
683
+
684
+ ._view_vitro-view_1PIFv5i{
685
+
686
+ }
687
+
688
+ ._tab-group_vitro-tab_1JjKD6A {
689
+ height: 100%;
690
+ display: flex;
691
+ flex-direction: column;
692
+ }
693
+
694
+ ._tab-group_vitro-tab_1JjKD6A .nav {
695
+ align-items: center;
696
+ justify-content: center;
697
+ }
698
+
699
+ ._tab-group_vitro-tab_1JjKD6A > .vitro-content {
700
+ position: relative;
701
+ }
702
+
703
+ ._tab-group_vitro-tab_1JjKD6A .vitro-content {
704
+ padding-top: 18px;
705
+ }
706
+
707
+ ._tab-group_vitro-tab_1JjKD6A:has(.vitro-task-detail) .vitro-content {
708
+ padding-top: 0;
709
+ }
710
+
711
+ .ps ._tab-group_vitro-tab_1JjKD6A .vitro-content {
712
+ position: relative;
713
+ flex: 1 1;
714
+ display: flex;
715
+ flex-direction: column;
716
+ width: 100%;
717
+ overflow-y: auto;
718
+ }
719
+
720
+ .ps ._tab-group_vitro-tab_1JjKD6A .vitro-content::-webkit-scrollbar {
721
+ width: 8px;
722
+ height: 8px;
723
+ }
724
+
725
+ .ps ._tab-group_vitro-tab_1JjKD6A .vitro-content::-webkit-scrollbar-track {
726
+ background: #fff;
727
+ border-radius: 12px;
728
+ }
729
+
730
+ .ps ._tab-group_vitro-tab_1JjKD6A .vitro-content::-webkit-scrollbar-thumb {
731
+ background: #e0e0e0;
732
+ border-radius: 4px;
733
+ }
734
+
735
+ .ps ._tab-group_vitro-tab_1JjKD6A .vitro-content::-webkit-scrollbar-thumb:hover {
736
+ background: #BDBDBD;
737
+ }
738
+
739
+ ._tab-group_vitro-tab_1JjKD6A .vitro-time-log-history object + .vitro-control, ._tab-group_vitro-tab_1JjKD6A .vitro-time-log-history object + div {
740
+ padding-top: 0;
741
+ }
742
+
743
+ ._tab-group_vitro-tab_1JjKD6A > div:not([class]) > div > div:first-child {
744
+ padding-top: 0;
745
+ }
746
+
747
+ ._tab-group_vitro-tab_1JjKD6A .nav > div._tab-group_vitro-item_1rEUKKg:not(:first-child) {
748
+ border: none;
749
+ }
750
+
751
+ ._tab-group_vitro-tab_1JjKD6A .nav > div._tab-group_vitro-item_1rEUKKg {
752
+ flex-grow: 1;
753
+ text-align: center;
754
+ }
755
+
756
+ ._tab-group_vitro-tab_1JjKD6A .nav > div .nav-link {
757
+ padding: 0;
758
+ }
759
+
760
+ ._tab-group_vitro-tab_1JjKD6A .nav > div .nav-item a {
761
+ border-bottom: 1px solid #e0e0e0;
762
+ font-family: GraphikMedium;
763
+ font-size: 12pt;
764
+ padding-bottom: 16px;
765
+ line-height: normal;
766
+ }
767
+
768
+ ._tab-group_vitro-tab_1JjKD6A .nav > div .nav-item a:hover {
769
+ color: #0097ff;
770
+ }
771
+
772
+ ._tab-group_vitro-tab_1JjKD6A .nav > div .nav-item a span {
773
+ padding-top: 3px;
774
+ display: inline-flex;
775
+ align-items: center;
776
+ }
777
+
778
+ ._tab-group_vitro-tab_1JjKD6A .nav > div ._tab-group_active_1bm9FlF span {
779
+ font-weight: 500;
780
+ }
781
+
782
+ ._tab-group_vitro-tab_1JjKD6A .nav > div .nav-item a span i {
783
+ margin: 0 4px;
784
+ font-size: 18px;
785
+ }
786
+
787
+ ._tab-group_vitro-tab_1JjKD6A .nav > ._tab-group_vitro-dropdown-button_2khJUBS {
788
+ padding-bottom: 8px;
789
+ margin-right: -2px;
790
+ width: 15px;
791
+ border-bottom: 1px solid #e0e0e0;
792
+ }
793
+
794
+ ._tab-group_vitro-tab_1JjKD6A .nav > div .nav-item._tab-group_active_1bm9FlF a {
795
+ color: #0097ff !important;
796
+ border-bottom: 3px solid #0097ff;
797
+ }
798
+
799
+ ._control-group_vitro-control_O12WSU5 {
800
+ padding: 6px 0;
801
+ width: 100%;
802
+ position: relative;
803
+ }
804
+
805
+ ._control-group_vitro-control_O12WSU5 .vitro-control-container {
806
+ position: relative;
807
+ }
808
+
809
+ ._control-group_vitro-control-row_3H0qlpT {
810
+ display: flex;
811
+ align-items: baseline;
812
+ }
813
+
814
+ ._control-group_vitro-control-row_3H0qlpT > span {
815
+ display: block;
816
+ margin: 0 5px;
817
+ }
818
+
819
+ ._control-group_vitro-control-row_3H0qlpT ._control-group_vitro-label_3M058up {
820
+ width: 136px;
821
+ }
822
+
823
+ ._control-group_vitro-control-row_3H0qlpT > div:not(:has(div, input)) {
824
+ width: 136px;
825
+ }
package/dist/index.d.ts CHANGED
@@ -19,6 +19,10 @@ import { ComponentLoaderContextImpl } from "./controls/ComponentLoader/Component
19
19
  import { ComponentLoaderContext } from "./controls/ComponentLoader/ComponentLoaderContext";
20
20
  import { ActionHandler } from "./controls/ActionHandler/ActionHandler";
21
21
  import * as ACTION_HANDLER from "./controls/ActionHandler/ActionHandlerConstants";
22
+ import { View } from "./controls/View/View";
23
+ import { TabGroup } from "./controls/TabGroup/TabGroup";
24
+ import { TabItem } from "./controls/TabGroup/TabItem";
25
+ import { ControlGroup } from "./controls/ControlGroup/ControlGroup";
22
26
  export { Breadcrumbs };
23
27
  export { TopLevelMenu };
24
28
  export { TreeView, TreeViewContext, TREE_VIEW };
@@ -27,3 +31,6 @@ export { MicroFrontend };
27
31
  export { TelerikUploader, TelerikUploaderContext, TelerikUploaderContextImpl, TelerikUploaderSettings };
28
32
  export { ComponentLoader, ComponentLoaderContextImpl, ComponentLoaderContext };
29
33
  export { ActionHandler, ACTION_HANDLER };
34
+ export { View };
35
+ export { TabGroup };
36
+ export { ControlGroup, TabItem };