@rt-tools/ui-kit-v2 0.29.1 → 0.31.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.
Files changed (64) hide show
  1. package/fesm2022/rt-tools-ui-kit-v2-autocomplete.mjs +23 -29
  2. package/fesm2022/rt-tools-ui-kit-v2-autocomplete.mjs.map +1 -1
  3. package/fesm2022/rt-tools-ui-kit-v2-calendar.mjs +2 -2
  4. package/fesm2022/rt-tools-ui-kit-v2-calendar.mjs.map +1 -1
  5. package/fesm2022/rt-tools-ui-kit-v2-core.mjs +223 -3
  6. package/fesm2022/rt-tools-ui-kit-v2-core.mjs.map +1 -1
  7. package/fesm2022/rt-tools-ui-kit-v2-data-list.mjs +2 -2
  8. package/fesm2022/rt-tools-ui-kit-v2-data-list.mjs.map +1 -1
  9. package/fesm2022/rt-tools-ui-kit-v2-draggable-tree.mjs +1 -2
  10. package/fesm2022/rt-tools-ui-kit-v2-draggable-tree.mjs.map +1 -1
  11. package/fesm2022/rt-tools-ui-kit-v2-dynamic-list.mjs +2 -2
  12. package/fesm2022/rt-tools-ui-kit-v2-dynamic-list.mjs.map +1 -1
  13. package/fesm2022/rt-tools-ui-kit-v2-dynamic-selector.mjs +277 -904
  14. package/fesm2022/rt-tools-ui-kit-v2-dynamic-selector.mjs.map +1 -1
  15. package/fesm2022/rt-tools-ui-kit-v2-filter-control.mjs +2 -2
  16. package/fesm2022/rt-tools-ui-kit-v2-filter-control.mjs.map +1 -1
  17. package/fesm2022/rt-tools-ui-kit-v2-hybrid-tree.mjs +1 -1
  18. package/fesm2022/rt-tools-ui-kit-v2-hybrid-tree.mjs.map +1 -1
  19. package/fesm2022/rt-tools-ui-kit-v2-multiselect.mjs +35 -48
  20. package/fesm2022/rt-tools-ui-kit-v2-multiselect.mjs.map +1 -1
  21. package/fesm2022/rt-tools-ui-kit-v2-page-header.mjs +2 -2
  22. package/fesm2022/rt-tools-ui-kit-v2-pdf-viewer.mjs +2 -2
  23. package/fesm2022/rt-tools-ui-kit-v2-pdf-viewer.mjs.map +1 -1
  24. package/fesm2022/rt-tools-ui-kit-v2-rich-editor.mjs +4 -4
  25. package/fesm2022/rt-tools-ui-kit-v2-rich-editor.mjs.map +1 -1
  26. package/fesm2022/rt-tools-ui-kit-v2-select.mjs +37 -181
  27. package/fesm2022/rt-tools-ui-kit-v2-select.mjs.map +1 -1
  28. package/fesm2022/rt-tools-ui-kit-v2-service-block.mjs +131 -0
  29. package/fesm2022/rt-tools-ui-kit-v2-service-block.mjs.map +1 -0
  30. package/fesm2022/rt-tools-ui-kit-v2-side-menu.mjs +5 -36
  31. package/fesm2022/rt-tools-ui-kit-v2-side-menu.mjs.map +1 -1
  32. package/fesm2022/rt-tools-ui-kit-v2-tag.mjs +2 -3
  33. package/fesm2022/rt-tools-ui-kit-v2-tag.mjs.map +1 -1
  34. package/fesm2022/rt-tools-ui-kit-v2-toolbar.mjs +2 -2
  35. package/fesm2022/rt-tools-ui-kit-v2-toolbar.mjs.map +1 -1
  36. package/fesm2022/rt-tools-ui-kit-v2-tree-selector.mjs +8 -13
  37. package/fesm2022/rt-tools-ui-kit-v2-tree-selector.mjs.map +1 -1
  38. package/fesm2022/rt-tools-ui-kit-v2-tree.mjs +12 -7
  39. package/fesm2022/rt-tools-ui-kit-v2-tree.mjs.map +1 -1
  40. package/fesm2022/rt-tools-ui-kit-v2-workspace.mjs +2 -2
  41. package/fesm2022/rt-tools-ui-kit-v2-workspace.mjs.map +1 -1
  42. package/fesm2022/rt-tools-ui-kit-v2.mjs +1 -0
  43. package/package.json +5 -1
  44. package/src/lib/components/dynamic-selector/stories/component/test-dynamic-selector-popup-frame.component.scss +6 -0
  45. package/src/lib/components/page-header/rt-page-header.component.scss +4 -2
  46. package/src/lib/components/service-block/CONTEXT.md +37 -0
  47. package/src/lib/components/service-block/rt-service-block.component.scss +61 -0
  48. package/src/lib/components/tree/CONTEXT.md +1 -1
  49. package/src/rich-editor/lib/components/ai-chat/CONTEXT.md +1 -1
  50. package/src/styles/_breakpoints.scss +37 -4
  51. package/src/styles/_index.scss +0 -4
  52. package/styles/tokens.css +0 -8
  53. package/types/rt-tools-ui-kit-v2-autocomplete.d.ts +4 -3
  54. package/types/rt-tools-ui-kit-v2-core.d.ts +155 -1
  55. package/types/rt-tools-ui-kit-v2-dynamic-selector.d.ts +51 -269
  56. package/types/rt-tools-ui-kit-v2-multiselect.d.ts +4 -3
  57. package/types/rt-tools-ui-kit-v2-select.d.ts +12 -74
  58. package/types/rt-tools-ui-kit-v2-service-block.d.ts +34 -0
  59. package/types/rt-tools-ui-kit-v2-side-menu.d.ts +5 -20
  60. package/types/rt-tools-ui-kit-v2-tag.d.ts +2 -3
  61. package/types/rt-tools-ui-kit-v2-tree-selector.d.ts +0 -2
  62. package/types/rt-tools-ui-kit-v2-tree.d.ts +7 -9
  63. package/types/rt-tools-ui-kit-v2.d.ts +1 -0
  64. package/src/styles/_place.scss +0 -7
