@meshmakers/octo-ui 3.4.280 → 3.4.290

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.
@@ -3818,29 +3818,11 @@
3818
3818
  }
3819
3819
  }
3820
3820
 
3821
- // Fix Kendo TileLayout drag offset caused by CSS zoom on kendo-drawer-content.
3822
- // When a tile is dragged, Kendo sets position:fixed on the item and calculates
3823
- // coordinates in viewport space. The parent zoom (from DensityService) scales
3824
- // those coordinates, causing the dragged tile to appear offset from the cursor.
3825
- // Counter-zooming the dragged item restores correct coordinate mapping.
3826
- kendo-tilelayout-item[style*="position: fixed"] {
3827
- zoom: calc(1 / var(--density-zoom, 1));
3828
- }
3829
-
3830
- // Fix Kendo popup positioning when CSS zoom (density) is active on kendo-drawer-content.
3831
- // Popups with appendTo:'root' are rendered as direct children of <app-root>, outside
3832
- // the zoomed container. The dropdown component uses wrapper.offsetWidth (inflated by
3833
- // the zoom factor) for min-width, causing popups to be too wide and mispositioned.
3834
- // Using transform:scale() instead of CSS zoom because:
3835
- // - CSS zoom scales BOTH content AND the element's left/top position interpretation,
3836
- // causing the popup to shift up-left from its intended anchor position.
3837
- // - transform:scale() only scales the visual rendering from transform-origin,
3838
- // keeping left/top positioning intact (calculated correctly by Kendo from
3839
- // getBoundingClientRect of the anchor element).
3840
- app-root > .k-animation-container {
3841
- transform: scale(var(--density-zoom, 1));
3842
- transform-origin: top left;
3843
- }
3821
+ // NOTE (AB#4258): the former CSS-`zoom`-based UI density was replaced by root
3822
+ // font-size (rem) scaling, so there is no ancestor `zoom` anymore. The Kendo
3823
+ // TileLayout drag-offset and popup-position counter-zoom hacks that used to live
3824
+ // here (keyed on `--density-zoom`) are therefore obsolete and were removed
3825
+ // coordinates now map 1:1 without compensation.
3844
3826
 
3845
3827
  // Widget Error State
