@taiga-ui/addon-doc 4.52.0-canary.d626d20 → 4.52.0-canary.e07790b

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 (128) hide show
  1. package/README.md +33 -43
  2. package/components/api/api-item-number.directive.d.ts +3 -3
  3. package/components/api/api-item.component.d.ts +12 -9
  4. package/components/{documentation/pipes → api}/inspect.pipe.d.ts +1 -1
  5. package/components/{documentation/pipes → api}/type-reference.pipe.d.ts +3 -3
  6. package/components/code/index.d.ts +5 -4
  7. package/components/copy/index.d.ts +1 -1
  8. package/components/demo/index.d.ts +3 -3
  9. package/components/doc-tab/index.d.ts +2 -2
  10. package/components/example/example.component.d.ts +9 -13
  11. package/components/example/example.options.d.ts +1 -3
  12. package/components/index.d.ts +0 -10
  13. package/components/internal/header/index.d.ts +3 -4
  14. package/components/internal/see-also/index.d.ts +2 -2
  15. package/components/internal/source-code/source-code.component.d.ts +7 -8
  16. package/components/main/main.component.d.ts +1 -2
  17. package/components/navigation/navigation.component.d.ts +3 -3
  18. package/components/page/page-tab.directive.d.ts +2 -2
  19. package/components/page/page.component.d.ts +10 -10
  20. package/components/page/page.providers.d.ts +2 -2
  21. package/fesm2022/taiga-ui-addon-doc-components.mjs +237 -664
  22. package/fesm2022/taiga-ui-addon-doc-components.mjs.map +1 -1
  23. package/fesm2022/taiga-ui-addon-doc-services.mjs +4 -4
  24. package/fesm2022/taiga-ui-addon-doc-services.mjs.map +1 -1
  25. package/fesm2022/taiga-ui-addon-doc-tokens.mjs +2 -7
  26. package/fesm2022/taiga-ui-addon-doc-tokens.mjs.map +1 -1
  27. package/fesm2022/taiga-ui-addon-doc-utils.mjs +6 -6
  28. package/fesm2022/taiga-ui-addon-doc-utils.mjs.map +1 -1
  29. package/fesm2022/taiga-ui-addon-doc.mjs +1 -7
  30. package/fesm2022/taiga-ui-addon-doc.mjs.map +1 -1
  31. package/index.d.ts +2 -4
  32. package/package.json +15 -31
  33. package/tokens/doc-icons.d.ts +2 -3
  34. package/utils/inspect.d.ts +1 -1
  35. package/utils/provide-route-page-tab.d.ts +1 -1
  36. package/components/documentation/documentation-property-connector.directive.d.ts +0 -32
  37. package/components/documentation/documentation.component.d.ts +0 -23
  38. package/components/documentation/pipes/cleaner.pipe.d.ts +0 -7
  39. package/components/documentation/pipes/color.pipe.d.ts +0 -7
  40. package/components/documentation/pipes/opacity.pipe.d.ts +0 -7
  41. package/components/documentation/pipes/optional.pipe.d.ts +0 -7
  42. package/components/documentation/pipes/primitive-polymorpheus-content.pipe.d.ts +0 -7
  43. package/components/documentation/pipes/strip-optional.pipe.d.ts +0 -7
  44. package/directives/index.d.ts +0 -1
  45. package/directives/text-code/text-code.directive.d.ts +0 -9
  46. package/esm2022/components/api/api-item-number.directive.mjs +0 -23
  47. package/esm2022/components/api/api-item.component.mjs +0 -118
  48. package/esm2022/components/api/api.component.mjs +0 -16
  49. package/esm2022/components/code/index.mjs +0 -46
  50. package/esm2022/components/copy/index.mjs +0 -29
  51. package/esm2022/components/demo/index.mjs +0 -170
  52. package/esm2022/components/doc-tab/index.mjs +0 -17
  53. package/esm2022/components/documentation/documentation-property-connector.directive.mjs +0 -134
  54. package/esm2022/components/documentation/documentation.component.mjs +0 -108
  55. package/esm2022/components/documentation/pipes/cleaner.pipe.mjs +0 -18
  56. package/esm2022/components/documentation/pipes/color.pipe.mjs +0 -39
  57. package/esm2022/components/documentation/pipes/inspect.pipe.mjs +0 -33
  58. package/esm2022/components/documentation/pipes/opacity.pipe.mjs +0 -30
  59. package/esm2022/components/documentation/pipes/optional.pipe.mjs +0 -18
  60. package/esm2022/components/documentation/pipes/primitive-polymorpheus-content.pipe.mjs +0 -19
  61. package/esm2022/components/documentation/pipes/strip-optional.pipe.mjs +0 -18
  62. package/esm2022/components/documentation/pipes/type-reference.pipe.mjs +0 -29
  63. package/esm2022/components/example/example-get-tabs.pipe.mjs +0 -18
  64. package/esm2022/components/example/example.component.mjs +0 -118
  65. package/esm2022/components/example/example.options.mjs +0 -19
  66. package/esm2022/components/index.mjs +0 -33
  67. package/esm2022/components/internal/header/index.mjs +0 -39
  68. package/esm2022/components/internal/see-also/index.mjs +0 -26
  69. package/esm2022/components/internal/source-code/source-code.component.mjs +0 -54
  70. package/esm2022/components/language-switcher/index.mjs +0 -77
  71. package/esm2022/components/main/main.component.mjs +0 -41
  72. package/esm2022/components/navigation/navigation.component.mjs +0 -205
  73. package/esm2022/components/navigation/navigation.providers.mjs +0 -59
  74. package/esm2022/components/navigation/scroll-into-view.directive.mjs +0 -32
  75. package/esm2022/components/page/page-tab.directive.mjs +0 -20
  76. package/esm2022/components/page/page.component.mjs +0 -77
  77. package/esm2022/components/page/page.providers.mjs +0 -25
  78. package/esm2022/components/taiga-ui-addon-doc-components.mjs +0 -5
  79. package/esm2022/components/theme-switcher/theme-switcher.component.mjs +0 -45
  80. package/esm2022/directives/index.mjs +0 -2
  81. package/esm2022/directives/taiga-ui-addon-doc-directives.mjs +0 -5
  82. package/esm2022/directives/text-code/text-code.directive.mjs +0 -27
  83. package/esm2022/index.mjs +0 -28
  84. package/esm2022/services/index.mjs +0 -2
  85. package/esm2022/services/taiga-ui-addon-doc-services.mjs +0 -5
  86. package/esm2022/services/theme-dark.service.mjs +0 -52
  87. package/esm2022/taiga-ui-addon-doc.mjs +0 -5
  88. package/esm2022/tokens/code-actions.mjs +0 -8
  89. package/esm2022/tokens/code-editor.mjs +0 -6
  90. package/esm2022/tokens/default-tabs.mjs +0 -8
  91. package/esm2022/tokens/doc-icons.mjs +0 -29
  92. package/esm2022/tokens/example-content-processor.mjs +0 -16
  93. package/esm2022/tokens/excluded-properties.mjs +0 -11
  94. package/esm2022/tokens/i18n.mjs +0 -62
  95. package/esm2022/tokens/index.mjs +0 -17
  96. package/esm2022/tokens/logo.mjs +0 -8
  97. package/esm2022/tokens/page-loaded.mjs +0 -9
  98. package/esm2022/tokens/pages.mjs +0 -12
  99. package/esm2022/tokens/see-also.mjs +0 -8
  100. package/esm2022/tokens/source-code.mjs +0 -8
  101. package/esm2022/tokens/support-language.mjs +0 -5
  102. package/esm2022/tokens/taiga-ui-addon-doc-tokens.mjs +0 -5
  103. package/esm2022/tokens/title.mjs +0 -8
  104. package/esm2022/tokens/type-reference-handler.mjs +0 -9
  105. package/esm2022/tokens/url-state-handler.mjs +0 -27
  106. package/esm2022/types/code-editor.mjs +0 -2
  107. package/esm2022/types/demo-params.mjs +0 -2
  108. package/esm2022/types/index.mjs +0 -2
  109. package/esm2022/types/page.mjs +0 -6
  110. package/esm2022/types/source-code-path-options.mjs +0 -2
  111. package/esm2022/types/taiga-ui-addon-doc-types.mjs +0 -5
  112. package/esm2022/utils/clean-object.mjs +0 -10
  113. package/esm2022/utils/coerce-boolean.mjs +0 -4
  114. package/esm2022/utils/coerce-value.mjs +0 -43
  115. package/esm2022/utils/index.mjs +0 -14
  116. package/esm2022/utils/inspect.mjs +0 -67
  117. package/esm2022/utils/is-page-group.mjs +0 -4
  118. package/esm2022/utils/parse-code-block.mjs +0 -9
  119. package/esm2022/utils/provide-route-page-tab.mjs +0 -12
  120. package/esm2022/utils/raw-load-record.mjs +0 -11
  121. package/esm2022/utils/raw-load.mjs +0 -4
  122. package/esm2022/utils/sort-pages.mjs +0 -26
  123. package/esm2022/utils/taiga-ui-addon-doc-utils.mjs +0 -5
  124. package/esm2022/utils/to-flat-map-pages.mjs +0 -22
  125. package/esm2022/utils/transliterate-keyboard-layout.mjs +0 -47
  126. package/esm2022/utils/type-reference-parser.mjs +0 -21
  127. package/fesm2022/taiga-ui-addon-doc-directives.mjs +0 -33
  128. package/fesm2022/taiga-ui-addon-doc-directives.mjs.map +0 -1