@@ -0,0 +1,131 @@
1
+ import * as i0 from "@angular/core";
2
+ import { ChangeDetectionStrategy, Component, ViewEncapsulation, input } from "@angular/core";
3
+ import { BlockDirective, ElemDirective } from "@rt-tools/core";
4
+ import { RtServiceLogoComponent } from "@rt-tools/ui-kit-v2/service-logo";
5
+ const BEM_BLOCK = "rt-service-block";
6
+ var RtServiceBlockComponent = class RtServiceBlockComponent {
7
+ constructor() {
8
+ this.logos = input.required(...ngDevMode ? [{ debugName: "logos" }] : /* istanbul ignore next */ []);
9
+ this.name = input.required(...ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []);
10
+ this.description = input("", ...ngDevMode ? [{ debugName: "description" }] : /* istanbul ignore next */ []);
11
+ }
12
+ static {
13
+ this.ɵfac = i0.ɵɵngDeclareFactory({
14
+ minVersion: "12.0.0",
15
+ version: "22.2.2",
16
+ ngImport: i0,
17
+ type: RtServiceBlockComponent,
18
+ deps: [],
19
+ target: i0.ɵɵFactoryTarget.Component
20
+ });
21
+ }
22
+ static {
23
+ this.ɵcmp = i0.ɵɵngDeclareComponent({
24
+ minVersion: "17.0.0",
25
+ version: "22.2.2",
26
+ type: RtServiceBlockComponent,
27
+ isStandalone: true,
28
+ selector: "rt-service-block",
29
+ inputs: {
30
+ logos: {
31
+ classPropertyName: "logos",
32
+ publicName: "logos",
33
+ isSignal: true,
34
+ isRequired: true,
35
+ transformFunction: null
36
+ },
37
+ name: {
38
+ classPropertyName: "name",
39
+ publicName: "name",
40
+ isSignal: true,
41
+ isRequired: true,
42
+ transformFunction: null
43
+ },
44
+ description: {
45
+ classPropertyName: "description",
46
+ publicName: "description",
47
+ isSignal: true,
48
+ isRequired: false,
49
+ transformFunction: null
50
+ }
51
+ },
52
+ host: { classAttribute: "rt-service-block" },
53
+ ngImport: i0,
54
+ template: "<ng-container rtBlock=\"rt-service-block\">\n <rt-service-logo rtElem=\"logo\" qa-dataid=\"service-block-logo\" [logos]=\"logos()\" />\n\n <div rtElem=\"text\">\n <p rtElem=\"name\" qa-dataid=\"service-block-name\">{{ name() }}</p>\n\n @if (description(); as text) {\n <p rtElem=\"description\" qa-dataid=\"service-block-description\">{{ text }}</p>\n }\n </div>\n</ng-container>\n",
55
+ styles: ["@charset \"UTF-8\";@layer rt-kit.components{.rt-service-block{--rt-service-block-gap: var(--rt-space-4);--rt-service-block-text-gap: var(--rt-space-0-5);--rt-service-block-padding-bottom: var(--rt-space-5);--rt-service-block-divider: var(--rt-border-width-thin) solid var(--rt-color-border-subtle);--rt-service-block-name-size: var(--rt-text-xl);--rt-service-block-name-weight: var(--rt-font-weight-semibold);--rt-service-block-name-line-height: var(--rt-leading-snug);--rt-service-block-name-color: var(--rt-color-text-primary);--rt-service-block-description-size: var(--rt-text-sm);--rt-service-block-description-weight: var(--rt-font-weight-regular);--rt-service-block-description-line-height: var(--rt-leading-normal);--rt-service-block-description-color: var(--rt-color-text-muted);display:flex;width:100%;align-items:center;padding-bottom:var(--rt-service-block-padding-bottom);border-bottom:var(--rt-service-block-divider);gap:var(--rt-service-block-gap)}.rt-service-block__logo{flex:none}.rt-service-block__text{display:flex;min-width:0;flex:1 1 0;flex-direction:column;gap:var(--rt-service-block-text-gap);overflow-wrap:anywhere}.rt-service-block__name{margin:0;color:var(--rt-service-block-name-color);font-size:var(--rt-service-block-name-size);font-weight:var(--rt-service-block-name-weight);line-height:var(--rt-service-block-name-line-height)}.rt-service-block__description{margin:0;color:var(--rt-service-block-description-color);font-size:var(--rt-service-block-description-size);font-weight:var(--rt-service-block-description-weight);line-height:var(--rt-service-block-description-line-height)}}\n"],
56
+ dependencies: [
57
+ {
58
+ kind: "directive",
59
+ type: BlockDirective,
60
+ selector: "[rtBlock]",
61
+ inputs: ["rtMod"]
62
+ },
63
+ {
64
+ kind: "directive",
65
+ type: ElemDirective,
66
+ selector: "[rtElem]",
67
+ inputs: ["rtMod"]
68
+ },
69
+ {
70
+ kind: "component",
71
+ type: RtServiceLogoComponent,
72
+ selector: "rt-service-logo",
73
+ inputs: ["logos", "size"]
74
+ }
75
+ ],
76
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
77
+ encapsulation: i0.ViewEncapsulation.None
78
+ });
79
+ }
80
+ };
81
+ i0.ɵɵngDeclareClassMetadata({
82
+ minVersion: "12.0.0",
83
+ version: "22.2.2",
84
+ ngImport: i0,
85
+ type: RtServiceBlockComponent,
86
+ decorators: [{
87
+ type: Component,
88
+ args: [{
89
+ selector: "rt-service-block",
90
+ changeDetection: ChangeDetectionStrategy.OnPush,
91
+ encapsulation: ViewEncapsulation.None,
92
+ imports: [
93
+ BlockDirective,
94
+ ElemDirective,
95
+ RtServiceLogoComponent
96
+ ],
97
+ host: { class: BEM_BLOCK },
98
+ template: "<ng-container rtBlock=\"rt-service-block\">\n <rt-service-logo rtElem=\"logo\" qa-dataid=\"service-block-logo\" [logos]=\"logos()\" />\n\n <div rtElem=\"text\">\n <p rtElem=\"name\" qa-dataid=\"service-block-name\">{{ name() }}</p>\n\n @if (description(); as text) {\n <p rtElem=\"description\" qa-dataid=\"service-block-description\">{{ text }}</p>\n }\n </div>\n</ng-container>\n",
99
+ styles: ["@charset \"UTF-8\";@layer rt-kit.components{.rt-service-block{--rt-service-block-gap: var(--rt-space-4);--rt-service-block-text-gap: var(--rt-space-0-5);--rt-service-block-padding-bottom: var(--rt-space-5);--rt-service-block-divider: var(--rt-border-width-thin) solid var(--rt-color-border-subtle);--rt-service-block-name-size: var(--rt-text-xl);--rt-service-block-name-weight: var(--rt-font-weight-semibold);--rt-service-block-name-line-height: var(--rt-leading-snug);--rt-service-block-name-color: var(--rt-color-text-primary);--rt-service-block-description-size: var(--rt-text-sm);--rt-service-block-description-weight: var(--rt-font-weight-regular);--rt-service-block-description-line-height: var(--rt-leading-normal);--rt-service-block-description-color: var(--rt-color-text-muted);display:flex;width:100%;align-items:center;padding-bottom:var(--rt-service-block-padding-bottom);border-bottom:var(--rt-service-block-divider);gap:var(--rt-service-block-gap)}.rt-service-block__logo{flex:none}.rt-service-block__text{display:flex;min-width:0;flex:1 1 0;flex-direction:column;gap:var(--rt-service-block-text-gap);overflow-wrap:anywhere}.rt-service-block__name{margin:0;color:var(--rt-service-block-name-color);font-size:var(--rt-service-block-name-size);font-weight:var(--rt-service-block-name-weight);line-height:var(--rt-service-block-name-line-height)}.rt-service-block__description{margin:0;color:var(--rt-service-block-description-color);font-size:var(--rt-service-block-description-size);font-weight:var(--rt-service-block-description-weight);line-height:var(--rt-service-block-description-line-height)}}\n"]
100
+ }]
101
+ }],
102
+ propDecorators: {
103
+ logos: [{
104
+ type: i0.Input,
105
+ args: [{
106
+ isSignal: true,
107
+ alias: "logos",
108
+ required: true
109
+ }]
110
+ }],
111
+ name: [{
112
+ type: i0.Input,
113
+ args: [{
114
+ isSignal: true,
115
+ alias: "name",
116
+ required: true
117
+ }]
118
+ }],
119
+ description: [{
120
+ type: i0.Input,
121
+ args: [{
122
+ isSignal: true,
123
+ alias: "description",
124
+ required: false
125
+ }]
126
+ }]
127
+ }
128
+ });
129
+ export { RtServiceBlockComponent };
130
+
131
+ //# sourceMappingURL=rt-tools-ui-kit-v2-service-block.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rt-tools-ui-kit-v2-service-block.mjs","names":[],"sources":["../../../projects/ui-kit-v2/src/lib/components/service-block/rt-service-block.component.ts","../../../projects/ui-kit-v2/src/lib/components/service-block/rt-service-block.component.html"],"sourcesContent":["import { ChangeDetectionStrategy, Component, input, InputSignal, ViewEncapsulation } from '@angular/core';\n\nimport { BlockDirective, ElemDirective } from '@rt-tools/core';\n\nimport { IRtServiceLogo, RtServiceLogoComponent } from '@rt-tools/ui-kit-v2/service-logo';\n\nconst BEM_BLOCK: string = 'rt-service-block';\n\n/**\n * Блок службы — первый блок тела панели настройки подключения: знак службы размера `md`, справа\n * имя службы и строка-описание, под блоком черта. Одна разметка на интеграции, способы оплаты и\n * мессенджеры. Своих текстов блок не несёт: имя, описание и подписи знаков даёт приложение.\n */\n@Component({\n selector: 'rt-service-block',\n templateUrl: './rt-service-block.component.html',\n styleUrl: './rt-service-block.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [\n // standalone components / directives\n BlockDirective,\n ElemDirective,\n RtServiceLogoComponent,\n ],\n host: {\n class: BEM_BLOCK,\n },\n})\nexport class RtServiceBlockComponent {\n /** Знаки службы — те же, что принимает `rt-service-logo`; несколько ложатся внахлёст. */\n public readonly logos: InputSignal<readonly IRtServiceLogo.Item[]> = input.required<readonly IRtServiceLogo.Item[]>();\n\n /** Имя службы — жирная строка справа от знака. */\n public readonly name: InputSignal<string> = input.required<string>();\n\n /** Строка-описание под именем. Пустая строка не рисуется. */\n public readonly description: InputSignal<string> = input<string>('');\n}\n","<ng-container rtBlock=\"rt-service-block\">\n <rt-service-logo rtElem=\"logo\" qa-dataid=\"service-block-logo\" [logos]=\"logos()\" />\n\n <div rtElem=\"text\">\n <p rtElem=\"name\" qa-dataid=\"service-block-name\">{{ name() }}</p>\n\n @if (description(); as text) {\n <p rtElem=\"description\" qa-dataid=\"service-block-description\">{{ text }}</p>\n }\n </div>\n</ng-container>\n"],"mappings":";;;;AAMA,MAAM,YAAoB;AAuB1B,IAAa,0BAAb,MAAa,wBAAuB;CAhBpC,cAAA;EAkBoB,KAAA,QAAqD,MAAM,SAA0C,GAAA,YAAA,CAAA,EAAA,WAAA,QAAA,CAAA,+BAAA,CAAA,CAAA;EAGrG,KAAA,OAA4B,MAAM,SAAkB,GAAA,YAAA,CAAA,EAAA,WAAA,OAAA,CAAA,+BAAA,CAAA,CAAA;EAGpD,KAAA,cAAmC,MAAc,IAAG,GAAA,YAAA,CAAA,EAAA,WAAA,cAAA,CAAA,+BAAA,CAAA,CAAA;CACvE;CATY;EAAA,KAAA,OAAA,GAAA,mBAAA;GAAA,YAAA;GAAA,SAAA;GAAA,UAAA;GAAA,MAAA;GAAuB,MAAA,CAAA;GAAA,QAAA,GAAA,gBAAA;EAAA,CAAA;CAAA;CAAvB;EAAA,KAAA,OAAA,GAAA,qBAAA;GAAA,YAAA;GAAA,SAAA;GAAA,MAAA;GAAuB,cAAA;GAAA,UAAA;GAAA,QAAA;IAAA,OAAA;KAAA,mBAAA;KAAA,YAAA;KAAA,UAAA;KAAA,YAAA;KAAA,mBAAA;IAAA;IAAA,MAAA;KAAA,mBAAA;KAAA,YAAA;KAAA,UAAA;KAAA,YAAA;KAAA,mBAAA;IAAA;IAAA,aAAA;KAAA,mBAAA;KAAA,YAAA;KAAA,UAAA;KAAA,YAAA;KAAA,mBAAA;IAAA;GAAA;GAAA,MAAA,EAAA,gBAAA,mBAAA;GAAA,UAAA;GAAA,UC7BpC;GAWA,QAAA,CAAA,glDAAA;GAAA,cAAA;IAAA;KAAA,MAAA;KAAA,MDUQ;KAAc,UAAA;KAAA,QAAA,CAAA,OAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MACd;KAAa,UAAA;KAAA,QAAA,CAAA,OAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MACb;KAAsB,UAAA;KAAA,QAAA,CAAA,SAAA,MAAA;IAAA;GAAA;GAAA,iBAAA,GAAA,wBAAA;GAAA,eAAA,GAAA,kBAAA;EAAA,CAAA;CAAA;;AAMjB,GAAA,yBAAA;CAAA,YAAA;CAAA,SAAA;CAAA,UAAA;CAAA,MAAA;CAAuB,YAAA,CAAA;EAhBnC,MAAA;EACa,MAAA,CAAA;GAAA,UAAA;GAAkB,iBAGX,wBAAwB;GAAM,eAChC,kBAAkB;GAAI,SAC5B;IAEL;IACA;IACA;GACH;GAAA,MACK,EACF,OAAO,UACV;GAAA,UAAA;GAAA,QAAA,CAAA,glDAAA;EAAA,CAAA"}
@@ -6,7 +6,7 @@ import { FormControl, ReactiveFormsModule } from "@angular/forms";
6
6
  import { takeUntilDestroyed } from "@angular/core/rxjs-interop";