3846
3828
  .widget-error {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meshmakers/octo-ui",
3
- "version": "3.4.280",
3
+ "version": "3.4.290",
4
4
  "peerDependencies": {
5
5
  "@ngx-translate/core": "^17.0.0",
6
6
  "@angular/animations": "^22.0.0",
@@ -50,6 +50,10 @@
50
50
  "./branding-settings": {
51
51
  "types": "./types/meshmakers-octo-ui-branding-settings.d.ts",
52
52
  "default": "./fesm2022/meshmakers-octo-ui-branding-settings.mjs"
53
+ },
54
+ "./tree-navigation-settings": {
55
+ "types": "./types/meshmakers-octo-ui-tree-navigation-settings.d.ts",
56
+ "default": "./fesm2022/meshmakers-octo-ui-tree-navigation-settings.mjs"
53
57
  }
54
58
  },
55
59
  "type": "module"
@@ -0,0 +1,132 @@
1
+ import * as _progress_kendo_svg_icons from '@progress/kendo-svg-icons';
2
+ import * as _angular_forms from '@angular/forms';
3
+ import { FormGroup } from '@angular/forms';
4
+ import * as _angular_core from '@angular/core';
5
+ import { OnInit } from '@angular/core';
6
+ import { Routes } from '@angular/router';
7
+
8
+ /** UI strings for the tree navigation settings editor. */
9
+ interface TreeNavigationSettingsMessages {
10
+ title: string;
11
+ description: string;
12
+ /** Shown when System.UI < 2.2.0 (the CK type is not installed on the tenant). */
13
+ notInstalled: string;
14
+ columnSourceType: string;
15
+ columnRole: string;
16
+ columnDisplayName: string;
17
+ columnSortIndex: string;
18
+ columnVisible: string;
19
+ columnGrouped: string;
20
+ columnIcon: string;
21
+ columnActions: string;
22
+ visibleAuto: string;
23
+ visibleShow: string;
24
+ visibleHide: string;
25
+ groupedAuto: string;
26
+ groupedGroup: string;
27
+ groupedFlatten: string;
28
+ sourceTypeHint: string;
29
+ roleHint: string;
30
+ addRule: string;
31
+ removeRule: string;
32
+ save: string;
33
+ reload: string;
34
+ export: string;
35
+ import: string;
36
+ empty: string;
37
+ saveSuccess: string;
38
+ saveError: string;
39
+ loadError: string;
40
+ exportNothing: string;
41
+ exportError: string;
42
+ importSuccess: string;
43
+ importError: string;
44
+ }
45
+ /** English defaults; hosts may override via the `messages` input. */
46
+ declare const DEFAULT_TREE_NAVIGATION_SETTINGS_MESSAGES: TreeNavigationSettingsMessages;
47
+
48
+ /**
49
+ * Admin editor for the per-tenant `System.UI/TreeNavigationConfiguration`.
50
+ * Each row is one override rule matched by (source type, role id); `*` as the
51
+ * source type matches every type. Empty dropdown value = auto (default
52
+ * behavior). Source type and role id offer autocomplete suggestions but also
53
+ * accept custom values (so orphan roles remain configurable).
54
+ */
55
+ declare class TreeNavigationSettingsComponent implements OnInit {
56
+ readonly messages: _angular_core.InputSignal<TreeNavigationSettingsMessages>;
57
+ private readonly fb;
58
+ private readonly config;
59
+ private readonly ckTypeSelector;
60
+ private readonly assetRepo;
61
+ private readonly jobs;
62
+ private readonly importStrategyDialog;
63
+ private readonly route;
64
+ private readonly messageService;
65
+ protected readonly loading: _angular_core.WritableSignal<boolean>;
66
+ protected readonly saving: _angular_core.WritableSignal<boolean>;
67
+ protected readonly typePresent: _angular_core.WritableSignal<boolean>;
68
+ private rtId;
69
+ protected readonly rules: _angular_forms.FormArray<FormGroup<any>>;
70
+ protected readonly ckTypeSuggestions: _angular_core.WritableSignal<string[]>;
71
+ protected readonly roleSuggestions: _angular_core.WritableSignal<{
72
+ roleId: string;
73
+ label: string;
74
+ }[]>;
75
+ protected readonly saveIcon: _progress_kendo_svg_icons.SVGIcon;
76
+ protected readonly plusIcon: _progress_kendo_svg_icons.SVGIcon;
77
+ protected readonly reloadIcon: _progress_kendo_svg_icons.SVGIcon;
78
+ protected readonly removeIcon: _progress_kendo_svg_icons.SVGIcon;
79
+ protected readonly exportIcon: _progress_kendo_svg_icons.SVGIcon;
80
+ protected readonly importIcon: _progress_kendo_svg_icons.SVGIcon;
81
+ protected readonly visibleOptions: _angular_core.Signal<{
82
+ text: string;
83
+ value: string;
84
+ }[]>;
85
+ protected readonly groupedOptions: _angular_core.Signal<{
86
+ text: string;
87
+ value: string;
88
+ }[]>;
89
+ ngOnInit(): Promise<void>;
90
+ protected reload(): Promise<void>;
91
+ protected addRule(): void;
92
+ protected removeRule(index: number): void;
93
+ protected onSave(): Promise<void>;
94
+ /** Loads CK type suggestions for the source-type combobox (server filter). */
95
+ protected searchCkTypes(term: string): Promise<void>;
96
+ /** Loads role suggestions for the source type of the opened row's combobox. */
97
+ protected loadRoleSuggestions(row: FormGroup): Promise<void>;
98
+ /**
99
+ * Exports the saved configuration singleton as a deep-graph runtime model ZIP,
100
+ * via the standard asset-repo export job (same mechanism as pools / adapters /
101
+ * data flows). Requires the config to have been saved first.
102
+ */
103
+ protected export(): Promise<void>;
104
+ /**
105
+ * Imports a configuration from a deep-graph runtime model ZIP via the standard
106
+ * import-strategy dialog + asset-repo import job, then reloads the editor.
107
+ */
108
+ protected onFileSelected(event: Event): Promise<void>;
109
+ /** Resolves the tenant id from the route hierarchy (route is /:tenantId/...). */
110
+ private getTenantId;
111
+ private collectRoles;
112
+ private createRow;
113
+ private toRoleConfig;
114
+ private toVisibleValue;
115
+ private toGroupedValue;
116
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TreeNavigationSettingsComponent, never>;
117
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TreeNavigationSettingsComponent, "mm-tree-navigation-settings", never, { "messages": { "alias": "messages"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
118
+ }
119
+
120
+ /**
121
+ * Routes for the tree navigation settings UI. Mount under any path, e.g.:
122
+ *
123
+ * ```ts
124
+ * { path: 'tree-navigation', canActivate: [adminGuard], children: TREE_NAVIGATION_SETTINGS_ROUTES }
125
+ * ```
126
+ *
127
+ * The component is lazy-loaded on first navigation (`loadComponent`).
128
+ */
129
+ declare const TREE_NAVIGATION_SETTINGS_ROUTES: Routes;
130
+
131
+ export { DEFAULT_TREE_NAVIGATION_SETTINGS_MESSAGES, TREE_NAVIGATION_SETTINGS_ROUTES, TreeNavigationSettingsComponent };
132
+ export type { TreeNavigationSettingsMessages };
@@ -2,7 +2,7 @@ import * as _angular_core from '@angular/core';
2
2
  import { OnInit, OnDestroy, EventEmitter, OnChanges, SimpleChanges, AfterViewInit, Provider, InjectionToken, EnvironmentProviders } from '@angular/core';
3
3
  import * as _progress_kendo_svg_icons from '@progress/kendo-svg-icons';
4
4
  import { SVGIcon } from '@progress/kendo-svg-icons';
5
- import { AttributeItem, AttributeValueTypeDto as AttributeValueTypeDto$1, CkTypeSelectorItem as CkTypeSelectorItem$1, RtEntityDto, FieldFilterDto, SearchFilterDto, SortDto, CkModelDto, CkTypeDto, RtAssociationDto, FieldFilterOperatorsDto, GetCkTypesDtoGQL, RuntimeEntityItem, RuntimeEntitySelectDataSource, RuntimeEntityDialogDataSource } from '@meshmakers/octo-services';
5
+ import { AttributeItem, AttributeValueTypeDto as AttributeValueTypeDto$1, CkTypeSelectorItem as CkTypeSelectorItem$1, RtEntityDto, FieldFilterDto, SearchFilterDto, SortDto, CkModelDto, CkTypeDto, GraphDirectionDto, RtAssociationDto, FieldFilterOperatorsDto, GetCkTypesDtoGQL, RuntimeEntityItem, RuntimeEntitySelectDataSource, RuntimeEntityDialogDataSource } from '@meshmakers/octo-services';
6
6
  import { GridDataResult, CellClickEvent, RowArgs, PageChangeEvent, SelectionEvent } from '@progress/kendo-angular-grid';
7
7
  import { TreeItemDataTyped, TreeItemData, CommandItemExecuteEventArgs, CommandItem } from '@meshmakers/shared-services';
8
8
  import { ControlValueAccessor, Validator, FormControl, AbstractControl, ValidationErrors } from '@angular/forms';
@@ -601,10 +601,25 @@ declare class EntityIdInfoComponent {
601
601
  type BrowserItem$3 = RtEntityDto | CkModelDto | CkTypeDto | {
602
602
  isCkModelsRoot?: boolean;
603
603
  ckModelId?: string;
604
- };
604
+ } | AssociationGroupNode;
605
+ /**
606
+ * Synthetic tree node that groups all entities reachable from a parent entity
607
+ * through a single association role (e.g. "ContainedSensors"). Its children are
608
+ * loaded lazily on expand. It is intentionally not a runtime entity, so the
609
+ * toolbar create/edit/delete actions and the entity picker stay disabled for it.
610
+ */
611
+ interface AssociationGroupNode {
612
+ isAssociationGroup: true;
613
+ parentRtId: string;
614
+ parentCkTypeId: string;
615
+ roleId: string;
616
+ targetCkTypeId: string;
617
+ direction: GraphDirectionDto;
618
+ }
605
619
  declare class RuntimeBrowserDataSource extends OctoGraphQlHierarchyDataSource<BrowserItem$3> {
606
620
  private readonly getTreesDtoGQL;
607
- private readonly getTreeNodesDtoGQL;
621
+ private readonly getCkTypeAssociationRolesDtoGQL;
622
+ private readonly getTreeAssociationTargetsDtoGQL;
608
623
  private readonly getCkModelsGQL;
609
624
  private readonly getCkTypesGQL;
610
625
  private readonly getCkModelByIdDtoGQL;
@@ -613,12 +628,59 @@ declare class RuntimeBrowserDataSource extends OctoGraphQlHierarchyDataSource<Br
613
628
  private readonly updateRuntimeEntitiesDtoGQL;
614
629
  private readonly updateTreeNodesDtoGQL;
615
630
  private readonly typeHelperService;
631
+ private readonly treeNavConfig;
616
632
  private isCkModelsRoot;
617
633
  private isCkModel;
618
634
  private isCkType;
619
- private static readonly levelMetaData;
635
+ private isAssociationGroup;
636
+ /**
637
+ * Cache of inbound association roles per CK type id. Discovered lazily from
638
+ * the CK schema and reused across tree expansions (and to decide whether a
639
+ * child entity node is expandable). Lives on the instance because the tree is
640
+ * created fresh per browser/picker mount.
641
+ */
642
+ private readonly inboundRolesCache;
620
643
  private static readonly ckTypeMetaData;
621
644
  fetchChildren(item: TreeItemDataTyped<BrowserItem$3>): Promise<TreeItemDataTyped<BrowserItem$3>[]>;
645
+ /**
646
+ * Discovers the navigable inbound role groups of an entity from its ACTUAL
647
+ * inbound edges (associations.definitions), grouped by (roleId, origin CK
648
+ * type) with exact counts. Labels are enriched from the CK type schema
649
+ * (friendly inbound navigation property name) when the role is declared on the
650
+ * type, and otherwise derived from the role id (so orphan roles still get a
651
+ * readable label).
652
+ */
653
+ private discoverEntityInboundRoleGroups;
654
+ /** Readable fallback label for a role id without a schema navigation name. */
655
+ private deriveRoleLabel;
656
+ /**
657
+ * Orders group nodes by configured sortIndex (ascending, unconfigured last),
658
+ * then by navigation property name for a stable, readable order.
659
+ */
660
+ private compareGroupOrder;
661
+ /** Resolves a configured group icon name to an SVG icon (folder by default). */
662
+ private resolveGroupIcon;
663
+ /**
664
+ * Returns the inbound association roles of a CK type, discovered from the CK
665
+ * schema and cached per type id for the lifetime of this data source.
666
+ */
667
+ private getInboundRoles;
668
+ /** Loads the target entities reachable from an entity through one role. */
669
+ private fetchAssociationTargets;
670
+ /**
671
+ * Builds tree items for runtime entities, de-duplicating by rtId and marking
672
+ * an entity expandable when its CK type defines at least one inbound
673
+ * association role.
674
+ */
675
+ private buildEntityTreeItems;
676
+ /** Stable tree-node id for an association group node. */
677
+ private buildGroupNodeId;
678
+ /** Resolves the display label of an entity from its name/displayName attributes. */
679
+ private extractDisplayName;
680
+ /** Resolves the tooltip of an entity from its description attribute. */
681
+ private extractTooltip;
682
+ /** Resolves the icon for a CK type, falling back to a generic entity icon. */
683
+ private resolveIcon;
622
684
  fetchRootNodes(): Promise<TreeItemDataTyped<BrowserItem$3>[]>;
623
685
  /**
624
686
  * Gets ParentChild association of given Runtime Entity.
@@ -2416,6 +2478,99 @@ declare class RuntimeBrowserStateService {
2416
2478
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<RuntimeBrowserStateService>;
2417
2479
  }
2418
2480
 
2481
+ /** One resolved per-role override (presentation only). */
2482
+ interface TreeNavigationRoleOverride {
2483
+ visible?: boolean;
2484
+ displayName?: string;
2485
+ sortIndex?: number;
2486
+ grouped?: boolean;
2487
+ icon?: string;
2488
+ }
2489
+ /** One editable override rule (a row in the settings editor). */
2490
+ interface TreeNavigationRoleConfig {
2491
+ /** Source CK type id this rule applies to, or `*` for every type. */
2492
+ sourceCkTypeId: string;
2493
+ /** Runtime association role id (e.g. `EnergyIQ/SpaceSensors`). */
2494
+ roleId: string;
2495
+ visible?: boolean;
2496
+ displayName?: string;
2497
+ sortIndex?: number;
2498
+ grouped?: boolean;
2499
+ icon?: string;
2500
+ }
2501
+ /** The full configuration as loaded for editing. */
2502
+ interface TreeNavigationConfig {
2503
+ /** rtId of the singleton, or null when it does not exist yet. */
2504
+ rtId: string | null;
2505
+ /** True when the CK type is installed on the tenant (System.UI >= 2.2.0). */
2506
+ typePresent: boolean;
2507
+ roles: TreeNavigationRoleConfig[];
2508
+ }
2509
+ /**
2510
+ * Loads the optional per-tenant `System.UI/TreeNavigationConfiguration` singleton
2511
+ * and resolves per-association overrides for the entity trees.
2512
+ *
2513
+ * Design notes:
2514
+ * - The config entity is OPTIONAL. When the CK type is not installed on the
2515
+ * tenant (System.UI < 2.2.0) or no instance exists, every lookup returns
2516
+ * undefined and the trees fall back to pure auto-discovery.
2517
+ * - The singleton field (`systemUITreeNavigationConfiguration`) only exists in
2518
+ * the tenant schema when the CK type is installed, so querying it blindly
2519
+ * would raise a GraphQL validation error (and a user-facing toast). We first
2520
+ * probe the CK schema with the always-valid `constructionKit.types` query and
2521
+ * only run the singleton query when the type is present.
2522
+ * - Uses inline `gql` (not codegen) so the feature is decoupled from a schema
2523
+ * re-introspection that includes the new CK type.
2524
+ */
2525
+ declare class TreeNavigationConfigService {
2526
+ private readonly apollo;
2527
+ /** key `${sourceCkTypeId}::${roleId}` -> override; cached for the session. */
2528
+ private overridesPromise?;
2529
+ /**
2530
+ * Resolves the override for one (source type, role) pair, preferring an exact
2531
+ * source-type match over a wildcard (`*`) rule. Returns undefined when nothing
2532
+ * is configured.
2533
+ */
2534
+ resolve(sourceCkTypeId: string, roleId: string): Promise<TreeNavigationRoleOverride | undefined>;
2535
+ /** Forces a reload on next access (e.g. after a tenant switch). */
2536
+ reset(): void;
2537
+ /**
2538
+ * Returns the inbound association roles declared on a CK type, for the role
2539
+ * autocomplete in the settings editor. Returns `{ roleId, label }` where the
2540
+ * label is the friendly inbound name plus the role id. Empty for `*` or an
2541
+ * unknown type (orphan roles can still be typed as custom values).
2542
+ */
2543
+ getRoleSuggestions(ckTypeId: string): Promise<{
2544
+ roleId: string;
2545
+ label: string;
2546
+ }[]>;
2547
+ private getOverrides;
2548
+ private load;
2549
+ /**
2550
+ * Loads the full configuration for editing (settings page). Returns whether
2551
+ * the CK type is installed (so the page can show a clear "upgrade System.UI"
2552
+ * hint), the singleton rtId (null when not created yet), and the role rules.
2553
+ */
2554
+ loadConfig(): Promise<TreeNavigationConfig>;
2555
+ /**
2556
+ * Creates or updates the singleton with the given rules, then invalidates the
2557
+ * resolve cache so the trees pick up the change on the next expand. Returns the
2558
+ * singleton rtId.
2559
+ */
2560
+ saveConfig(rtId: string | null, roles: TreeNavigationRoleConfig[]): Promise<string>;
2561
+ /** Drops undefined fields so the record-array input only carries set values. */
2562
+ private toRoleInput;
2563
+ /** Probes the CK schema and (when present) loads the singleton's raw roles. */
2564
+ private fetchSingleton;
2565
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TreeNavigationConfigService, never>;
2566
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<TreeNavigationConfigService>;
2567
+ }
2568
+ declare const TREE_NAVIGATION_CONFIG_CONSTANTS: {
2569
+ CONFIG_CK_TYPE_ID: string;
2570
+ CONFIG_WELL_KNOWN_NAME: string;
2571
+ WILDCARD: string;
2572
+ };
2573
+
2419
2574
  /**
2420
2575
  * View model for a DataPointMapping entity with resolved source/target information.
2421
2576
  * Used by the DataMappingOverviewComponent for display in the grid.
@@ -3158,5 +3313,5 @@ declare class TenantSwitcherComponent {
3158
3313
  */
3159
3314
  declare function provideOctoUi(): EnvironmentProviders;
3160
3315
 
3161
- export { AssociationValidationService, AttributeSelectorDialogComponent, AttributeSelectorDialogService, AttributeSortSelectorDialogComponent, AttributeSortSelectorDialogService, AttributeValueTypeDto, CkTypeSelectorDialogComponent, CkTypeSelectorDialogService, CkTypeSelectorInputComponent, DEFAULT_CK_TYPE_SELECTOR_DIALOG_MESSAGES, DEFAULT_CK_TYPE_SELECTOR_INPUT_MESSAGES, DEFAULT_DATA_POINT, DEFAULT_MAPPING_COVERAGE_TREE_CONFIG, DEFAULT_PROPERTY_GRID_MESSAGES, DEFAULT_RUNTIME_BROWSER_MESSAGES, DataMappingOverviewComponent, DataPointPickerComponent, DataPointResolverService, DefaultPropertyCategory, EntityDetailComponent, EntityIdInfoComponent, EntitySelectorDialogComponent, EntitySelectorDialogService, FieldFilterEditorComponent, MappingCoverageTreeComponent, MappingCoverageTreeDataSource, MappingEditDialogComponent, MappingEditDialogService, OctoGraphQlDataSource, OctoGraphQlHierarchyDataSource, OctoLoaderComponent, PropertyConverterService, PropertyDisplayMode, PropertyGridComponent, PropertyValueDisplayComponent, RUNTIME_BROWSER_MESSAGES, RecordDetailDialogComponent, RtEntityIdHelper, RuntimeBrowserComponent, RuntimeBrowserOutletComponent, RuntimeBrowserPageComponent, RuntimeBrowserStateService, RuntimeEntityVariableDialogComponent, RuntimeEntityVariableDialogService, TenantSwitcherComponent, account_tree, add, analytics, app_registration, article, botService, category, chat, checklist, code, component_exchange, computer, createRuntimeBrowserRoutes, customer, dashboard, event_list, extractDataPointNames, graphic_eq, group, identityService, insert_link, manage_accounts, more_time, notifications, page_info, pages, person_search, playlist_add_check, pool, power, provideOctoUi, publicIcon, query_builder, schedule_send, settings, sort, storage, swagger, swagger_asset, swagger_bot, swagger_communication, swagger_identity, team_dashboard, tenancy, text_snippet, travel_explore, user_diagnostics, webhook, work };
3162
- export type { AttributeItemLike, AttributeSelectorDialogData, AttributeSelectorDialogResult, AttributeSelectorResult, AttributeSortItem, AttributeSortSelectorDialogData, AttributeSortSelectorDialogResult, AttributeSortSelectorResult, BinaryDownloadEvent, BrowserItem, BrowserState, CkAssociationRole, CkTypeSelectorDialogData, CkTypeSelectorDialogMessages, CkTypeSelectorDialogResult, CkTypeSelectorInputMessages, CkTypeSelectorResult, CoverageEntityRef, CoverageMappingItem, CoverageNodePayload, CoverageTreeIcons, CoverageTreeItem, DataPointMappingItem, DataPointMappingOverviewItem, EntitySelectorDialogData, EntitySelectorDialogResult, EntitySelectorResult, ExpressionValidationResult, ExpressionValidatorFn, FieldFilterItem, FilterVariable, MappingCoverageTreeConfig, MappingEditDialogData, MappingEditDialogResult, MappingEditValue, MappingOverviewSummary, MoveValidationResult, PropertyChangeEvent, PropertyGridConfig, PropertyGridItem, PropertyGridMessages, RtEntityId, RuntimeBrowserMessages, RuntimeBrowserRouteOptions, RuntimeEntityVariableDialogData, RuntimeEntityVariableDialogResult, RuntimeEntityVariableMapping, RuntimeEntityVariableResult, SortOption, ValidationMessage };
3316
+ export { AssociationValidationService, AttributeSelectorDialogComponent, AttributeSelectorDialogService, AttributeSortSelectorDialogComponent, AttributeSortSelectorDialogService, AttributeValueTypeDto, CkTypeSelectorDialogComponent, CkTypeSelectorDialogService, CkTypeSelectorInputComponent, DEFAULT_CK_TYPE_SELECTOR_DIALOG_MESSAGES, DEFAULT_CK_TYPE_SELECTOR_INPUT_MESSAGES, DEFAULT_DATA_POINT, DEFAULT_MAPPING_COVERAGE_TREE_CONFIG, DEFAULT_PROPERTY_GRID_MESSAGES, DEFAULT_RUNTIME_BROWSER_MESSAGES, DataMappingOverviewComponent, DataPointPickerComponent, DataPointResolverService, DefaultPropertyCategory, EntityDetailComponent, EntityIdInfoComponent, EntitySelectorDialogComponent, EntitySelectorDialogService, FieldFilterEditorComponent, MappingCoverageTreeComponent, MappingCoverageTreeDataSource, MappingEditDialogComponent, MappingEditDialogService, OctoGraphQlDataSource, OctoGraphQlHierarchyDataSource, OctoLoaderComponent, PropertyConverterService, PropertyDisplayMode, PropertyGridComponent, PropertyValueDisplayComponent, RUNTIME_BROWSER_MESSAGES, RecordDetailDialogComponent, RtEntityIdHelper, RuntimeBrowserComponent, RuntimeBrowserOutletComponent, RuntimeBrowserPageComponent, RuntimeBrowserStateService, RuntimeEntityVariableDialogComponent, RuntimeEntityVariableDialogService, TREE_NAVIGATION_CONFIG_CONSTANTS, TenantSwitcherComponent, TreeNavigationConfigService, account_tree, add, analytics, app_registration, article, botService, category, chat, checklist, code, component_exchange, computer, createRuntimeBrowserRoutes, customer, dashboard, event_list, extractDataPointNames, graphic_eq, group, identityService, insert_link, manage_accounts, more_time, notifications, page_info, pages, person_search, playlist_add_check, pool, power, provideOctoUi, publicIcon, query_builder, schedule_send, settings, sort, storage, swagger, swagger_asset, swagger_bot, swagger_communication, swagger_identity, team_dashboard, tenancy, text_snippet, travel_explore, user_diagnostics, webhook, work };
3317
+ export type { AttributeItemLike, AttributeSelectorDialogData, AttributeSelectorDialogResult, AttributeSelectorResult, AttributeSortItem, AttributeSortSelectorDialogData, AttributeSortSelectorDialogResult, AttributeSortSelectorResult, BinaryDownloadEvent, BrowserItem, BrowserState, CkAssociationRole, CkTypeSelectorDialogData, CkTypeSelectorDialogMessages, CkTypeSelectorDialogResult, CkTypeSelectorInputMessages, CkTypeSelectorResult, CoverageEntityRef, CoverageMappingItem, CoverageNodePayload, CoverageTreeIcons, CoverageTreeItem, DataPointMappingItem, DataPointMappingOverviewItem, EntitySelectorDialogData, EntitySelectorDialogResult, EntitySelectorResult, ExpressionValidationResult, ExpressionValidatorFn, FieldFilterItem, FilterVariable, MappingCoverageTreeConfig, MappingEditDialogData, MappingEditDialogResult, MappingEditValue, MappingOverviewSummary, MoveValidationResult, PropertyChangeEvent, PropertyGridConfig, PropertyGridItem, PropertyGridMessages, RtEntityId, RuntimeBrowserMessages, RuntimeBrowserRouteOptions, RuntimeEntityVariableDialogData, RuntimeEntityVariableDialogResult, RuntimeEntityVariableMapping, RuntimeEntityVariableResult, SortOption, TreeNavigationConfig, TreeNavigationRoleConfig, TreeNavigationRoleOverride, ValidationMessage };