@@ -1,17 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- class TuiDocTab {
4
- constructor() {
5
- this.src = '';
6
- }
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDocTab, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiDocTab, isStandalone: true, selector: "tui-doc-tab", inputs: { src: "src" }, ngImport: i0, template: "<div class=\"t-tab\">\n <img\n alt=\"Documentation tab icon\"\n class=\"t-icon\"\n [src]=\"src\"\n />\n <ng-content />\n</div>\n", styles: [".t-tab{display:flex;align-items:center;justify-content:center;padding:0 .5rem;gap:.5rem;color:var(--tui-text-primary)}.t-tab .t-icon{inline-size:1rem;block-size:1rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9
- }
10
- export { TuiDocTab };
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDocTab, decorators: [{
12
- type: Component,
13
- args: [{ standalone: true, selector: 'tui-doc-tab', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"t-tab\">\n <img\n alt=\"Documentation tab icon\"\n class=\"t-icon\"\n [src]=\"src\"\n />\n <ng-content />\n</div>\n", styles: [".t-tab{display:flex;align-items:center;justify-content:center;padding:0 .5rem;gap:.5rem;color:var(--tui-text-primary)}.t-tab .t-icon{inline-size:1rem;block-size:1rem}\n"] }]
14
- }], propDecorators: { src: [{
15
- type: Input
16
- }] } });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9kb2MtdGFiL2luZGV4LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL2NvbXBvbmVudHMvZG9jLXRhYi9pbmRleC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQUV4RSxNQU9hLFNBQVM7SUFQdEI7UUFTVyxRQUFHLEdBQUcsRUFBRSxDQUFDO0tBQ25COytHQUhZLFNBQVM7bUdBQVQsU0FBUywrRkNUdEIsZ0tBUUE7O1NEQ2EsU0FBUzs0RkFBVCxTQUFTO2tCQVByQixTQUFTO2lDQUNNLElBQUksWUFDTixhQUFhLG1CQUdOLHVCQUF1QixDQUFDLE1BQU07OEJBSXhDLEdBQUc7c0JBRFQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAndHVpLWRvYy10YWInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbmRleC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbmRleC5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFR1aURvY1RhYiB7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc3JjID0gJyc7XG59XG4iLCI8ZGl2IGNsYXNzPVwidC10YWJcIj5cbiAgICA8aW1nXG4gICAgICAgIGFsdD1cIkRvY3VtZW50YXRpb24gdGFiIGljb25cIlxuICAgICAgICBjbGFzcz1cInQtaWNvblwiXG4gICAgICAgIFtzcmNdPVwic3JjXCJcbiAgICAvPlxuICAgIDxuZy1jb250ZW50IC8+XG48L2Rpdj5cbiJdfQ==
@@ -1,134 +0,0 @@
1
- import { Location } from '@angular/common';
2
- import { Directive, EventEmitter, inject, Input, Output, signal, TemplateRef, } from '@angular/core';
3
- import { ActivatedRoute, UrlSerializer } from '@angular/router';
4
- import { TUI_DOC_URL_STATE_HANDLER } from '@taiga-ui/addon-doc/tokens';
5
- import { tuiCleanObject, tuiCoerceValue, tuiInspectAny } from '@taiga-ui/addon-doc/utils';
6
- import { tuiIsNumber } from '@taiga-ui/cdk/utils/miscellaneous';
7
- import { TuiAlertService } from '@taiga-ui/core/components/alert';
8
- import { Subject } from 'rxjs';
9
- import * as i0 from "@angular/core";
10
- const SERIALIZED_SUFFIX = '$';
11
- // @bad TODO: refactor output and value sync
12
- class TuiDocDocumentationPropertyConnector {
13
- constructor() {
14
- this.locationRef = inject(Location);
15
- this.activatedRoute = inject(ActivatedRoute);
16
- this.urlSerializer = inject(UrlSerializer);
17
- this.urlStateHandler = inject(TUI_DOC_URL_STATE_HANDLER);
18
- this.alerts = inject(TuiAlertService);
19
- this.documentationPropertyName = '';
20
- this.documentationPropertyMode = null;
21
- this.documentationPropertyType = '';
22
- this.documentationPropertyDeprecated = false;
23
- this.documentationPropertyValues = null;
24
- this.documentationPropertyValueChange = new EventEmitter();
25
- this.changed$ = new Subject();
26
- this.emits = signal(1);
27
- this.template = inject(TemplateRef);
28
- }
29
- get attrName() {
30
- switch (this.documentationPropertyMode) {
31
- case 'input':
32
- return `[${this.documentationPropertyName}]`;
33
- case 'input-output':
34
- return `[(${this.documentationPropertyName})]`;
35
- case 'output':
36
- return `(${this.documentationPropertyName})`;
37
- default:
38
- return this.documentationPropertyName;
39
- }
40
- }
41
- get shouldShowValues() {
42
- return this.documentationPropertyMode !== 'output';
43
- }
44
- get hasItems() {
45
- return !!this.documentationPropertyValues;
46
- }
47
- ngOnInit() {
48
- this.parseParams(this.activatedRoute.snapshot.queryParams);
49
- }
50
- ngOnChanges() {
51
- this.changed$.next();
52
- }
53
- onValueChange(value) {
54
- this.documentationPropertyValue = value;
55
- this.documentationPropertyValueChange.emit(value);
56
- this.setQueryParam(value);
57
- }
58
- emitEvent(event) {
59
- // For more convenient debugging
60
- console.info(this.attrName, event);
61
- this.emits.update((x) => ++x);
62
- let content;
63
- if (event !== undefined) {
64
- content = tuiInspectAny(event, 2);
65
- }
66
- this.alerts.open(content, { label: this.attrName }).subscribe();
67
- }
68
- parseParams(params) {
69
- const propertyValue = params[this.documentationPropertyName];
70
- const propertyValueWithSuffix = params[`${this.documentationPropertyName}${SERIALIZED_SUFFIX}`];
71
- if (!propertyValue && !propertyValueWithSuffix) {
72
- return;
73
- }
74
- let value = !!propertyValueWithSuffix && this.documentationPropertyValues
75
- ? this.documentationPropertyValues[propertyValueWithSuffix]
76
- : tuiCoerceValue(propertyValue);
77
- if (this.documentationPropertyType === 'string' && tuiIsNumber(value)) {
78
- value = value.toString();
79
- }
80
- this.onValueChange(value);
81
- }
82
- setQueryParam(value) {
83
- const tree = this.urlSerializer.parse(this.locationRef.path());
84
- const isValueAvailableByKey = value instanceof Object;
85
- const name = this.documentationPropertyName;
86
- const nameWithSuffix = `${name}${SERIALIZED_SUFFIX}`;
87
- const computedValue = isValueAvailableByKey && this.documentationPropertyValues
88
- ? this.documentationPropertyValues.indexOf(value)
89
- : value;
90
- tree.queryParams = tuiCleanObject({
91
- ...tree.queryParams,
92
- /**
93
- * Caretaker note: reset previous conflicted param in route
94
- * issue: https://github.com/taiga-family/taiga-ui/issues/9764
95
- */
96
- ...(isValueAvailableByKey
97
- ? {
98
- [nameWithSuffix]: computedValue,
99
- [name]: undefined,
100
- }
101
- : {
102
- [nameWithSuffix]: undefined,
103
- [name]: computedValue,
104
- }),
105
- });
106
- this.locationRef.go(this.urlStateHandler(tree));
107
- }
108
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDocDocumentationPropertyConnector, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
109
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiDocDocumentationPropertyConnector, isStandalone: true, selector: "ng-template[documentationPropertyName]", inputs: { documentationPropertyName: "documentationPropertyName", documentationPropertyMode: "documentationPropertyMode", documentationPropertyType: "documentationPropertyType", documentationPropertyValue: "documentationPropertyValue", documentationPropertyDeprecated: "documentationPropertyDeprecated", documentationPropertyValues: "documentationPropertyValues" }, outputs: { documentationPropertyValueChange: "documentationPropertyValueChange" }, exportAs: ["documentationProperty"], usesOnChanges: true, ngImport: i0 }); }
110
- }
111
- export { TuiDocDocumentationPropertyConnector };
112
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDocDocumentationPropertyConnector, decorators: [{
113
- type: Directive,
114
- args: [{
115
- standalone: true,
116
- selector: 'ng-template[documentationPropertyName]',
117
- exportAs: 'documentationProperty',
118
- }]
119
- }], propDecorators: { documentationPropertyName: [{
120
- type: Input
121
- }], documentationPropertyMode: [{
122
- type: Input
123
- }], documentationPropertyType: [{
124
- type: Input
125
- }], documentationPropertyValue: [{
126
- type: Input
127
- }], documentationPropertyDeprecated: [{
128
- type: Input
129
- }], documentationPropertyValues: [{
130
- type: Input
131
- }], documentationPropertyValueChange: [{
132
- type: Output
133
- }] } });
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRhdGlvbi1wcm9wZXJ0eS1jb25uZWN0b3IuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL2NvbXBvbmVudHMvZG9jdW1lbnRhdGlvbi9kb2N1bWVudGF0aW9uLXByb3BlcnR5LWNvbm5lY3Rvci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBR0wsTUFBTSxFQUNOLE1BQU0sRUFDTixXQUFXLEdBQ2QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGNBQWMsRUFBZSxhQUFhLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRSxPQUFPLEVBQUMsY0FBYyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDOUQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hFLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7O0FBRTdCLE1BQU0saUJBQWlCLEdBQUcsR0FBRyxDQUFDO0FBSTlCLDRDQUE0QztBQUM1QyxNQUthLG9DQUFvQztJQUxqRDtRQU1xQixnQkFBVyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMvQixtQkFBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN4QyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN0QyxvQkFBZSxHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQ3BELFdBQU0sR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFHM0MsOEJBQXlCLEdBQUcsRUFBRSxDQUFDO1FBRy9CLDhCQUF5QixHQUFpQyxJQUFJLENBQUM7UUFHL0QsOEJBQXlCLEdBQUcsRUFBRSxDQUFDO1FBTS9CLG9DQUErQixHQUFHLEtBQUssQ0FBQztRQUd4QyxnQ0FBMkIsR0FBd0IsSUFBSSxDQUFDO1FBRy9DLHFDQUFnQyxHQUFHLElBQUksWUFBWSxFQUFLLENBQUM7UUFFekQsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFL0IsVUFBSyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVsQixhQUFRLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0tBdUdsRDtJQXJHRyxJQUFXLFFBQVE7UUFDZixRQUFRLElBQUksQ0FBQyx5QkFBeUIsRUFBRTtZQUNwQyxLQUFLLE9BQU87Z0JBQ1IsT0FBTyxJQUFJLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxDQUFDO1lBQ2pELEtBQUssY0FBYztnQkFDZixPQUFPLEtBQUssSUFBSSxDQUFDLHlCQUF5QixJQUFJLENBQUM7WUFDbkQsS0FBSyxRQUFRO2dCQUNULE9BQU8sSUFBSSxJQUFJLENBQUMseUJBQXlCLEdBQUcsQ0FBQztZQUNqRDtnQkFDSSxPQUFPLElBQUksQ0FBQyx5QkFBeUIsQ0FBQztTQUM3QztJQUNMLENBQUM7SUFFRCxJQUFXLGdCQUFnQjtRQUN2QixPQUFPLElBQUksQ0FBQyx5QkFBeUIsS0FBSyxRQUFRLENBQUM7SUFDdkQsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNmLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQztJQUM5QyxDQUFDO0lBRU0sUUFBUTtRQUNYLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVNLFdBQVc7UUFDZCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFTSxhQUFhLENBQUMsS0FBUTtRQUN6QixJQUFJLENBQUMsMEJBQTBCLEdBQUcsS0FBSyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU0sU0FBUyxDQUFDLEtBQWM7UUFDM0IsZ0NBQWdDO1FBQ2hDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUVuQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUU5QixJQUFJLE9BQTJCLENBQUM7UUFFaEMsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFO1lBQ3JCLE9BQU8sR0FBRyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3JDO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2xFLENBQUM7SUFFTyxXQUFXLENBQUMsTUFBYztRQUM5QixNQUFNLGFBQWEsR0FBdUIsTUFBTSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQ2pGLE1BQU0sdUJBQXVCLEdBQ3pCLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxpQkFBaUIsRUFBRSxDQUFDLENBQUM7UUFFcEUsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLHVCQUF1QixFQUFFO1lBQzVDLE9BQU87U0FDVjtRQUVELElBQUksS0FBSyxHQUNMLENBQUMsQ0FBQyx1QkFBdUIsSUFBSSxJQUFJLENBQUMsMkJBQTJCO1lBQ3pELENBQUMsQ0FBQyxJQUFJLENBQUMsMkJBQTJCLENBQUMsdUJBQWlDLENBQUM7WUFDckUsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUV4QyxJQUFJLElBQUksQ0FBQyx5QkFBeUIsS0FBSyxRQUFRLElBQUksV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ25FLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDNUI7UUFFRCxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQVUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFTyxhQUFhLENBQUMsS0FBYztRQUNoQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDL0QsTUFBTSxxQkFBcUIsR0FBRyxLQUFLLFlBQVksTUFBTSxDQUFDO1FBQ3RELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQztRQUM1QyxNQUFNLGNBQWMsR0FBRyxHQUFHLElBQUksR0FBRyxpQkFBaUIsRUFBRSxDQUFDO1FBRXJELE1BQU0sYUFBYSxHQUNmLHFCQUFxQixJQUFJLElBQUksQ0FBQywyQkFBMkI7WUFDckQsQ0FBQyxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxPQUFPLENBQUMsS0FBVSxDQUFDO1lBQ3RELENBQUMsQ0FBQyxLQUFLLENBQUM7UUFFaEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxjQUFjLENBQUM7WUFDOUIsR0FBRyxJQUFJLENBQUMsV0FBVztZQUNuQjs7O2VBR0c7WUFDSCxHQUFHLENBQUMscUJBQXFCO2dCQUNyQixDQUFDLENBQUM7b0JBQ0ksQ0FBQyxjQUFjLENBQUMsRUFBRSxhQUFhO29CQUMvQixDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVM7aUJBQ3BCO2dCQUNILENBQUMsQ0FBQztvQkFDSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLFNBQVM7b0JBQzNCLENBQUMsSUFBSSxDQUFDLEVBQUUsYUFBYTtpQkFDeEIsQ0FBQztTQUNYLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDOytHQXRJUSxvQ0FBb0M7bUdBQXBDLG9DQUFvQzs7U0FBcEMsb0NBQW9DOzRGQUFwQyxvQ0FBb0M7a0JBTGhELFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSx3Q0FBd0M7b0JBQ2xELFFBQVEsRUFBRSx1QkFBdUI7aUJBQ3BDOzhCQVNVLHlCQUF5QjtzQkFEL0IsS0FBSztnQkFJQyx5QkFBeUI7c0JBRC9CLEtBQUs7Z0JBSUMseUJBQXlCO3NCQUQvQixLQUFLO2dCQUlDLDBCQUEwQjtzQkFEaEMsS0FBSztnQkFJQywrQkFBK0I7c0JBRHJDLEtBQUs7Z0JBSUMsMkJBQTJCO3NCQURqQyxLQUFLO2dCQUlVLGdDQUFnQztzQkFEL0MsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TG9jYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIERpcmVjdGl2ZSxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIHR5cGUgT25DaGFuZ2VzLFxuICAgIHR5cGUgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBzaWduYWwsXG4gICAgVGVtcGxhdGVSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgdHlwZSBQYXJhbXMsIFVybFNlcmlhbGl6ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1RVSV9ET0NfVVJMX1NUQVRFX0hBTkRMRVJ9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1kb2MvdG9rZW5zJztcbmltcG9ydCB7dHVpQ2xlYW5PYmplY3QsIHR1aUNvZXJjZVZhbHVlLCB0dWlJbnNwZWN0QW55fSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tZG9jL3V0aWxzJztcbmltcG9ydCB7dHVpSXNOdW1iZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1R1aUFsZXJ0U2VydmljZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9hbGVydCc7XG5pbXBvcnQge1N1YmplY3R9IGZyb20gJ3J4anMnO1xuXG5jb25zdCBTRVJJQUxJWkVEX1NVRkZJWCA9ICckJztcblxuZXhwb3J0IHR5cGUgVHVpRG9jdW1lbnRhdGlvblByb3BlcnR5VHlwZSA9ICdpbnB1dC1vdXRwdXQnIHwgJ2lucHV0JyB8ICdvdXRwdXQnIHwgbnVsbDtcblxuLy8gQGJhZCBUT0RPOiByZWZhY3RvciBvdXRwdXQgYW5kIHZhbHVlIHN5bmNcbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICduZy10ZW1wbGF0ZVtkb2N1bWVudGF0aW9uUHJvcGVydHlOYW1lXScsXG4gICAgZXhwb3J0QXM6ICdkb2N1bWVudGF0aW9uUHJvcGVydHknLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEb2NEb2N1bWVudGF0aW9uUHJvcGVydHlDb25uZWN0b3I8VD4gaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2NhdGlvblJlZiA9IGluamVjdChMb2NhdGlvbik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBhY3RpdmF0ZWRSb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSB1cmxTZXJpYWxpemVyID0gaW5qZWN0KFVybFNlcmlhbGl6ZXIpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdXJsU3RhdGVIYW5kbGVyID0gaW5qZWN0KFRVSV9ET0NfVVJMX1NUQVRFX0hBTkRMRVIpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxlcnRzID0gaW5qZWN0KFR1aUFsZXJ0U2VydmljZSk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkb2N1bWVudGF0aW9uUHJvcGVydHlOYW1lID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkb2N1bWVudGF0aW9uUHJvcGVydHlNb2RlOiBUdWlEb2N1bWVudGF0aW9uUHJvcGVydHlUeXBlID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGRvY3VtZW50YXRpb25Qcm9wZXJ0eVR5cGUgPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGRvY3VtZW50YXRpb25Qcm9wZXJ0eVZhbHVlITogVDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGRvY3VtZW50YXRpb25Qcm9wZXJ0eURlcHJlY2F0ZWQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGRvY3VtZW50YXRpb25Qcm9wZXJ0eVZhbHVlczogcmVhZG9ubHkgVFtdIHwgbnVsbCA9IG51bGw7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgcmVhZG9ubHkgZG9jdW1lbnRhdGlvblByb3BlcnR5VmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFQ+KCk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgY2hhbmdlZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IGVtaXRzID0gc2lnbmFsKDEpO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IHRlbXBsYXRlID0gaW5qZWN0KFRlbXBsYXRlUmVmKTtcblxuICAgIHB1YmxpYyBnZXQgYXR0ck5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgc3dpdGNoICh0aGlzLmRvY3VtZW50YXRpb25Qcm9wZXJ0eU1vZGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ2lucHV0JzpcbiAgICAgICAgICAgICAgICByZXR1cm4gYFske3RoaXMuZG9jdW1lbnRhdGlvblByb3BlcnR5TmFtZX1dYDtcbiAgICAgICAgICAgIGNhc2UgJ2lucHV0LW91dHB1dCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGBbKCR7dGhpcy5kb2N1bWVudGF0aW9uUHJvcGVydHlOYW1lfSldYDtcbiAgICAgICAgICAgIGNhc2UgJ291dHB1dCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGAoJHt0aGlzLmRvY3VtZW50YXRpb25Qcm9wZXJ0eU5hbWV9KWA7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRvY3VtZW50YXRpb25Qcm9wZXJ0eU5hbWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHNob3VsZFNob3dWYWx1ZXMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRvY3VtZW50YXRpb25Qcm9wZXJ0eU1vZGUgIT09ICdvdXRwdXQnO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaGFzSXRlbXMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuZG9jdW1lbnRhdGlvblByb3BlcnR5VmFsdWVzO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wYXJzZVBhcmFtcyh0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hhbmdlZCQubmV4dCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblZhbHVlQ2hhbmdlKHZhbHVlOiBUKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZG9jdW1lbnRhdGlvblByb3BlcnR5VmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5kb2N1bWVudGF0aW9uUHJvcGVydHlWYWx1ZUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICAgICAgdGhpcy5zZXRRdWVyeVBhcmFtKHZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZW1pdEV2ZW50KGV2ZW50OiB1bmtub3duKTogdm9pZCB7XG4gICAgICAgIC8vIEZvciBtb3JlIGNvbnZlbmllbnQgZGVidWdnaW5nXG4gICAgICAgIGNvbnNvbGUuaW5mbyh0aGlzLmF0dHJOYW1lLCBldmVudCk7XG5cbiAgICAgICAgdGhpcy5lbWl0cy51cGRhdGUoKHgpID0+ICsreCk7XG5cbiAgICAgICAgbGV0IGNvbnRlbnQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAgICAgICBpZiAoZXZlbnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgY29udGVudCA9IHR1aUluc3BlY3RBbnkoZXZlbnQsIDIpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hbGVydHMub3Blbihjb250ZW50LCB7bGFiZWw6IHRoaXMuYXR0ck5hbWV9KS5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHBhcnNlUGFyYW1zKHBhcmFtczogUGFyYW1zKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHByb3BlcnR5VmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHBhcmFtc1t0aGlzLmRvY3VtZW50YXRpb25Qcm9wZXJ0eU5hbWVdO1xuICAgICAgICBjb25zdCBwcm9wZXJ0eVZhbHVlV2l0aFN1ZmZpeDogbnVtYmVyIHwgc3RyaW5nIHwgdW5kZWZpbmVkID1cbiAgICAgICAgICAgIHBhcmFtc1tgJHt0aGlzLmRvY3VtZW50YXRpb25Qcm9wZXJ0eU5hbWV9JHtTRVJJQUxJWkVEX1NVRkZJWH1gXTtcblxuICAgICAgICBpZiAoIXByb3BlcnR5VmFsdWUgJiYgIXByb3BlcnR5VmFsdWVXaXRoU3VmZml4KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgdmFsdWUgPVxuICAgICAgICAgICAgISFwcm9wZXJ0eVZhbHVlV2l0aFN1ZmZpeCAmJiB0aGlzLmRvY3VtZW50YXRpb25Qcm9wZXJ0eVZhbHVlc1xuICAgICAgICAgICAgICAgID8gdGhpcy5kb2N1bWVudGF0aW9uUHJvcGVydHlWYWx1ZXNbcHJvcGVydHlWYWx1ZVdpdGhTdWZmaXggYXMgbnVtYmVyXVxuICAgICAgICAgICAgICAgIDogdHVpQ29lcmNlVmFsdWUocHJvcGVydHlWYWx1ZSk7XG5cbiAgICAgICAgaWYgKHRoaXMuZG9jdW1lbnRhdGlvblByb3BlcnR5VHlwZSA9PT0gJ3N0cmluZycgJiYgdHVpSXNOdW1iZXIodmFsdWUpKSB7XG4gICAgICAgICAgICB2YWx1ZSA9IHZhbHVlLnRvU3RyaW5nKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm9uVmFsdWVDaGFuZ2UodmFsdWUgYXMgVCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRRdWVyeVBhcmFtKHZhbHVlOiB1bmtub3duKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRyZWUgPSB0aGlzLnVybFNlcmlhbGl6ZXIucGFyc2UodGhpcy5sb2NhdGlvblJlZi5wYXRoKCkpO1xuICAgICAgICBjb25zdCBpc1ZhbHVlQXZhaWxhYmxlQnlLZXkgPSB2YWx1ZSBpbnN0YW5jZW9mIE9iamVjdDtcbiAgICAgICAgY29uc3QgbmFtZSA9IHRoaXMuZG9jdW1lbnRhdGlvblByb3BlcnR5TmFtZTtcbiAgICAgICAgY29uc3QgbmFtZVdpdGhTdWZmaXggPSBgJHtuYW1lfSR7U0VSSUFMSVpFRF9TVUZGSVh9YDtcblxuICAgICAgICBjb25zdCBjb21wdXRlZFZhbHVlID1cbiAgICAgICAgICAgIGlzVmFsdWVBdmFpbGFibGVCeUtleSAmJiB0aGlzLmRvY3VtZW50YXRpb25Qcm9wZXJ0eVZhbHVlc1xuICAgICAgICAgICAgICAgID8gdGhpcy5kb2N1bWVudGF0aW9uUHJvcGVydHlWYWx1ZXMuaW5kZXhPZih2YWx1ZSBhcyBUKVxuICAgICAgICAgICAgICAgIDogdmFsdWU7XG5cbiAgICAgICAgdHJlZS5xdWVyeVBhcmFtcyA9IHR1aUNsZWFuT2JqZWN0KHtcbiAgICAgICAgICAgIC4uLnRyZWUucXVlcnlQYXJhbXMsXG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIENhcmV0YWtlciBub3RlOiByZXNldCBwcmV2aW91cyBjb25mbGljdGVkIHBhcmFtIGluIHJvdXRlXG4gICAgICAgICAgICAgKiBpc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL3RhaWdhLWZhbWlseS90YWlnYS11aS9pc3N1ZXMvOTc2NFxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICAuLi4oaXNWYWx1ZUF2YWlsYWJsZUJ5S2V5XG4gICAgICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgICAgICAgW25hbWVXaXRoU3VmZml4XTogY29tcHV0ZWRWYWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICBbbmFtZV06IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAgICAgICBbbmFtZVdpdGhTdWZmaXhdOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgW25hbWVdOiBjb21wdXRlZFZhbHVlLFxuICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMubG9jYXRpb25SZWYuZ28odGhpcy51cmxTdGF0ZUhhbmRsZXIodHJlZSkpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,108 +0,0 @@
1
- import { animate, style, transition, trigger } from '@angular/animations';
2
- import { NgForOf, NgIf, NgSwitch, NgSwitchCase, NgTemplateOutlet } from '@angular/common';
3
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, DestroyRef, inject, Input, } from '@angular/core';
4
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
5
- import { FormsModule } from '@angular/forms';
6
- import { TUI_DOC_DOCUMENTATION_TEXTS, TUI_DOC_EXCLUDED_PROPERTIES, } from '@taiga-ui/addon-doc/tokens';
7
- import { EMPTY_QUERY } from '@taiga-ui/cdk/constants';
8
- import { tuiQueryListChanges, tuiWatch } from '@taiga-ui/cdk/observables';
9
- import { TuiFilterPipe } from '@taiga-ui/cdk/pipes/filter';
10
- import { TuiToArrayPipe } from '@taiga-ui/cdk/pipes/to-array';
11
- import { TuiNotification } from '@taiga-ui/core/components/notification';
12
- import { tuiScrollbarOptionsProvider } from '@taiga-ui/core/components/scrollbar';
13
- import { TuiTextfield } from '@taiga-ui/core/components/textfield';
14
- import { TuiDropdown } from '@taiga-ui/core/directives/dropdown';
15
- import { TuiBadge } from '@taiga-ui/kit/components/badge';
16
- import { TuiDataListWrapper } from '@taiga-ui/kit/components/data-list-wrapper';
17
- import { TuiInputNumber } from '@taiga-ui/kit/components/input-number';
18
- import { TuiSwitch } from '@taiga-ui/kit/components/switch';
19
- import { TuiSelectModule } from '@taiga-ui/legacy/components/select';
20
- import { TuiTextfieldControllerModule } from '@taiga-ui/legacy/directives/textfield-controller';
21
- import { merge, switchMap } from 'rxjs';
22
- import { TuiDocDocumentationPropertyConnector } from './documentation-property-connector.directive';
23
- import { TuiShowCleanerPipe } from './pipes/cleaner.pipe';
24
- import { TuiInspectPipe } from './pipes/inspect.pipe';
25
- import { TuiIsOptionalPipe } from './pipes/optional.pipe';
26
- import { TuiStripOptionalPipe } from './pipes/strip-optional.pipe';
27
- import { TuiDocTypeReferencePipe } from './pipes/type-reference.pipe';
28
- import * as i0 from "@angular/core";
29
- import * as i1 from "@angular/forms";
30
- import * as i2 from "@taiga-ui/kit/components/data-list-wrapper";
31
- import * as i3 from "@taiga-ui/core/components/data-list";
32
- import * as i4 from "@taiga-ui/core/directives/dropdown";
33
- import * as i5 from "@taiga-ui/kit/components/input-number";
34
- import * as i6 from "@taiga-ui/legacy/components/select";
35
- import * as i7 from "@taiga-ui/core/components/textfield";
36
- import * as i8 from "@taiga-ui/legacy/directives/textfield-controller";
37
- // @bad TODO subscribe propertiesConnectors changes
38
- // @bad TODO refactor to make more flexible
39
- class TuiDocDocumentation {
40
- constructor() {
41
- this.cdr = inject(ChangeDetectorRef);
42
- this.destroyRef = inject(DestroyRef);
43
- this.propertiesConnectors = EMPTY_QUERY;
44
- this.texts = inject(TUI_DOC_DOCUMENTATION_TEXTS);
45
- this.excludedProperties = inject(TUI_DOC_EXCLUDED_PROPERTIES);
46
- this.activeItemIndex = 0;
47
- this.heading = '';
48
- this.showValues = true;
49
- this.isAPI = false;
50
- this.matcher = (item, exclusions) => !exclusions.has(item.documentationPropertyName);
51
- }
52
- ngAfterContentInit() {
53
- tuiQueryListChanges(this.propertiesConnectors)
54
- .pipe(switchMap((items) => merge(...items.map(({ changed$ }) => changed$))), tuiWatch(this.cdr), takeUntilDestroyed(this.destroyRef))
55
- .subscribe();
56
- }
57
- get type() {
58
- return this.isAPI ? this.texts[0] : this.texts[1];
59
- }
60
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDocDocumentation, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
61
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiDocDocumentation, isStandalone: true, selector: "tui-doc-documentation", inputs: { heading: "heading", showValues: "showValues", isAPI: "isAPI" }, providers: [tuiScrollbarOptionsProvider({ mode: 'hover' })], queries: [{ propertyName: "propertiesConnectors", predicate: TuiDocDocumentationPropertyConnector }], ngImport: i0, template: "<h1\n *ngIf=\"heading\"\n class=\"t-heading\"\n>\n {{ heading }}\n</h1>\n<ng-content />\n<ng-container *ngIf=\"propertiesConnectors | tuiToArray | tuiFilter: matcher : excludedProperties as properties\">\n <table\n *ngIf=\"properties.length\"\n class=\"t-table\"\n >\n <tr class=\"t-row t-row_header\">\n <th class=\"t-th t-cell t-cell_prop\">{{ texts[2] }}</th>\n <th class=\"t-th\">{{ type }}</th>\n <th\n *ngIf=\"showValues && !isAPI\"\n class=\"t-th t-cell t-th_value\"\n >\n {{ texts[3] }}\n </th>\n </tr>\n <tr\n *ngFor=\"let propertyConnector of properties\"\n class=\"t-row\"\n [class.t-deprecated]=\"propertyConnector.documentationPropertyDeprecated\"\n >\n <td class=\"t-cell t-no-overflow\">\n <div\n automation-id=\"tui-documentation__property-name\"\n class=\"t-property t-additional-info\"\n >\n <code\n *ngIf=\"propertyConnector.attrName\"\n class=\"t-property-code\"\n [style.color]=\"'var(--tui-background-accent-2-pressed)'\"\n >\n {{ propertyConnector.attrName | tuiStripOptionalPipe }}\n </code>\n <tui-badge\n *ngIf=\"propertyConnector.attrName | tuiIsOptionalPipe\"\n appearance=\"neutral\"\n size=\"s\"\n >\n Optional\n </tui-badge>\n <tui-badge\n *ngIf=\"propertyConnector.documentationPropertyDeprecated\"\n appearance=\"negative\"\n size=\"s\"\n >\n Deprecated\n </tui-badge>\n </div>\n <ng-container [ngTemplateOutlet]=\"propertyConnector.template\" />\n </td>\n <td class=\"t-cell t-no-overflow\">\n <span class=\"type\">\n <code class=\"t-code-type\">\n <ng-container\n *ngFor=\"\n let item of propertyConnector.documentationPropertyType | tuiDocTypeReference;\n let last = last\n \"\n >\n <a\n *ngIf=\"item.reference; else default\"\n target=\"_blank\"\n class=\"t-code-reference\"\n [attr.href]=\"item.reference\"\n >\n {{ item.type }}\n </a>\n <ng-template #default>\n {{ item.type }}\n </ng-template>\n <span *ngIf=\"!last\">&nbsp;|&nbsp;</span>\n </ng-container>\n </code>\n </span>\n </td>\n <td\n *ngIf=\"showValues\"\n class=\"t-cell t-cell_value\"\n >\n <ng-container *ngIf=\"propertyConnector.shouldShowValues; else elseEmitter\">\n <tui-select\n *ngIf=\"propertyConnector.hasItems; else noItems\"\n tuiDropdownLimitWidth=\"min\"\n tuiTextfieldSize=\"m\"\n [nativeId]=\"propertyConnector.attrName\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n [tuiTextfieldCleaner]=\"propertyConnector.documentationPropertyType | tuiShowCleanerPipe\"\n [tuiTextfieldLabelOutside]=\"true\"\n [valueContent]=\"selectContent\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n >\n <code class=\"t-exception\">null</code>\n <tui-data-list-wrapper\n *tuiDataList\n class=\"t-data-list\"\n [itemContent]=\"selectContent\"\n [items]=\"propertyConnector.documentationPropertyValues\"\n />\n </tui-select>\n <ng-template\n #selectContent\n let-data\n >\n <code>{{ data | tuiInspectAny }}</code>\n </ng-template>\n\n <ng-template #noItems>\n <ng-container [ngSwitch]=\"propertyConnector.documentationPropertyType\">\n <input\n *ngSwitchCase=\"'boolean'\"\n tuiSwitch\n type=\"checkbox\"\n class=\"t-switch\"\n [id]=\"propertyConnector.attrName\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n [showIcons]=\"true\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n />\n\n <tui-textfield\n *ngSwitchCase=\"'string'\"\n tuiTextfieldSize=\"m\"\n >\n <input\n tuiTextfield\n [id]=\"propertyConnector.attrName\"\n [ngModel]=\"propertyConnector.documentationPropertyValue || ''\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n />\n </tui-textfield>\n\n <tui-textfield\n *ngSwitchCase=\"'number'\"\n tuiTextfieldSize=\"m\"\n >\n <input\n tuiInputNumber\n [id]=\"propertyConnector.attrName\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n [step]=\"1\"\n (ngModelChange)=\"propertyConnector.onValueChange($event || 0)\"\n />\n </tui-textfield>\n </ng-container>\n </ng-template>\n </ng-container>\n\n <ng-template #elseEmitter>\n <tui-notification\n class=\"t-output\"\n [@emitEvent]=\"propertyConnector.emits()\"\n >\n Emit!\n </tui-notification>\n </ng-template>\n </td>\n </tr>\n </table>\n</ng-container>\n", styles: [":host{display:block;min-inline-size:100%}.t-table{inline-size:100%;table-layout:fixed}.t-row:not(:last-child){border-block-end:1px solid var(--tui-border-normal)}@media screen and (max-width: 47.9625em){.t-row{display:flex;flex-wrap:wrap}.t-row_header{display:none}}.t-cell{padding:1rem 1rem .875rem}.t-cell:first-child{padding-inline-start:0}.t-cell:last-child{padding-inline-end:0}.t-cell_prop{inline-size:40%}.t-cell_value{text-align:end}@media screen and (max-width: 47.9625em){.t-cell{inline-size:100%;block-size:auto;padding:.5rem 0;text-align:start}}.t-th{padding:.5rem 1rem;color:var(--tui-text-secondary);font-weight:400;text-align:start}.t-th_value{max-inline-size:20rem;text-align:end}@media screen and (max-width: 47.9625em){.t-th_value{inline-size:9.375rem}}.t-property{font:var(--tui-font-text-m);margin-block-end:.25rem;font-family:monospace;color:#8f75d1}@media screen and (max-width: 47.9625em){.t-property{padding:.5rem 0}}.t-type{font-family:monospace}.t-deprecated .t-property-code{text-decoration:line-through}.t-deprecated-label{margin-inline-end:.125rem;color:var(--tui-text-negative);font-size:.75rem}.t-additional-info{display:flex;gap:.3125rem;align-items:center}.t-exception{display:block;inline-size:-webkit-max-content;inline-size:max-content}.t-output{text-align:start;opacity:0}.t-heading{font:var(--tui-font-heading-4)}.t-code-type{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start}.t-code-reference{display:inline-flex;color:var(--tui-text-action);text-decoration:none;align-items:center;justify-content:center;gap:.1875rem}.t-code-reference:after{content:\"\";font-size:1rem;inline-size:1rem;block-size:1rem;background:currentColor;-webkit-mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1rem\" height=\"1rem\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"></path><polyline points=\"15 3 21 3 21 9\"></polyline><line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\"></line></svg>') center / 100%;mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1rem\" height=\"1rem\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"></path><polyline points=\"15 3 21 3 21 9\"></polyline><line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\"></line></svg>') center / 100%}.t-switch{display:block}@media not screen and (max-width: 47.9625em){.t-switch{margin-inline-start:auto}}.t-data-list{overflow-wrap:anywhere}@media not screen and (max-width: 47.9625em){.t-data-list{max-inline-size:22.5rem}}.t-no-overflow{overflow:hidden!important}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: TuiBadge, selector: "tui-badge,[tuiBadge]", inputs: ["size"] }, { kind: "component", type: i2.TuiDataListWrapperComponent, selector: "tui-data-list-wrapper:not([labels]), tui-data-list-wrapper:not([labels])[new]", inputs: ["items", "disabledItemHandler", "emptyContent", "size", "itemContent"], outputs: ["itemClick"] }, { kind: "directive", type: i3.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { kind: "pipe", type: TuiDocTypeReferencePipe, name: "tuiDocTypeReference" }, { kind: "directive", type: i4.TuiDropdownOptionsDirective, selector: "[tuiDropdownAlign], [tuiDropdownAppearance], [tuiDropdownDirection], [tuiDropdownLimitWidth], [tuiDropdownMinHeight], [tuiDropdownMaxHeight], [tuiDropdownOffset]", inputs: ["tuiDropdownAlign", "tuiDropdownAppearance", "tuiDropdownDirection", "tuiDropdownLimitWidth", "tuiDropdownMinHeight", "tuiDropdownMaxHeight", "tuiDropdownOffset"] }, { kind: "pipe", type: TuiFilterPipe, name: "tuiFilter" }, { kind: "directive", type: i5.TuiInputNumberDirective, selector: "input[tuiInputNumber]", inputs: ["min", "max", "prefix", "postfix"] }, { kind: "component", type: i5.TuiInputNumberStep, selector: "input[tuiInputNumber][step]", inputs: ["step"] }, { kind: "pipe", type: TuiInspectPipe, name: "tuiInspectAny" }, { kind: "pipe", type: TuiIsOptionalPipe, name: "tuiIsOptionalPipe" }, { kind: "directive", type: TuiNotification, selector: "tui-notification,a[tuiNotification],button[tuiNotification]", inputs: ["appearance", "icon", "size"] }, { kind: "ngmodule", type: TuiSelectModule }, { kind: "component", type: i6.TuiSelectComponent, selector: "tui-select", inputs: ["stringify", "identityMatcher", "valueContent"] }, { kind: "directive", type: i6.TuiSelectDirective, selector: "tui-select" }, { kind: "pipe", type: TuiShowCleanerPipe, name: "tuiShowCleanerPipe" }, { kind: "pipe", type: TuiStripOptionalPipe, name: "tuiStripOptionalPipe" }, { kind: "component", type: TuiSwitch, selector: "input[type=\"checkbox\"][tuiSwitch]", inputs: ["size", "showIcons"] }, { kind: "component", type: i7.TuiTextfieldComponent, selector: "tui-textfield:not([multi])" }, { kind: "directive", type: i7.TuiTextfieldDirective, selector: "input[tuiTextfield]:not([tuiInputCard]):not([tuiInputExpire]):not([tuiInputCVC])" }, { kind: "directive", type: i7.TuiTextfieldOptionsDirective, selector: "[tuiTextfieldAppearance],[tuiTextfieldSize],[tuiTextfieldCleaner]", inputs: ["tuiTextfieldAppearance", "tuiTextfieldSize", "tuiTextfieldCleaner"] }, { kind: "ngmodule", type: TuiTextfieldControllerModule }, { kind: "directive", type: i8.TuiTextfieldCleanerDirective, selector: "[tuiTextfieldCleaner]", inputs: ["tuiTextfieldCleaner"] }, { kind: "directive", type: i8.TuiTextfieldLabelOutsideDirective, selector: "[tuiTextfieldLabelOutside]", inputs: ["tuiTextfieldLabelOutside"] }, { kind: "directive", type: i8.TuiTextfieldSizeDirective, selector: "[tuiTextfieldSize]", inputs: ["tuiTextfieldSize"] }, { kind: "pipe", type: TuiToArrayPipe, name: "tuiToArray" }], animations: [
62
- trigger('emitEvent', [
63
- transition(':increment', [style({ opacity: 1 }), animate('500ms ease-in')]),
64
- ]),
65
- ], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
66
- }
67
- export { TuiDocDocumentation };
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDocDocumentation, decorators: [{
69
- type: Component,
70
- args: [{ standalone: true, selector: 'tui-doc-documentation', imports: [
71
- FormsModule,
72
- NgForOf,
73
- NgIf,
74
- NgSwitch,
75
- NgSwitchCase,
76
- NgTemplateOutlet,
77
- TuiBadge,
78
- TuiDataListWrapper,
79
- TuiDocTypeReferencePipe,
80
- TuiDropdown,
81
- TuiFilterPipe,
82
- TuiInputNumber,
83
- TuiInspectPipe,
84
- TuiIsOptionalPipe,
85
- TuiNotification,
86
- TuiSelectModule,
87
- TuiShowCleanerPipe,
88
- TuiStripOptionalPipe,
89
- TuiSwitch,
90
- TuiTextfield,
91
- TuiTextfieldControllerModule,
92
- TuiToArrayPipe,
93
- ], changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiScrollbarOptionsProvider({ mode: 'hover' })], animations: [
94
- trigger('emitEvent', [
95
- transition(':increment', [style({ opacity: 1 }), animate('500ms ease-in')]),
96
- ]),
97
- ], template: "<h1\n *ngIf=\"heading\"\n class=\"t-heading\"\n>\n {{ heading }}\n</h1>\n<ng-content />\n<ng-container *ngIf=\"propertiesConnectors | tuiToArray | tuiFilter: matcher : excludedProperties as properties\">\n <table\n *ngIf=\"properties.length\"\n class=\"t-table\"\n >\n <tr class=\"t-row t-row_header\">\n <th class=\"t-th t-cell t-cell_prop\">{{ texts[2] }}</th>\n <th class=\"t-th\">{{ type }}</th>\n <th\n *ngIf=\"showValues && !isAPI\"\n class=\"t-th t-cell t-th_value\"\n >\n {{ texts[3] }}\n </th>\n </tr>\n <tr\n *ngFor=\"let propertyConnector of properties\"\n class=\"t-row\"\n [class.t-deprecated]=\"propertyConnector.documentationPropertyDeprecated\"\n >\n <td class=\"t-cell t-no-overflow\">\n <div\n automation-id=\"tui-documentation__property-name\"\n class=\"t-property t-additional-info\"\n >\n <code\n *ngIf=\"propertyConnector.attrName\"\n class=\"t-property-code\"\n [style.color]=\"'var(--tui-background-accent-2-pressed)'\"\n >\n {{ propertyConnector.attrName | tuiStripOptionalPipe }}\n </code>\n <tui-badge\n *ngIf=\"propertyConnector.attrName | tuiIsOptionalPipe\"\n appearance=\"neutral\"\n size=\"s\"\n >\n Optional\n </tui-badge>\n <tui-badge\n *ngIf=\"propertyConnector.documentationPropertyDeprecated\"\n appearance=\"negative\"\n size=\"s\"\n >\n Deprecated\n </tui-badge>\n </div>\n <ng-container [ngTemplateOutlet]=\"propertyConnector.template\" />\n </td>\n <td class=\"t-cell t-no-overflow\">\n <span class=\"type\">\n <code class=\"t-code-type\">\n <ng-container\n *ngFor=\"\n let item of propertyConnector.documentationPropertyType | tuiDocTypeReference;\n let last = last\n \"\n >\n <a\n *ngIf=\"item.reference; else default\"\n target=\"_blank\"\n class=\"t-code-reference\"\n [attr.href]=\"item.reference\"\n >\n {{ item.type }}\n </a>\n <ng-template #default>\n {{ item.type }}\n </ng-template>\n <span *ngIf=\"!last\">&nbsp;|&nbsp;</span>\n </ng-container>\n </code>\n </span>\n </td>\n <td\n *ngIf=\"showValues\"\n class=\"t-cell t-cell_value\"\n >\n <ng-container *ngIf=\"propertyConnector.shouldShowValues; else elseEmitter\">\n <tui-select\n *ngIf=\"propertyConnector.hasItems; else noItems\"\n tuiDropdownLimitWidth=\"min\"\n tuiTextfieldSize=\"m\"\n [nativeId]=\"propertyConnector.attrName\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n [tuiTextfieldCleaner]=\"propertyConnector.documentationPropertyType | tuiShowCleanerPipe\"\n [tuiTextfieldLabelOutside]=\"true\"\n [valueContent]=\"selectContent\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n >\n <code class=\"t-exception\">null</code>\n <tui-data-list-wrapper\n *tuiDataList\n class=\"t-data-list\"\n [itemContent]=\"selectContent\"\n [items]=\"propertyConnector.documentationPropertyValues\"\n />\n </tui-select>\n <ng-template\n #selectContent\n let-data\n >\n <code>{{ data | tuiInspectAny }}</code>\n </ng-template>\n\n <ng-template #noItems>\n <ng-container [ngSwitch]=\"propertyConnector.documentationPropertyType\">\n <input\n *ngSwitchCase=\"'boolean'\"\n tuiSwitch\n type=\"checkbox\"\n class=\"t-switch\"\n [id]=\"propertyConnector.attrName\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n [showIcons]=\"true\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n />\n\n <tui-textfield\n *ngSwitchCase=\"'string'\"\n tuiTextfieldSize=\"m\"\n >\n <input\n tuiTextfield\n [id]=\"propertyConnector.attrName\"\n [ngModel]=\"propertyConnector.documentationPropertyValue || ''\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n />\n </tui-textfield>\n\n <tui-textfield\n *ngSwitchCase=\"'number'\"\n tuiTextfieldSize=\"m\"\n >\n <input\n tuiInputNumber\n [id]=\"propertyConnector.attrName\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n [step]=\"1\"\n (ngModelChange)=\"propertyConnector.onValueChange($event || 0)\"\n />\n </tui-textfield>\n </ng-container>\n </ng-template>\n </ng-container>\n\n <ng-template #elseEmitter>\n <tui-notification\n class=\"t-output\"\n [@emitEvent]=\"propertyConnector.emits()\"\n >\n Emit!\n </tui-notification>\n </ng-template>\n </td>\n </tr>\n </table>\n</ng-container>\n", styles: [":host{display:block;min-inline-size:100%}.t-table{inline-size:100%;table-layout:fixed}.t-row:not(:last-child){border-block-end:1px solid var(--tui-border-normal)}@media screen and (max-width: 47.9625em){.t-row{display:flex;flex-wrap:wrap}.t-row_header{display:none}}.t-cell{padding:1rem 1rem .875rem}.t-cell:first-child{padding-inline-start:0}.t-cell:last-child{padding-inline-end:0}.t-cell_prop{inline-size:40%}.t-cell_value{text-align:end}@media screen and (max-width: 47.9625em){.t-cell{inline-size:100%;block-size:auto;padding:.5rem 0;text-align:start}}.t-th{padding:.5rem 1rem;color:var(--tui-text-secondary);font-weight:400;text-align:start}.t-th_value{max-inline-size:20rem;text-align:end}@media screen and (max-width: 47.9625em){.t-th_value{inline-size:9.375rem}}.t-property{font:var(--tui-font-text-m);margin-block-end:.25rem;font-family:monospace;color:#8f75d1}@media screen and (max-width: 47.9625em){.t-property{padding:.5rem 0}}.t-type{font-family:monospace}.t-deprecated .t-property-code{text-decoration:line-through}.t-deprecated-label{margin-inline-end:.125rem;color:var(--tui-text-negative);font-size:.75rem}.t-additional-info{display:flex;gap:.3125rem;align-items:center}.t-exception{display:block;inline-size:-webkit-max-content;inline-size:max-content}.t-output{text-align:start;opacity:0}.t-heading{font:var(--tui-font-heading-4)}.t-code-type{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start}.t-code-reference{display:inline-flex;color:var(--tui-text-action);text-decoration:none;align-items:center;justify-content:center;gap:.1875rem}.t-code-reference:after{content:\"\";font-size:1rem;inline-size:1rem;block-size:1rem;background:currentColor;-webkit-mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1rem\" height=\"1rem\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"></path><polyline points=\"15 3 21 3 21 9\"></polyline><line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\"></line></svg>') center / 100%;mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1rem\" height=\"1rem\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"></path><polyline points=\"15 3 21 3 21 9\"></polyline><line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\"></line></svg>') center / 100%}.t-switch{display:block}@media not screen and (max-width: 47.9625em){.t-switch{margin-inline-start:auto}}.t-data-list{overflow-wrap:anywhere}@media not screen and (max-width: 47.9625em){.t-data-list{max-inline-size:22.5rem}}.t-no-overflow{overflow:hidden!important}\n"] }]
98
- }], propDecorators: { propertiesConnectors: [{
99
- type: ContentChildren,
100
- args: [TuiDocDocumentationPropertyConnector]
101
- }], heading: [{
102
- type: Input
103
- }], showValues: [{
104
- type: Input
105
- }], isAPI: [{
106
- type: Input
107
- }] } });
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9kb2N1bWVudGF0aW9uL2RvY3VtZW50YXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL2NvbXBvbmVudHMvZG9jdW1lbnRhdGlvbi9kb2N1bWVudGF0aW9uLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3hFLE9BQU8sRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RixPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxHQUVSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQ0gsMkJBQTJCLEVBQzNCLDJCQUEyQixHQUM5QixNQUFNLDRCQUE0QixDQUFDO0FBQ3BDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsbUJBQW1CLEVBQUUsUUFBUSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDeEUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUU1RCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1B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QUFDO3lCQUM1RSxDQUFDO3FCQUNMOzhCQU9TLG9CQUFvQjtzQkFEN0IsZUFBZTt1QkFBQyxvQ0FBb0M7Z0JBVTlDLE9BQU87c0JBRGIsS0FBSztnQkFJQyxVQUFVO3NCQURoQixLQUFLO2dCQUlDLEtBQUs7c0JBRFgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7YW5pbWF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXJ9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtOZ0Zvck9mLCBOZ0lmLCBOZ1N3aXRjaCwgTmdTd2l0Y2hDYXNlLCBOZ1RlbXBsYXRlT3V0bGV0fSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICB0eXBlIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBEZXN0cm95UmVmLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICB0eXBlIFF1ZXJ5TGlzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBUVUlfRE9DX0RPQ1VNRU5UQVRJT05fVEVYVFMsXG4gICAgVFVJX0RPQ19FWENMVURFRF9QUk9QRVJUSUVTLFxufSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tZG9jL3Rva2Vucyc7XG5pbXBvcnQge0VNUFRZX1FVRVJZfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge3R1aVF1ZXJ5TGlzdENoYW5nZXMsIHR1aVdhdGNofSBmcm9tICdAdGFpZ2EtdWkvY2RrL29ic2VydmFibGVzJztcbmltcG9ydCB7VHVpRmlsdGVyUGlwZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9waXBlcy9maWx0ZXInO1xuaW1wb3J0IHtUdWlUb0FycmF5UGlwZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9waXBlcy90by1hcnJheSc7XG5pbXBvcnQge3R5cGUgVHVpTWF0Y2hlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay90eXBlcyc7XG5pbXBvcnQge1R1aU5vdGlmaWNhdGlvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9ub3RpZmljYXRpb24nO1xuaW1wb3J0IHt0dWlTY3JvbGxiYXJPcHRpb25zUHJvdmlkZXJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvc2Nyb2xsYmFyJztcbmltcG9ydCB7VHVpVGV4dGZpZWxkfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3RleHRmaWVsZCc7XG5pbXBvcnQge1R1aURyb3Bkb3dufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duJztcbmltcG9ydCB7VHVpQmFkZ2V9IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9iYWRnZSc7XG5pbXBvcnQge1R1aURhdGFMaXN0V3JhcHBlcn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2RhdGEtbGlzdC13cmFwcGVyJztcbmltcG9ydCB7VHVpSW5wdXROdW1iZXJ9IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1udW1iZXInO1xuaW1wb3J0IHtUdWlTd2l0Y2h9IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9zd2l0Y2gnO1xuaW1wb3J0IHtUdWlTZWxlY3RNb2R1bGV9IGZyb20gJ0B0YWlnYS11aS9sZWdhY3kvY29tcG9uZW50cy9zZWxlY3QnO1xuaW1wb3J0IHtUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlfSBmcm9tICdAdGFpZ2EtdWkvbGVnYWN5L2RpcmVjdGl2ZXMvdGV4dGZpZWxkLWNvbnRyb2xsZXInO1xuaW1wb3J0IHttZXJnZSwgc3dpdGNoTWFwfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUdWlEb2NEb2N1bWVudGF0aW9uUHJvcGVydHlDb25uZWN0b3J9IGZyb20gJy4vZG9jdW1lbnRhdGlvbi1wcm9wZXJ0eS1jb25uZWN0b3IuZGlyZWN0aXZlJztcbmltcG9ydCB7VHVpU2hvd0NsZWFuZXJQaXBlfSBmcm9tICcuL3BpcGVzL2NsZWFuZXIucGlwZSc7XG5pbXBvcnQge1R1aUluc3BlY3RQaXBlfSBmcm9tICcuL3BpcGVzL2luc3BlY3QucGlwZSc7XG5pbXBvcnQge1R1aUlzT3B0aW9uYWxQaXBlfSBmcm9tICcuL3BpcGVzL29wdGlvbmFsLnBpcGUnO1xuaW1wb3J0IHtUdWlTdHJpcE9wdGlvbmFsUGlwZX0gZnJvbSAnLi9waXBlcy9zdHJpcC1vcHRpb25hbC5waXBlJztcbmltcG9ydCB7VHVpRG9jVHlwZVJlZmVyZW5jZVBpcGV9IGZyb20gJy4vcGlwZXMvdHlwZS1yZWZlcmVuY2UucGlwZSc7XG5cbi8vIEBiYWQgVE9ETyBzdWJzY3JpYmUgcHJvcGVydGllc0Nvbm5lY3RvcnMgY2hhbmdlc1xuLy8gQGJhZCBUT0RPIHJlZmFjdG9yIHRvIG1ha2UgbW9yZSBmbGV4aWJsZVxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1kb2MtZG9jdW1lbnRhdGlvbicsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgTmdGb3JPZixcbiAgICAgICAgTmdJZixcbiAgICAgICAgTmdTd2l0Y2gsXG4gICAgICAgIE5nU3dpdGNoQ2FzZSxcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICAgICAgVHVpQmFkZ2UsXG4gICAgICAgIFR1aURhdGFMaXN0V3JhcHBlcixcbiAgICAgICAgVHVpRG9jVHlwZVJlZmVyZW5jZVBpcGUsXG4gICAgICAgIFR1aURyb3Bkb3duLFxuICAgICAgICBUdWlGaWx0ZXJQaXBlLFxuICAgICAgICBUdWlJbnB1dE51bWJlcixcbiAgICAgICAgVHVpSW5zcGVjdFBpcGUsXG4gICAgICAgIFR1aUlzT3B0aW9uYWxQaXBlLFxuICAgICAgICBUdWlOb3RpZmljYXRpb24sXG4gICAgICAgIFR1aVNlbGVjdE1vZHVsZSxcbiAgICAgICAgVHVpU2hvd0NsZWFuZXJQaXBlLFxuICAgICAgICBUdWlTdHJpcE9wdGlvbmFsUGlwZSxcbiAgICAgICAgVHVpU3dpdGNoLFxuICAgICAgICBUdWlUZXh0ZmllbGQsXG4gICAgICAgIFR1aVRleHRmaWVsZENvbnRyb2xsZXJNb2R1bGUsXG4gICAgICAgIFR1aVRvQXJyYXlQaXBlLFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RvY3VtZW50YXRpb24udGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZG9jdW1lbnRhdGlvbi5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbdHVpU2Nyb2xsYmFyT3B0aW9uc1Byb3ZpZGVyKHttb2RlOiAnaG92ZXInfSldLFxuICAgIGFuaW1hdGlvbnM6IFtcbiAgICAgICAgdHJpZ2dlcignZW1pdEV2ZW50JywgW1xuICAgICAgICAgICAgdHJhbnNpdGlvbignOmluY3JlbWVudCcsIFtzdHlsZSh7b3BhY2l0eTogMX0pLCBhbmltYXRlKCc1MDBtcyBlYXNlLWluJyldKSxcbiAgICAgICAgXSksXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRG9jRG9jdW1lbnRhdGlvbiBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKFR1aURvY0RvY3VtZW50YXRpb25Qcm9wZXJ0eUNvbm5lY3RvcilcbiAgICBwcm90ZWN0ZWQgcHJvcGVydGllc0Nvbm5lY3RvcnM6IFF1ZXJ5TGlzdDxcbiAgICAgICAgVHVpRG9jRG9jdW1lbnRhdGlvblByb3BlcnR5Q29ubmVjdG9yPHVua25vd24+XG4gICAgPiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRleHRzID0gaW5qZWN0KFRVSV9ET0NfRE9DVU1FTlRBVElPTl9URVhUUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGV4Y2x1ZGVkUHJvcGVydGllcyA9IGluamVjdChUVUlfRE9DX0VYQ0xVREVEX1BST1BFUlRJRVMpO1xuICAgIHByb3RlY3RlZCBhY3RpdmVJdGVtSW5kZXggPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaGVhZGluZyA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2hvd1ZhbHVlcyA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpc0FQSSA9IGZhbHNlO1xuXG4gICAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdHVpUXVlcnlMaXN0Q2hhbmdlcyh0aGlzLnByb3BlcnRpZXNDb25uZWN0b3JzKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKChpdGVtcykgPT4gbWVyZ2UoLi4uaXRlbXMubWFwKCh7Y2hhbmdlZCR9KSA9PiBjaGFuZ2VkJCkpKSxcbiAgICAgICAgICAgICAgICB0dWlXYXRjaCh0aGlzLmNkciksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZiksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCB0eXBlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzQVBJID8gdGhpcy50ZXh0c1swXSA6IHRoaXMudGV4dHNbMV07XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG1hdGNoZXI6IFR1aU1hdGNoZXI8XG4gICAgICAgIFtUdWlEb2NEb2N1bWVudGF0aW9uUHJvcGVydHlDb25uZWN0b3I8dW5rbm93bj4sIFNldDxzdHJpbmc+XVxuICAgID4gPSAoaXRlbSwgZXhjbHVzaW9ucykgPT4gIWV4Y2x1c2lvbnMuaGFzKGl0ZW0uZG9jdW1lbnRhdGlvblByb3BlcnR5TmFtZSk7XG59XG4iLCI8aDFcbiAgICAqbmdJZj1cImhlYWRpbmdcIlxuICAgIGNsYXNzPVwidC1oZWFkaW5nXCJcbj5cbiAgICB7eyBoZWFkaW5nIH19XG48L2gxPlxuPG5nLWNvbnRlbnQgLz5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJwcm9wZXJ0aWVzQ29ubmVjdG9ycyB8IHR1aVRvQXJyYXkgfCB0dWlGaWx0ZXI6IG1hdGNoZXIgOiBleGNsdWRlZFByb3BlcnRpZXMgYXMgcHJvcGVydGllc1wiPlxuICAgIDx0YWJsZVxuICAgICAgICAqbmdJZj1cInByb3BlcnRpZXMubGVuZ3RoXCJcbiAgICAgICAgY2xhc3M9XCJ0LXRhYmxlXCJcbiAgICA+XG4gICAgICAgIDx0ciBjbGFzcz1cInQtcm93IHQtcm93X2hlYWRlclwiPlxuICAgICAgICAgICAgPHRoIGNsYXNzPVwidC10aCB0LWNlbGwgdC1jZWxsX3Byb3BcIj57eyB0ZXh0c1syXSB9fTwvdGg+XG4gICAgICAgICAgICA8dGggY2xhc3M9XCJ0LXRoXCI+e3sgdHlwZSB9fTwvdGg+XG4gICAgICAgICAgICA8dGhcbiAgICAgICAgICAgICAgICAqbmdJZj1cInNob3dWYWx1ZXMgJiYgIWlzQVBJXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtdGggdC1jZWxsIHQtdGhfdmFsdWVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IHRleHRzWzNdIH19XG4gICAgICAgICAgICA8L3RoPlxuICAgICAgICA8L3RyPlxuICAgICAgICA8dHJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBwcm9wZXJ0eUNvbm5lY3RvciBvZiBwcm9wZXJ0aWVzXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1yb3dcIlxuICAgICAgICAgICAgW2NsYXNzLnQtZGVwcmVjYXRlZF09XCJwcm9wZXJ0eUNvbm5lY3Rvci5kb2N1bWVudGF0aW9uUHJvcGVydHlEZXByZWNhdGVkXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHRkIGNsYXNzPVwidC1jZWxsIHQtbm8tb3ZlcmZsb3dcIj5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktZG9jdW1lbnRhdGlvbl9fcHJvcGVydHktbmFtZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1wcm9wZXJ0eSB0LWFkZGl0aW9uYWwtaW5mb1wiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8Y29kZVxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJwcm9wZXJ0eUNvbm5lY3Rvci5hdHRyTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtcHJvcGVydHktY29kZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiJ3ZhcigtLXR1aS1iYWNrZ3JvdW5kLWFjY2VudC0yLXByZXNzZWQpJ1wiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IHByb3BlcnR5Q29ubmVjdG9yLmF0dHJOYW1lIHwgdHVpU3RyaXBPcHRpb25hbFBpcGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9jb2RlPlxuICAgICAgICAgICAgICAgICAgICA8dHVpLWJhZGdlXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInByb3BlcnR5Q29ubmVjdG9yLmF0dHJOYW1lIHwgdHVpSXNPcHRpb25hbFBpcGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cIm5ldXRyYWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBPcHRpb25hbFxuICAgICAgICAgICAgICAgICAgICA8L3R1aS1iYWRnZT5cbiAgICAgICAgICAgICAgICAgICAgPHR1aS1iYWRnZVxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJwcm9wZXJ0eUNvbm5lY3Rvci5kb2N1bWVudGF0aW9uUHJvcGVydHlEZXByZWNhdGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJuZWdhdGl2ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIERlcHJlY2F0ZWRcbiAgICAgICAgICAgICAgICAgICAgPC90dWktYmFkZ2U+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJwcm9wZXJ0eUNvbm5lY3Rvci50ZW1wbGF0ZVwiIC8+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPHRkIGNsYXNzPVwidC1jZWxsIHQtbm8tb3ZlcmZsb3dcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInR5cGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGNvZGUgY2xhc3M9XCJ0LWNvZGUtdHlwZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbSBvZiBwcm9wZXJ0eUNvbm5lY3Rvci5kb2N1bWVudGF0aW9uUHJvcGVydHlUeXBlIHwgdHVpRG9jVHlwZVJlZmVyZW5jZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGxhc3QgPSBsYXN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIml0ZW0ucmVmZXJlbmNlOyBlbHNlIGRlZmF1bHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtY29kZS1yZWZlcmVuY2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5ocmVmXT1cIml0ZW0ucmVmZXJlbmNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0udHlwZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0udHlwZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhbGFzdFwiPiZuYnNwO3wmbmJzcDs8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9jb2RlPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8dGRcbiAgICAgICAgICAgICAgICAqbmdJZj1cInNob3dWYWx1ZXNcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidC1jZWxsIHQtY2VsbF92YWx1ZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInByb3BlcnR5Q29ubmVjdG9yLnNob3VsZFNob3dWYWx1ZXM7IGVsc2UgZWxzZUVtaXR0ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPHR1aS1zZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicHJvcGVydHlDb25uZWN0b3IuaGFzSXRlbXM7IGVsc2Ugbm9JdGVtc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICB0dWlEcm9wZG93bkxpbWl0V2lkdGg9XCJtaW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgdHVpVGV4dGZpZWxkU2l6ZT1cIm1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25hdGl2ZUlkXT1cInByb3BlcnR5Q29ubmVjdG9yLmF0dHJOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cInByb3BlcnR5Q29ubmVjdG9yLmRvY3VtZW50YXRpb25Qcm9wZXJ0eVZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0dWlUZXh0ZmllbGRDbGVhbmVyXT1cInByb3BlcnR5Q29ubmVjdG9yLmRvY3VtZW50YXRpb25Qcm9wZXJ0eVR5cGUgfCB0dWlTaG93Q2xlYW5lclBpcGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3R1aVRleHRmaWVsZExhYmVsT3V0c2lkZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZUNvbnRlbnRdPVwic2VsZWN0Q29udGVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJwcm9wZXJ0eUNvbm5lY3Rvci5vblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8Y29kZSBjbGFzcz1cInQtZXhjZXB0aW9uXCI+bnVsbDwvY29kZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0dWktZGF0YS1saXN0LXdyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqdHVpRGF0YUxpc3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtZGF0YS1saXN0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXRlbUNvbnRlbnRdPVwic2VsZWN0Q29udGVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2l0ZW1zXT1cInByb3BlcnR5Q29ubmVjdG9yLmRvY3VtZW50YXRpb25Qcm9wZXJ0eVZhbHVlc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8L3R1aS1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgI3NlbGVjdENvbnRlbnRcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldC1kYXRhXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlPnt7IGRhdGEgfCB0dWlJbnNwZWN0QW55IH19PC9jb2RlPlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9JdGVtcz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInByb3BlcnR5Q29ubmVjdG9yLmRvY3VtZW50YXRpb25Qcm9wZXJ0eVR5cGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidib29sZWFuJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR1aVN3aXRjaFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtc3dpdGNoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lkXT1cInByb3BlcnR5Q29ubmVjdG9yLmF0dHJOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nTW9kZWxdPVwicHJvcGVydHlDb25uZWN0b3IuZG9jdW1lbnRhdGlvblByb3BlcnR5VmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvd0ljb25zXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJwcm9wZXJ0eUNvbm5lY3Rvci5vblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHVpLXRleHRmaWVsZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ3N0cmluZydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlUZXh0ZmllbGRTaXplPVwibVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR1aVRleHRmaWVsZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lkXT1cInByb3BlcnR5Q29ubmVjdG9yLmF0dHJOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cInByb3BlcnR5Q29ubmVjdG9yLmRvY3VtZW50YXRpb25Qcm9wZXJ0eVZhbHVlIHx8ICcnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInByb3BlcnR5Q29ubmVjdG9yLm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90dWktdGV4dGZpZWxkPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR1aS10ZXh0ZmllbGRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidudW1iZXInXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpVGV4dGZpZWxkU2l6ZT1cIm1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlJbnB1dE51bWJlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lkXT1cInByb3BlcnR5Q29ubmVjdG9yLmF0dHJOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cInByb3BlcnR5Q29ubmVjdG9yLmRvY3VtZW50YXRpb25Qcm9wZXJ0eVZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdGVwXT1cIjFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicHJvcGVydHlDb25uZWN0b3Iub25WYWx1ZUNoYW5nZSgkZXZlbnQgfHwgMClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHVpLXRleHRmaWVsZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNlbHNlRW1pdHRlcj5cbiAgICAgICAgICAgICAgICAgICAgPHR1aS1ub3RpZmljYXRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1vdXRwdXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW0BlbWl0RXZlbnRdPVwicHJvcGVydHlDb25uZWN0b3IuZW1pdHMoKVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIEVtaXQhXG4gICAgICAgICAgICAgICAgICAgIDwvdHVpLW5vdGlmaWNhdGlvbj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgPC90cj5cbiAgICA8L3RhYmxlPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -1,18 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- class TuiShowCleanerPipe {
4
- transform(type) {
5
- return type.includes('null');
6
- }
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiShowCleanerPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
8
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TuiShowCleanerPipe, isStandalone: true, name: "tuiShowCleanerPipe" }); }
9
- }
10
- export { TuiShowCleanerPipe };
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiShowCleanerPipe, decorators: [{
12
- type: Pipe,
13
- args: [{
14
- standalone: true,
15
- name: 'tuiShowCleanerPipe',
16
- }]
17
- }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYW5lci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL2NvbXBvbmVudHMvZG9jdW1lbnRhdGlvbi9waXBlcy9jbGVhbmVyLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBcUIsTUFBTSxlQUFlLENBQUM7O0FBRXZELE1BSWEsa0JBQWtCO0lBQ3BCLFNBQVMsQ0FBQyxJQUFZO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqQyxDQUFDOytHQUhRLGtCQUFrQjs2R0FBbEIsa0JBQWtCOztTQUFsQixrQkFBa0I7NEZBQWxCLGtCQUFrQjtrQkFKOUIsSUFBSTttQkFBQztvQkFDRixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFLG9CQUFvQjtpQkFDN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIHR5cGUgUGlwZVRyYW5zZm9ybX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIG5hbWU6ICd0dWlTaG93Q2xlYW5lclBpcGUnLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlTaG93Q2xlYW5lclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBwdWJsaWMgdHJhbnNmb3JtKHR5cGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHlwZS5pbmNsdWRlcygnbnVsbCcpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,39 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import { tuiRgbToHex } from '@taiga-ui/cdk/utils/color';
3
- import * as i0 from "@angular/core";
4
- class TuiGetColorPipe {
5
- transform(color) {
6
- if (color.length === 4) {
7
- return color
8
- .split('')
9
- .reduce((result, current) => [...result, current, current], [])
10
- .join('')
11
- .replace('#', '');
12
- }
13
- if (color.startsWith('#')) {
14
- return color;
15
- }
16
- if (color === 'transparent') {
17
- return '#000000';
18
- }
19
- const parsed = color
20
- .replace('rgb(', '')
21
- .replace('rgba(', '')
22
- .replace(')', '')
23
- .replace(' ', '')
24
- .split(',')
25
- .map((v) => Number.parseInt(v, 10));
26
- return tuiRgbToHex(...parsed);
27
- }
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiGetColorPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
29
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TuiGetColorPipe, isStandalone: true, name: "tuiGetColorPipe" }); }
30
- }
31
- export { TuiGetColorPipe };
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiGetColorPipe, decorators: [{
33
- type: Pipe,
34
- args: [{
35
- standalone: true,
36
- name: 'tuiGetColorPipe',
37
- }]
38
- }] });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3IucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWRvYy9jb21wb25lbnRzL2RvY3VtZW50YXRpb24vcGlwZXMvY29sb3IucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sMkJBQTJCLENBQUM7O0FBRXRELE1BSWEsZUFBZTtJQUNqQixTQUFTLENBQUMsS0FBYTtRQUMxQixJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3BCLE9BQU8sS0FBSztpQkFDUCxLQUFLLENBQUMsRUFBRSxDQUFDO2lCQUNULE1BQU0sQ0FBVyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQztpQkFDeEUsSUFBSSxDQUFDLEVBQUUsQ0FBQztpQkFDUixPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ3pCO1FBRUQsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3ZCLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBRUQsSUFBSSxLQUFLLEtBQUssYUFBYSxFQUFFO1lBQ3pCLE9BQU8sU0FBUyxDQUFDO1NBQ3BCO1FBRUQsTUFBTSxNQUFNLEdBQUcsS0FBSzthQUNmLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO2FBQ25CLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO2FBQ3BCLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDO2FBQ2hCLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDO2FBQ2hCLEtBQUssQ0FBQyxHQUFHLENBQUM7YUFDVixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUE2QixDQUFDO1FBRXBFLE9BQU8sV0FBVyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUM7SUFDbEMsQ0FBQzsrR0EzQlEsZUFBZTs2R0FBZixlQUFlOztTQUFmLGVBQWU7NEZBQWYsZUFBZTtrQkFKM0IsSUFBSTttQkFBQztvQkFDRixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFLGlCQUFpQjtpQkFDMUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIHR5cGUgUGlwZVRyYW5zZm9ybX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3R1aVJnYlRvSGV4fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2NvbG9yJztcblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3R1aUdldENvbG9yUGlwZScsXG59KVxuZXhwb3J0IGNsYXNzIFR1aUdldENvbG9yUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHB1YmxpYyB0cmFuc2Zvcm0oY29sb3I6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGlmIChjb2xvci5sZW5ndGggPT09IDQpIHtcbiAgICAgICAgICAgIHJldHVybiBjb2xvclxuICAgICAgICAgICAgICAgIC5zcGxpdCgnJylcbiAgICAgICAgICAgICAgICAucmVkdWNlPHN0cmluZ1tdPigocmVzdWx0LCBjdXJyZW50KSA9PiBbLi4ucmVzdWx0LCBjdXJyZW50LCBjdXJyZW50XSwgW10pXG4gICAgICAgICAgICAgICAgLmpvaW4oJycpXG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoJyMnLCAnJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY29sb3Iuc3RhcnRzV2l0aCgnIycpKSB7XG4gICAgICAgICAgICByZXR1cm4gY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY29sb3IgPT09ICd0cmFuc3BhcmVudCcpIHtcbiAgICAgICAgICAgIHJldHVybiAnIzAwMDAwMCc7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwYXJzZWQgPSBjb2xvclxuICAgICAgICAgICAgLnJlcGxhY2UoJ3JnYignLCAnJylcbiAgICAgICAgICAgIC5yZXBsYWNlKCdyZ2JhKCcsICcnKVxuICAgICAgICAgICAgLnJlcGxhY2UoJyknLCAnJylcbiAgICAgICAgICAgIC5yZXBsYWNlKCcgJywgJycpXG4gICAgICAgICAgICAuc3BsaXQoJywnKVxuICAgICAgICAgICAgLm1hcCgodikgPT4gTnVtYmVyLnBhcnNlSW50KHYsIDEwKSkgYXMgW251bWJlciwgbnVtYmVyLCBudW1iZXJdO1xuXG4gICAgICAgIHJldHVybiB0dWlSZ2JUb0hleCguLi5wYXJzZWQpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,33 +0,0 @@
1
- import { inject, Pipe, TemplateRef } from '@angular/core';
2
- import { tuiInspectAny } from '@taiga-ui/addon-doc/utils';
3
- import { TUI_IS_E2E } from '@taiga-ui/cdk/tokens';
4
- import * as i0 from "@angular/core";
5
- class TuiInspectPipe {
6
- constructor() {
7
- this.isE2E = inject(TUI_IS_E2E);
8
- }
9
- transform(value, depth = 2) {
10
- if (this.isE2E && typeof value === 'function') {
11
- /**
12
- * @description:
13
- * When developing in production mode the webpack bundler minify
14
- * functions in different ways, then due to which the string content
15
- * of the function may differ from build to build, which can be to
16
- * various problems when screenshot testing on e2e.
17
- */
18
- return 'λ(x) => y';
19
- }
20
- return value instanceof TemplateRef ? 'TemplateRef' : tuiInspectAny(value, depth);
21
- }
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInspectPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
23
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TuiInspectPipe, isStandalone: true, name: "tuiInspectAny" }); }
24
- }
25
- export { TuiInspectPipe };
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInspectPipe, decorators: [{
27
- type: Pipe,
28
- args: [{
29
- standalone: true,
30
- name: 'tuiInspectAny',
31
- }]
32
- }] });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zcGVjdC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL2NvbXBvbmVudHMvZG9jdW1lbnRhdGlvbi9waXBlcy9pbnNwZWN0LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQXNCLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDeEQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDOztBQUVoRCxNQUlhLGNBQWM7SUFKM0I7UUFLcUIsVUFBSyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztLQWdCL0M7SUFkVSxTQUFTLENBQUMsS0FBYyxFQUFFLEtBQUssR0FBRyxDQUFDO1FBQ3RDLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxPQUFPLEtBQUssS0FBSyxVQUFVLEVBQUU7WUFDM0M7Ozs7OztlQU1HO1lBQ0gsT0FBTyxXQUFXLENBQUM7U0FDdEI7UUFFRCxPQUFPLEtBQUssWUFBWSxXQUFXLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN0RixDQUFDOytHQWhCUSxjQUFjOzZHQUFkLGNBQWM7O1NBQWQsY0FBYzs0RkFBZCxjQUFjO2tCQUoxQixJQUFJO21CQUFDO29CQUNGLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUUsZUFBZTtpQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2luamVjdCwgUGlwZSwgdHlwZSBQaXBlVHJhbnNmb3JtLCBUZW1wbGF0ZVJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3R1aUluc3BlY3RBbnl9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1kb2MvdXRpbHMnO1xuaW1wb3J0IHtUVUlfSVNfRTJFfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5cbkBQaXBlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIG5hbWU6ICd0dWlJbnNwZWN0QW55Jyxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5zcGVjdFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlzRTJFID0gaW5qZWN0KFRVSV9JU19FMkUpO1xuXG4gICAgcHVibGljIHRyYW5zZm9ybSh2YWx1ZTogdW5rbm93biwgZGVwdGggPSAyKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuaXNFMkUgJiYgdHlwZW9mIHZhbHVlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIEBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAgICAqIFdoZW4gZGV2ZWxvcGluZyBpbiBwcm9kdWN0aW9uIG1vZGUgdGhlIHdlYnBhY2sgYnVuZGxlciBtaW5pZnlcbiAgICAgICAgICAgICAqIGZ1bmN0aW9ucyBpbiBkaWZmZXJlbnQgd2F5cywgdGhlbiBkdWUgdG8gd2hpY2ggdGhlIHN0cmluZyBjb250ZW50XG4gICAgICAgICAgICAgKiBvZiB0aGUgZnVuY3Rpb24gbWF5IGRpZmZlciBmcm9tIGJ1aWxkIHRvIGJ1aWxkLCB3aGljaCBjYW4gYmUgdG9cbiAgICAgICAgICAgICAqIHZhcmlvdXMgcHJvYmxlbXMgd2hlbiBzY3JlZW5zaG90IHRlc3Rpbmcgb24gZTJlLlxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICByZXR1cm4gJ867KHgpID0+IHknO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgVGVtcGxhdGVSZWYgPyAnVGVtcGxhdGVSZWYnIDogdHVpSW5zcGVjdEFueSh2YWx1ZSwgZGVwdGgpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,30 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- class TuiGetOpacityPipe {
4
- transform(color) {
5
- if (color.startsWith('#') || color.startsWith('rgb(')) {
6
- return 100;
7
- }
8
- if (color === 'transparent') {
9
- return 0;
10
- }
11
- const lastComma = color.lastIndexOf(',');
12
- const parsed = color
13
- .slice(lastComma)
14
- .replace(')', '')
15
- .replace(' ', '')
16
- .replace(',', '');
17
- return Math.round(Number.parseFloat(parsed) * 100);
18
- }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiGetOpacityPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
20
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TuiGetOpacityPipe, isStandalone: true, name: "tuiGetOpacity" }); }
21
- }
22
- export { TuiGetOpacityPipe };
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiGetOpacityPipe, decorators: [{
24
- type: Pipe,
25
- args: [{
26
- standalone: true,
27
- name: 'tuiGetOpacity',
28
- }]
29
- }] });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BhY2l0eS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL2NvbXBvbmVudHMvZG9jdW1lbnRhdGlvbi9waXBlcy9vcGFjaXR5LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBcUIsTUFBTSxlQUFlLENBQUM7O0FBRXZELE1BSWEsaUJBQWlCO0lBQ25CLFNBQVMsQ0FBQyxLQUFhO1FBQzFCLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ25ELE9BQU8sR0FBRyxDQUFDO1NBQ2Q7UUFFRCxJQUFJLEtBQUssS0FBSyxhQUFhLEVBQUU7WUFDekIsT0FBTyxDQUFDLENBQUM7U0FDWjtRQUVELE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsTUFBTSxNQUFNLEdBQUcsS0FBSzthQUNmLEtBQUssQ0FBQyxTQUFTLENBQUM7YUFDaEIsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUM7YUFDaEIsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUM7YUFDaEIsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUV0QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUN2RCxDQUFDOytHQWxCUSxpQkFBaUI7NkdBQWpCLGlCQUFpQjs7U0FBakIsaUJBQWlCOzRGQUFqQixpQkFBaUI7a0JBSjdCLElBQUk7bUJBQUM7b0JBQ0YsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRSxlQUFlO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGlwZSwgdHlwZSBQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3R1aUdldE9wYWNpdHknLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlHZXRPcGFjaXR5UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHB1YmxpYyB0cmFuc2Zvcm0oY29sb3I6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICAgIGlmIChjb2xvci5zdGFydHNXaXRoKCcjJykgfHwgY29sb3Iuc3RhcnRzV2l0aCgncmdiKCcpKSB7XG4gICAgICAgICAgICByZXR1cm4gMTAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNvbG9yID09PSAndHJhbnNwYXJlbnQnKSB7XG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGxhc3RDb21tYSA9IGNvbG9yLmxhc3RJbmRleE9mKCcsJyk7XG4gICAgICAgIGNvbnN0IHBhcnNlZCA9IGNvbG9yXG4gICAgICAgICAgICAuc2xpY2UobGFzdENvbW1hKVxuICAgICAgICAgICAgLnJlcGxhY2UoJyknLCAnJylcbiAgICAgICAgICAgIC5yZXBsYWNlKCcgJywgJycpXG4gICAgICAgICAgICAucmVwbGFjZSgnLCcsICcnKTtcblxuICAgICAgICByZXR1cm4gTWF0aC5yb3VuZChOdW1iZXIucGFyc2VGbG9hdChwYXJzZWQpICogMTAwKTtcbiAgICB9XG59XG4iXX0=
@@ -1,18 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- class TuiIsOptionalPipe {
4
- transform(name) {
5
- return name.includes('?');
6
- }
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiIsOptionalPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
8
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TuiIsOptionalPipe, isStandalone: true, name: "tuiIsOptionalPipe" }); }
9
- }
10
- export { TuiIsOptionalPipe };
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiIsOptionalPipe, decorators: [{
12
- type: Pipe,
13
- args: [{
14
- standalone: true,
15
- name: 'tuiIsOptionalPipe',
16
- }]
17
- }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uYWwucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWRvYy9jb21wb25lbnRzL2RvY3VtZW50YXRpb24vcGlwZXMvb3B0aW9uYWwucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFxQixNQUFNLGVBQWUsQ0FBQzs7QUFFdkQsTUFJYSxpQkFBaUI7SUFDbkIsU0FBUyxDQUFDLElBQVk7UUFDekIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7K0dBSFEsaUJBQWlCOzZHQUFqQixpQkFBaUI7O1NBQWpCLGlCQUFpQjs0RkFBakIsaUJBQWlCO2tCQUo3QixJQUFJO21CQUFDO29CQUNGLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUUsbUJBQW1CO2lCQUM1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGlwZSwgdHlwZSBQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3R1aUlzT3B0aW9uYWxQaXBlJyxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSXNPcHRpb25hbFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBwdWJsaWMgdHJhbnNmb3JtKG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gbmFtZS5pbmNsdWRlcygnPycpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,19 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import { tuiIsNumber, tuiIsString } from '@taiga-ui/cdk/utils/miscellaneous';
3
- import * as i0 from "@angular/core";
4
- class TuiIsPrimitivePolymorpheusContentPipe {
5
- transform(value) {
6
- return tuiIsString(value) || tuiIsNumber(value);
7
- }
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiIsPrimitivePolymorpheusContentPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
9
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TuiIsPrimitivePolymorpheusContentPipe, isStandalone: true, name: "tuiIsPrimitivePolymorpheusContentPipe" }); }
10
- }
11
- export { TuiIsPrimitivePolymorpheusContentPipe };
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiIsPrimitivePolymorpheusContentPipe, decorators: [{
13
- type: Pipe,
14
- args: [{
15
- standalone: true,
16
- name: 'tuiIsPrimitivePolymorpheusContentPipe',
17
- }]
18
- }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWl0aXZlLXBvbHltb3JwaGV1cy1jb250ZW50LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9kb2N1bWVudGF0aW9uL3BpcGVzL3ByaW1pdGl2ZS1wb2x5bW9ycGhldXMtY29udGVudC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBQyxXQUFXLEVBQUUsV0FBVyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7O0FBRTNFLE1BSWEscUNBQXFDO0lBQ3ZDLFNBQVMsQ0FBQyxLQUFjO1FBQzNCLE9BQU8sV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwRCxDQUFDOytHQUhRLHFDQUFxQzs2R0FBckMscUNBQXFDOztTQUFyQyxxQ0FBcUM7NEZBQXJDLHFDQUFxQztrQkFKakQsSUFBSTttQkFBQztvQkFDRixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFLHVDQUF1QztpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIHR5cGUgUGlwZVRyYW5zZm9ybX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3R1aUlzTnVtYmVyLCB0dWlJc1N0cmluZ30gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3R1aUlzUHJpbWl0aXZlUG9seW1vcnBoZXVzQ29udGVudFBpcGUnLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJc1ByaW1pdGl2ZVBvbHltb3JwaGV1c0NvbnRlbnRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgcHVibGljIHRyYW5zZm9ybSh2YWx1ZTogdW5rbm93bik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHVpSXNTdHJpbmcodmFsdWUpIHx8IHR1aUlzTnVtYmVyKHZhbHVlKTtcbiAgICB9XG59XG4iXX0=
@@ -1,18 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- class TuiStripOptionalPipe {
4
- transform(name) {
5
- return name.replace('?', '');
6
- }
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiStripOptionalPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
8
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TuiStripOptionalPipe, isStandalone: true, name: "tuiStripOptionalPipe" }); }
9
- }
10
- export { TuiStripOptionalPipe };
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiStripOptionalPipe, decorators: [{
12
- type: Pipe,
13
- args: [{
14
- standalone: true,
15
- name: 'tuiStripOptionalPipe',
16
- }]
17
- }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaXAtb3B0aW9uYWwucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWRvYy9jb21wb25lbnRzL2RvY3VtZW50YXRpb24vcGlwZXMvc3RyaXAtb3B0aW9uYWwucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFxQixNQUFNLGVBQWUsQ0FBQzs7QUFFdkQsTUFJYSxvQkFBb0I7SUFDdEIsU0FBUyxDQUFDLElBQVk7UUFDekIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNqQyxDQUFDOytHQUhRLG9CQUFvQjs2R0FBcEIsb0JBQW9COztTQUFwQixvQkFBb0I7NEZBQXBCLG9CQUFvQjtrQkFKaEMsSUFBSTttQkFBQztvQkFDRixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFLHNCQUFzQjtpQkFDL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIHR5cGUgUGlwZVRyYW5zZm9ybX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIG5hbWU6ICd0dWlTdHJpcE9wdGlvbmFsUGlwZScsXG59KVxuZXhwb3J0IGNsYXNzIFR1aVN0cmlwT3B0aW9uYWxQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgcHVibGljIHRyYW5zZm9ybShuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gbmFtZS5yZXBsYWNlKCc/JywgJycpO1xuICAgIH1cbn1cbiJdfQ==