7
7
  import { ActivatedRoute, Router, RouterLink } from "@angular/router";
8
8
  import { BlockDirective, ElemDirective, LOCAL_STORAGE, ModDirective, PlatformService, WINDOW } from "@rt-tools/core";
9
- import { BreakpointsService, ERtStorageKeys, rtKitLabel } from "@rt-tools/ui-kit-v2/core";
9
+ import { BreakpointsService, ERtStorageKeys, rtKitLabel, rtMatchParts, rtSearchMatches, rtSearchWords } from "@rt-tools/ui-kit-v2/core";
10
10
  import { RtIconComponent, isKitIconName, materialPairOf } from "@rt-tools/ui-kit-v2/icon";
11
11
  import { RtIconButtonComponent } from "@rt-tools/ui-kit-v2/icon-button";
12
12
  import { RtInputComponent } from "@rt-tools/ui-kit-v2/input";
@@ -69,8 +69,7 @@ function isSideMenuDropOutside(panel, point) {
69
69
  return point.x < panel.left || point.x > panel.right || point.y < panel.top || point.y > panel.bottom;
70
70
  }
71
71
  function filterSideMenuItems(items, query) {
72
- const needle = query.trim().toLowerCase();
73
- if (needle === "") return [...items];
72
+ if (rtSearchWords(query).length === 0) return [...items];
74
73
  return items.reduce((kept, item) => {
75
74
  const isFolder = Boolean(item.submenu?.length);
76
75
  const inside = isFolder ? filterSideMenuItems(item.submenu ?? [], query) : [];
@@ -81,7 +80,7 @@ function filterSideMenuItems(items, query) {
81
80
  });
82
81
  return kept;
83
82
  }
84
- if (item.name?.toLowerCase().includes(needle)) kept.push(isFolder ? {
83
+ if (rtSearchMatches(item.name ?? "", query)) kept.push(isFolder ? {
85
84
  ...item,
86
85
  submenu: []
87
86
  } : item);
@@ -100,36 +99,6 @@ const RT_SIDE_MENU_WIDTH_STEP = 16;
100
99
  function clampSideMenuWidth(width) {
101
100
  return Math.min(480, Math.max(120, width));
102
101
  }
103
- function splitSideMenuTitle(name, query) {
104
- if (name === "") return [];
105
- const needle = query.trim().toLowerCase();
106
- if (needle === "") return [{
107
- text: name,
108
- matched: false
109
- }];
110
- const haystack = name.toLowerCase();
111
- const parts = [];
112
- let from = 0;
113
- for (let at = haystack.indexOf(needle, from); at !== -1; at = haystack.indexOf(needle, from)) {
114
- if (at > from) parts.push({
115
- text: name.slice(from, at),
116
- matched: false
117
- });
118
- parts.push({
119
- text: name.slice(at, at + needle.length),
120
- matched: true
121
- });
122
- from = at + needle.length;
123
- }
124
- if (from < name.length) parts.push({
125
- text: name.slice(from),
126
- matched: false
127
- });
128
- return parts;
129
- }
130
- function splitTitleByWords(name, query) {
131
- return query.split(/\s+/).filter((word) => word !== "").reduce((parts, word) => parts.flatMap((part) => part.matched ? [part] : splitSideMenuTitle(part.text, word)), splitSideMenuTitle(name, ""));
132
- }
133
102
  function walkSideMenuItems(items, expandedIds) {
134
103
  return items.reduce((walk, item) => {
135
104
  walk.push(item);
@@ -506,7 +475,7 @@ i0.ɵɵngDeclareClassMetadata({
506
475
  });
507
476
  var RtSideMenuTitlePartsPipe = class RtSideMenuTitlePartsPipe {
508
477
  transform(name, query) {
509
- return splitSideMenuTitle(name ?? "", query);
478
+ return rtMatchParts(name ?? "", query);
510
479
  }
511
480
  static {
512
481
  this.ɵfac = i0.ɵɵngDeclareFactory({
@@ -2260,6 +2229,6 @@ i0.ɵɵngDeclareClassMetadata({
2260
2229
  }]
2261
2230
  }
2262
2231
  });
2263
- export { RT_SIDE_MENU_DEFAULT_ID, RT_SIDE_MENU_SETTINGS_CONFIG, RT_SIDE_MENU_WIDTH_MAX, RT_SIDE_MENU_WIDTH_MIN, RT_SIDE_MENU_WIDTH_STEP, RtSideMenuComponent, RtSideMenuFooterDirective, RtSideMenuHeaderDirective, RtSideMenuIconDirective, RtSideMenuSettingsService, RtSideMenuSubItemComponent, clampSideMenuWidth, drawnSideMenuWidth, filterSideMenuItems, normalizeSideMenuId, normalizeSideMenuSettings, omitSideMenuSettings, parseSideMenuSettingsRecord, patchSideMenuSettings, pinnedSideMenuItems, provideRtSideMenuSettings, readSideMenuSettings, reportedSideMenuWidth, sideMenuIconName, sideMenuIdsToExpand, sideMenuPressOpensInBrowser, sideMenuWidthByKey, splitSideMenuTitle, splitTitleByWords, startSideMenuWidthDrag, stepSideMenuHighlight, unpairedSideMenuIcons, walkSideMenuItems, warnUnpairedSideMenuIcons };
2232
+ export { RT_SIDE_MENU_DEFAULT_ID, RT_SIDE_MENU_SETTINGS_CONFIG, RT_SIDE_MENU_WIDTH_MAX, RT_SIDE_MENU_WIDTH_MIN, RT_SIDE_MENU_WIDTH_STEP, RtSideMenuComponent, RtSideMenuFooterDirective, RtSideMenuHeaderDirective, RtSideMenuIconDirective, RtSideMenuSettingsService, RtSideMenuSubItemComponent, clampSideMenuWidth, drawnSideMenuWidth, filterSideMenuItems, normalizeSideMenuId, normalizeSideMenuSettings, omitSideMenuSettings, parseSideMenuSettingsRecord, patchSideMenuSettings, pinnedSideMenuItems, provideRtSideMenuSettings, readSideMenuSettings, reportedSideMenuWidth, sideMenuIconName, sideMenuIdsToExpand, sideMenuPressOpensInBrowser, sideMenuWidthByKey, startSideMenuWidthDrag, stepSideMenuHighlight, unpairedSideMenuIcons, walkSideMenuItems, warnUnpairedSideMenuIcons };
2264
2233
 
2265
2234
  //# sourceMappingURL=rt-tools-ui-kit-v2-side-menu.mjs.map