@skyux/layout 11.31.0 → 12.0.0-alpha.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 (115) hide show
  1. package/documentation.json +1552 -1445
  2. package/fesm2022/skyux-layout.mjs +275 -269
  3. package/fesm2022/skyux-layout.mjs.map +1 -1
  4. package/lib/modules/definition-list/definition-list-content.component.d.ts +1 -0
  5. package/lib/modules/definition-list/definition-list-heading.component.d.ts +1 -0
  6. package/lib/modules/definition-list/definition-list-label.component.d.ts +1 -0
  7. package/lib/modules/definition-list/definition-list-value.component.d.ts +1 -0
  8. package/lib/modules/definition-list/definition-list.component.d.ts +1 -0
  9. package/package.json +19 -23
  10. package/esm2022/index.mjs +0 -64
  11. package/esm2022/lib/modules/action-button/action-button-adapter-service.mjs +0 -44
  12. package/esm2022/lib/modules/action-button/action-button-container.component.mjs +0 -139
  13. package/esm2022/lib/modules/action-button/action-button-details.component.mjs +0 -14
  14. package/esm2022/lib/modules/action-button/action-button-header.component.mjs +0 -16
  15. package/esm2022/lib/modules/action-button/action-button-icon.component.mjs +0 -30
  16. package/esm2022/lib/modules/action-button/action-button-permalink.mjs +0 -2
  17. package/esm2022/lib/modules/action-button/action-button.component.mjs +0 -50
  18. package/esm2022/lib/modules/action-button/action-button.module.mjs +0 -64
  19. package/esm2022/lib/modules/action-button/types/action-button-container-align-items-type.mjs +0 -2
  20. package/esm2022/lib/modules/action-button/types/action-button-container-align-items.mjs +0 -2
  21. package/esm2022/lib/modules/back-to-top/back-to-top-adapter.service.mjs +0 -84
  22. package/esm2022/lib/modules/back-to-top/back-to-top.component.mjs +0 -25
  23. package/esm2022/lib/modules/back-to-top/back-to-top.directive.mjs +0 -119
  24. package/esm2022/lib/modules/back-to-top/back-to-top.module.mjs +0 -20
  25. package/esm2022/lib/modules/back-to-top/models/back-to-top-message-type.mjs +0 -11
  26. package/esm2022/lib/modules/back-to-top/models/back-to-top-message.mjs +0 -2
  27. package/esm2022/lib/modules/back-to-top/models/back-to-top-options.mjs +0 -2
  28. package/esm2022/lib/modules/box/box-content.component.mjs +0 -14
  29. package/esm2022/lib/modules/box/box-controls.component.mjs +0 -28
  30. package/esm2022/lib/modules/box/box-header-id-token.mjs +0 -3
  31. package/esm2022/lib/modules/box/box-header.component.mjs +0 -25
  32. package/esm2022/lib/modules/box/box-heading-level.mjs +0 -2
  33. package/esm2022/lib/modules/box/box-heading-style.mjs +0 -2
  34. package/esm2022/lib/modules/box/box.component.mjs +0 -115
  35. package/esm2022/lib/modules/box/box.module.mjs +0 -39
  36. package/esm2022/lib/modules/card/card-actions.component.mjs +0 -15
  37. package/esm2022/lib/modules/card/card-content.component.mjs +0 -15
  38. package/esm2022/lib/modules/card/card-title.component.mjs +0 -15
  39. package/esm2022/lib/modules/card/card.component.mjs +0 -107
  40. package/esm2022/lib/modules/card/card.module.mjs +0 -58
  41. package/esm2022/lib/modules/definition-list/definition-list-content.component.mjs +0 -14
  42. package/esm2022/lib/modules/definition-list/definition-list-heading.component.mjs +0 -14
  43. package/esm2022/lib/modules/definition-list/definition-list-label.component.mjs +0 -19
  44. package/esm2022/lib/modules/definition-list/definition-list-value.component.mjs +0 -20
  45. package/esm2022/lib/modules/definition-list/definition-list.component.mjs +0 -44
  46. package/esm2022/lib/modules/definition-list/definition-list.module.mjs +0 -46
  47. package/esm2022/lib/modules/definition-list/definition-list.service.mjs +0 -18
  48. package/esm2022/lib/modules/description-list/description-list-adapter-service.mjs +0 -44
  49. package/esm2022/lib/modules/description-list/description-list-content.component.mjs +0 -28
  50. package/esm2022/lib/modules/description-list/description-list-description.component.mjs +0 -52
  51. package/esm2022/lib/modules/description-list/description-list-term.component.mjs +0 -30
  52. package/esm2022/lib/modules/description-list/description-list.component.mjs +0 -95
  53. package/esm2022/lib/modules/description-list/description-list.module.mjs +0 -58
  54. package/esm2022/lib/modules/description-list/description-list.service.mjs +0 -24
  55. package/esm2022/lib/modules/description-list/types/description-list-mode-type.mjs +0 -2
  56. package/esm2022/lib/modules/description-list/types/description-list-mode.mjs +0 -24
  57. package/esm2022/lib/modules/fluid-grid/column.component.mjs +0 -66
  58. package/esm2022/lib/modules/fluid-grid/fluid-grid.component.mjs +0 -40
  59. package/esm2022/lib/modules/fluid-grid/fluid-grid.module.mjs +0 -20
  60. package/esm2022/lib/modules/fluid-grid/row.component.mjs +0 -25
  61. package/esm2022/lib/modules/fluid-grid/types/fluid-grid-gutter-size-type.mjs +0 -2
  62. package/esm2022/lib/modules/format/format-item.mjs +0 -2
  63. package/esm2022/lib/modules/format/format.component.mjs +0 -64
  64. package/esm2022/lib/modules/format/format.module.mjs +0 -18
  65. package/esm2022/lib/modules/inline-delete/inline-delete-adapter.service.mjs +0 -123
  66. package/esm2022/lib/modules/inline-delete/inline-delete-type.mjs +0 -16
  67. package/esm2022/lib/modules/inline-delete/inline-delete.component.mjs +0 -164
  68. package/esm2022/lib/modules/inline-delete/inline-delete.module.mjs +0 -19
  69. package/esm2022/lib/modules/page/page-layout-type.mjs +0 -2
  70. package/esm2022/lib/modules/page/page-theme-adapter.service.mjs +0 -40
  71. package/esm2022/lib/modules/page/page.component.mjs +0 -49
  72. package/esm2022/lib/modules/page/page.module.mjs +0 -21
  73. package/esm2022/lib/modules/page-summary/page-summary-adapter.service.mjs +0 -23
  74. package/esm2022/lib/modules/page-summary/page-summary-alert.component.mjs +0 -18
  75. package/esm2022/lib/modules/page-summary/page-summary-content.component.mjs +0 -17
  76. package/esm2022/lib/modules/page-summary/page-summary-image.component.mjs +0 -18
  77. package/esm2022/lib/modules/page-summary/page-summary-key-info.component.mjs +0 -16
  78. package/esm2022/lib/modules/page-summary/page-summary-status.component.mjs +0 -18
  79. package/esm2022/lib/modules/page-summary/page-summary-subtitle.component.mjs +0 -17
  80. package/esm2022/lib/modules/page-summary/page-summary-title.component.mjs +0 -17
  81. package/esm2022/lib/modules/page-summary/page-summary.component.mjs +0 -35
  82. package/esm2022/lib/modules/page-summary/page-summary.module.mjs +0 -60
  83. package/esm2022/lib/modules/shared/sky-layout-resources.module.mjs +0 -44
  84. package/esm2022/lib/modules/text-expand/text-expand-adapter.service.mjs +0 -26
  85. package/esm2022/lib/modules/text-expand/text-expand-modal-context-token.mjs +0 -6
  86. package/esm2022/lib/modules/text-expand/text-expand-modal-context.mjs +0 -2
  87. package/esm2022/lib/modules/text-expand/text-expand-modal.component.mjs +0 -29
  88. package/esm2022/lib/modules/text-expand/text-expand.component.mjs +0 -314
  89. package/esm2022/lib/modules/text-expand/text-expand.module.mjs +0 -16
  90. package/esm2022/lib/modules/text-expand-repeater/text-expand-repeater-adapter.service.mjs +0 -32
  91. package/esm2022/lib/modules/text-expand-repeater/text-expand-repeater.component.mjs +0 -216
  92. package/esm2022/lib/modules/text-expand-repeater/text-expand-repeater.module.mjs +0 -19
  93. package/esm2022/lib/modules/text-expand-repeater/types/text-expand-repeater-list-style-type.mjs +0 -2
  94. package/esm2022/lib/modules/toolbar/toolbar-item.component.mjs +0 -14
  95. package/esm2022/lib/modules/toolbar/toolbar-section.component.mjs +0 -14
  96. package/esm2022/lib/modules/toolbar/toolbar-view-actions.component.mjs +0 -15
  97. package/esm2022/lib/modules/toolbar/toolbar.component.mjs +0 -39
  98. package/esm2022/lib/modules/toolbar/toolbar.module.mjs +0 -37
  99. package/esm2022/skyux-layout.mjs +0 -5
  100. package/esm2022/testing/legacy/action-button-fixture.mjs +0 -48
  101. package/esm2022/testing/legacy/card-fixture.mjs +0 -65
  102. package/esm2022/testing/legacy/page-summary-fixture.mjs +0 -31
  103. package/esm2022/testing/modules/box/box-harness.filters.mjs +0 -2
  104. package/esm2022/testing/modules/box/box-harness.mjs +0 -109
  105. package/esm2022/testing/modules/fluid-grid/column-harness-filters.mjs +0 -2
  106. package/esm2022/testing/modules/fluid-grid/column-harness.mjs +0 -61
  107. package/esm2022/testing/modules/fluid-grid/fluid-grid-harness-filters.mjs +0 -2
  108. package/esm2022/testing/modules/fluid-grid/fluid-grid-harness.mjs +0 -50
  109. package/esm2022/testing/modules/fluid-grid/row-harness-filters.mjs +0 -2
  110. package/esm2022/testing/modules/fluid-grid/row-harness.mjs +0 -35
  111. package/esm2022/testing/modules/text-expand/text-expand-harness-filters.mjs +0 -2
  112. package/esm2022/testing/modules/text-expand/text-expand-harness.mjs +0 -69
  113. package/esm2022/testing/modules/text-expand/text-expand-modal-harness.mjs +0 -33
  114. package/esm2022/testing/public-api.mjs +0 -10
  115. package/esm2022/testing/skyux-layout-testing.mjs +0 -5
@@ -1,60 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { SkyPageSummaryAlertComponent } from './page-summary-alert.component';
4
- import { SkyPageSummaryContentComponent } from './page-summary-content.component';
5
- import { SkyPageSummaryImageComponent } from './page-summary-image.component';
6
- import { SkyPageSummaryKeyInfoComponent } from './page-summary-key-info.component';
7
- import { SkyPageSummaryStatusComponent } from './page-summary-status.component';
8
- import { SkyPageSummarySubtitleComponent } from './page-summary-subtitle.component';
9
- import { SkyPageSummaryTitleComponent } from './page-summary-title.component';
10
- import { SkyPageSummaryComponent } from './page-summary.component';
11
- import * as i0 from "@angular/core";
12
- /**
13
- * @deprecated `SkyPageSummaryModule` is deprecated. For page templates and techniques to summarize page content, see the page design guidelines. For more information, see https://developer.blackbaud.com/skyux/design/guidelines/page-layouts.
14
- */
15
- export class SkyPageSummaryModule {
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyPageSummaryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
17
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: SkyPageSummaryModule, declarations: [SkyPageSummaryAlertComponent,
18
- SkyPageSummaryComponent,
19
- SkyPageSummaryContentComponent,
20
- SkyPageSummaryImageComponent,
21
- SkyPageSummaryKeyInfoComponent,
22
- SkyPageSummaryStatusComponent,
23
- SkyPageSummarySubtitleComponent,
24
- SkyPageSummaryTitleComponent], imports: [CommonModule], exports: [SkyPageSummaryAlertComponent,
25
- SkyPageSummaryComponent,
26
- SkyPageSummaryContentComponent,
27
- SkyPageSummaryImageComponent,
28
- SkyPageSummaryKeyInfoComponent,
29
- SkyPageSummaryStatusComponent,
30
- SkyPageSummarySubtitleComponent,
31
- SkyPageSummaryTitleComponent] }); }
32
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyPageSummaryModule, imports: [CommonModule] }); }
33
- }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyPageSummaryModule, decorators: [{
35
- type: NgModule,
36
- args: [{
37
- declarations: [
38
- SkyPageSummaryAlertComponent,
39
- SkyPageSummaryComponent,
40
- SkyPageSummaryContentComponent,
41
- SkyPageSummaryImageComponent,
42
- SkyPageSummaryKeyInfoComponent,
43
- SkyPageSummaryStatusComponent,
44
- SkyPageSummarySubtitleComponent,
45
- SkyPageSummaryTitleComponent,
46
- ],
47
- imports: [CommonModule],
48
- exports: [
49
- SkyPageSummaryAlertComponent,
50
- SkyPageSummaryComponent,
51
- SkyPageSummaryContentComponent,
52
- SkyPageSummaryImageComponent,
53
- SkyPageSummaryKeyInfoComponent,
54
- SkyPageSummaryStatusComponent,
55
- SkyPageSummarySubtitleComponent,
56
- SkyPageSummaryTitleComponent,
57
- ],
58
- }]
59
- }] });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1zdW1tYXJ5Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sYXlvdXQvc3JjL2xpYi9tb2R1bGVzL3BhZ2Utc3VtbWFyeS9wYWdlLXN1bW1hcnkubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUVuRTs7R0FFRztBQXdCSCxNQUFNLE9BQU8sb0JBQW9COytHQUFwQixvQkFBb0I7Z0hBQXBCLG9CQUFvQixpQkFyQjdCLDRCQUE0QjtZQUM1Qix1QkFBdUI7WUFDdkIsOEJBQThCO1lBQzlCLDRCQUE0QjtZQUM1Qiw4QkFBOEI7WUFDOUIsNkJBQTZCO1lBQzdCLCtCQUErQjtZQUMvQiw0QkFBNEIsYUFFcEIsWUFBWSxhQUVwQiw0QkFBNEI7WUFDNUIsdUJBQXVCO1lBQ3ZCLDhCQUE4QjtZQUM5Qiw0QkFBNEI7WUFDNUIsOEJBQThCO1lBQzlCLDZCQUE2QjtZQUM3QiwrQkFBK0I7WUFDL0IsNEJBQTRCO2dIQUduQixvQkFBb0IsWUFackIsWUFBWTs7NEZBWVgsb0JBQW9CO2tCQXZCaEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osNEJBQTRCO3dCQUM1Qix1QkFBdUI7d0JBQ3ZCLDhCQUE4Qjt3QkFDOUIsNEJBQTRCO3dCQUM1Qiw4QkFBOEI7d0JBQzlCLDZCQUE2Qjt3QkFDN0IsK0JBQStCO3dCQUMvQiw0QkFBNEI7cUJBQzdCO29CQUNELE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFO3dCQUNQLDRCQUE0Qjt3QkFDNUIsdUJBQXVCO3dCQUN2Qiw4QkFBOEI7d0JBQzlCLDRCQUE0Qjt3QkFDNUIsOEJBQThCO3dCQUM5Qiw2QkFBNkI7d0JBQzdCLCtCQUErQjt3QkFDL0IsNEJBQTRCO3FCQUM3QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lQYWdlU3VtbWFyeUFsZXJ0Q29tcG9uZW50IH0gZnJvbSAnLi9wYWdlLXN1bW1hcnktYWxlcnQuY29tcG9uZW50JztcbmltcG9ydCB7IFNreVBhZ2VTdW1tYXJ5Q29udGVudENvbXBvbmVudCB9IGZyb20gJy4vcGFnZS1zdW1tYXJ5LWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7IFNreVBhZ2VTdW1tYXJ5SW1hZ2VDb21wb25lbnQgfSBmcm9tICcuL3BhZ2Utc3VtbWFyeS1pbWFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5UGFnZVN1bW1hcnlLZXlJbmZvQ29tcG9uZW50IH0gZnJvbSAnLi9wYWdlLXN1bW1hcnkta2V5LWluZm8uY29tcG9uZW50JztcbmltcG9ydCB7IFNreVBhZ2VTdW1tYXJ5U3RhdHVzQ29tcG9uZW50IH0gZnJvbSAnLi9wYWdlLXN1bW1hcnktc3RhdHVzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lQYWdlU3VtbWFyeVN1YnRpdGxlQ29tcG9uZW50IH0gZnJvbSAnLi9wYWdlLXN1bW1hcnktc3VidGl0bGUuY29tcG9uZW50JztcbmltcG9ydCB7IFNreVBhZ2VTdW1tYXJ5VGl0bGVDb21wb25lbnQgfSBmcm9tICcuL3BhZ2Utc3VtbWFyeS10aXRsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5UGFnZVN1bW1hcnlDb21wb25lbnQgfSBmcm9tICcuL3BhZ2Utc3VtbWFyeS5jb21wb25lbnQnO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIGBTa3lQYWdlU3VtbWFyeU1vZHVsZWAgaXMgZGVwcmVjYXRlZC4gRm9yIHBhZ2UgdGVtcGxhdGVzIGFuZCB0ZWNobmlxdWVzIHRvIHN1bW1hcml6ZSBwYWdlIGNvbnRlbnQsIHNlZSB0aGUgcGFnZSBkZXNpZ24gZ3VpZGVsaW5lcy4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2Rlc2lnbi9ndWlkZWxpbmVzL3BhZ2UtbGF5b3V0cy5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgU2t5UGFnZVN1bW1hcnlBbGVydENvbXBvbmVudCxcbiAgICBTa3lQYWdlU3VtbWFyeUNvbXBvbmVudCxcbiAgICBTa3lQYWdlU3VtbWFyeUNvbnRlbnRDb21wb25lbnQsXG4gICAgU2t5UGFnZVN1bW1hcnlJbWFnZUNvbXBvbmVudCxcbiAgICBTa3lQYWdlU3VtbWFyeUtleUluZm9Db21wb25lbnQsXG4gICAgU2t5UGFnZVN1bW1hcnlTdGF0dXNDb21wb25lbnQsXG4gICAgU2t5UGFnZVN1bW1hcnlTdWJ0aXRsZUNvbXBvbmVudCxcbiAgICBTa3lQYWdlU3VtbWFyeVRpdGxlQ29tcG9uZW50LFxuICBdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgZXhwb3J0czogW1xuICAgIFNreVBhZ2VTdW1tYXJ5QWxlcnRDb21wb25lbnQsXG4gICAgU2t5UGFnZVN1bW1hcnlDb21wb25lbnQsXG4gICAgU2t5UGFnZVN1bW1hcnlDb250ZW50Q29tcG9uZW50LFxuICAgIFNreVBhZ2VTdW1tYXJ5SW1hZ2VDb21wb25lbnQsXG4gICAgU2t5UGFnZVN1bW1hcnlLZXlJbmZvQ29tcG9uZW50LFxuICAgIFNreVBhZ2VTdW1tYXJ5U3RhdHVzQ29tcG9uZW50LFxuICAgIFNreVBhZ2VTdW1tYXJ5U3VidGl0bGVDb21wb25lbnQsXG4gICAgU2t5UGFnZVN1bW1hcnlUaXRsZUNvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5UGFnZVN1bW1hcnlNb2R1bGUge31cbiJdfQ==
@@ -1,44 +0,0 @@
1
- /* istanbul ignore file */
2
- /**
3
- * NOTICE: DO NOT MODIFY THIS FILE!
4
- * The contents of this file were automatically generated by
5
- * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-layout' schematic.
6
- * To update this file, simply rerun the command.
7
- */
8
- import { NgModule } from '@angular/core';
9
- import { SkyI18nModule, SkyLibResourcesService, } from '@skyux/i18n';
10
- import * as i0 from "@angular/core";
11
- const RESOURCES = {
12
- 'EN-US': {
13
- skyux_back_to_top: { message: 'Back to top' },
14
- skyux_card_checkbox_label: { message: 'Select card' },
15
- skyux_definition_list_none_found: { message: 'None found.' },
16
- skyux_description_list_none_found: { message: 'None found.' },
17
- skyux_inline_delete_assistive_text: {
18
- message: 'Are you sure you want to delete this item?',
19
- },
20
- skyux_inline_delete_cancel: { message: 'Cancel' },
21
- skyux_inline_delete_confirm_deletion: { message: 'Confirm deletion' },
22
- skyux_inline_delete_delete: { message: 'Delete' },
23
- skyux_text_expand_close_text: { message: 'Close' },
24
- skyux_text_expand_modal_title: { message: 'Expanded view' },
25
- skyux_text_expand_see_less: { message: 'See less' },
26
- skyux_text_expand_see_more: { message: 'See more' },
27
- },
28
- };
29
- SkyLibResourcesService.addResources(RESOURCES);
30
- /**
31
- * Import into any component library module that needs to use resource strings.
32
- */
33
- export class SkyLayoutResourcesModule {
34
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyLayoutResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
35
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: SkyLayoutResourcesModule, exports: [SkyI18nModule] }); }
36
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyLayoutResourcesModule, imports: [SkyI18nModule] }); }
37
- }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyLayoutResourcesModule, decorators: [{
39
- type: NgModule,
40
- args: [{
41
- exports: [SkyI18nModule],
42
- }]
43
- }] });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5LWxheW91dC1yZXNvdXJjZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xheW91dC9zcmMvbGliL21vZHVsZXMvc2hhcmVkL3NreS1sYXlvdXQtcmVzb3VyY2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQkFBMEI7QUFFMUI7Ozs7O0dBS0c7QUFDSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDTCxhQUFhLEVBRWIsc0JBQXNCLEdBQ3ZCLE1BQU0sYUFBYSxDQUFDOztBQUVyQixNQUFNLFNBQVMsR0FBb0M7SUFDakQsT0FBTyxFQUFFO1FBQ1AsaUJBQWlCLEVBQUUsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFO1FBQzdDLHlCQUF5QixFQUFFLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRTtRQUNyRCxnQ0FBZ0MsRUFBRSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUU7UUFDNUQsaUNBQWlDLEVBQUUsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFO1FBQzdELGtDQUFrQyxFQUFFO1lBQ2xDLE9BQU8sRUFBRSw0Q0FBNEM7U0FDdEQ7UUFDRCwwQkFBMEIsRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUU7UUFDakQsb0NBQW9DLEVBQUUsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUU7UUFDckUsMEJBQTBCLEVBQUUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFO1FBQ2pELDRCQUE0QixFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRTtRQUNsRCw2QkFBNkIsRUFBRSxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUU7UUFDM0QsMEJBQTBCLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFO1FBQ25ELDBCQUEwQixFQUFFLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRTtLQUNwRDtDQUNGLENBQUM7QUFFRixzQkFBc0IsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7QUFFL0M7O0dBRUc7QUFJSCxNQUFNLE9BQU8sd0JBQXdCOytHQUF4Qix3QkFBd0I7Z0hBQXhCLHdCQUF3QixZQUZ6QixhQUFhO2dIQUVaLHdCQUF3QixZQUZ6QixhQUFhOzs0RkFFWix3QkFBd0I7a0JBSHBDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO2lCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGlzdGFuYnVsIGlnbm9yZSBmaWxlICovXG5cbi8qKlxuICogTk9USUNFOiBETyBOT1QgTU9ESUZZIFRISVMgRklMRSFcbiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgd2VyZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieVxuICogdGhlICduZyBnZW5lcmF0ZSBAc2t5dXgvaTE4bjpsaWItcmVzb3VyY2VzLW1vZHVsZSBsaWIvbW9kdWxlcy9zaGFyZWQvc2t5LWxheW91dCcgc2NoZW1hdGljLlxuICogVG8gdXBkYXRlIHRoaXMgZmlsZSwgc2ltcGx5IHJlcnVuIHRoZSBjb21tYW5kLlxuICovXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU2t5STE4bk1vZHVsZSxcbiAgU2t5TGliUmVzb3VyY2VzLFxuICBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlLFxufSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmNvbnN0IFJFU09VUkNFUzogUmVjb3JkPHN0cmluZywgU2t5TGliUmVzb3VyY2VzPiA9IHtcbiAgJ0VOLVVTJzoge1xuICAgIHNreXV4X2JhY2tfdG9fdG9wOiB7IG1lc3NhZ2U6ICdCYWNrIHRvIHRvcCcgfSxcbiAgICBza3l1eF9jYXJkX2NoZWNrYm94X2xhYmVsOiB7IG1lc3NhZ2U6ICdTZWxlY3QgY2FyZCcgfSxcbiAgICBza3l1eF9kZWZpbml0aW9uX2xpc3Rfbm9uZV9mb3VuZDogeyBtZXNzYWdlOiAnTm9uZSBmb3VuZC4nIH0sXG4gICAgc2t5dXhfZGVzY3JpcHRpb25fbGlzdF9ub25lX2ZvdW5kOiB7IG1lc3NhZ2U6ICdOb25lIGZvdW5kLicgfSxcbiAgICBza3l1eF9pbmxpbmVfZGVsZXRlX2Fzc2lzdGl2ZV90ZXh0OiB7XG4gICAgICBtZXNzYWdlOiAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIGl0ZW0/JyxcbiAgICB9LFxuICAgIHNreXV4X2lubGluZV9kZWxldGVfY2FuY2VsOiB7IG1lc3NhZ2U6ICdDYW5jZWwnIH0sXG4gICAgc2t5dXhfaW5saW5lX2RlbGV0ZV9jb25maXJtX2RlbGV0aW9uOiB7IG1lc3NhZ2U6ICdDb25maXJtIGRlbGV0aW9uJyB9LFxuICAgIHNreXV4X2lubGluZV9kZWxldGVfZGVsZXRlOiB7IG1lc3NhZ2U6ICdEZWxldGUnIH0sXG4gICAgc2t5dXhfdGV4dF9leHBhbmRfY2xvc2VfdGV4dDogeyBtZXNzYWdlOiAnQ2xvc2UnIH0sXG4gICAgc2t5dXhfdGV4dF9leHBhbmRfbW9kYWxfdGl0bGU6IHsgbWVzc2FnZTogJ0V4cGFuZGVkIHZpZXcnIH0sXG4gICAgc2t5dXhfdGV4dF9leHBhbmRfc2VlX2xlc3M6IHsgbWVzc2FnZTogJ1NlZSBsZXNzJyB9LFxuICAgIHNreXV4X3RleHRfZXhwYW5kX3NlZV9tb3JlOiB7IG1lc3NhZ2U6ICdTZWUgbW9yZScgfSxcbiAgfSxcbn07XG5cblNreUxpYlJlc291cmNlc1NlcnZpY2UuYWRkUmVzb3VyY2VzKFJFU09VUkNFUyk7XG5cbi8qKlxuICogSW1wb3J0IGludG8gYW55IGNvbXBvbmVudCBsaWJyYXJ5IG1vZHVsZSB0aGF0IG5lZWRzIHRvIHVzZSByZXNvdXJjZSBzdHJpbmdzLlxuICovXG5ATmdNb2R1bGUoe1xuICBleHBvcnRzOiBbU2t5STE4bk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreUxheW91dFJlc291cmNlc01vZHVsZSB7fVxuIl19
@@ -1,26 +0,0 @@
1
- import { Injectable, } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * @internal
5
- */
6
- export class SkyTextExpandAdapterService {
7
- #renderer;
8
- constructor(rendererFactory) {
9
- this.#renderer = rendererFactory.createRenderer(undefined, null);
10
- }
11
- getContainerHeight(containerEl) {
12
- return containerEl.nativeElement.offsetHeight;
13
- }
14
- removeContainerMaxHeight(containerEl) {
15
- this.#renderer.removeStyle(containerEl.nativeElement, 'max-height');
16
- }
17
- setText(textEl, text) {
18
- textEl.nativeElement.textContent = text;
19
- }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyTextExpandAdapterService, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable }); }
21
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyTextExpandAdapterService }); }
22
- }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyTextExpandAdapterService, decorators: [{
24
- type: Injectable
25
- }], ctorParameters: () => [{ type: i0.RendererFactory2 }] });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1leHBhbmQtYWRhcHRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xheW91dC9zcmMvbGliL21vZHVsZXMvdGV4dC1leHBhbmQvdGV4dC1leHBhbmQtYWRhcHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxVQUFVLEdBR1gsTUFBTSxlQUFlLENBQUM7O0FBRXZCOztHQUVHO0FBRUgsTUFBTSxPQUFPLDJCQUEyQjtJQUN0QyxTQUFTLENBQVk7SUFFckIsWUFBWSxlQUFpQztRQUMzQyxJQUFJLENBQUMsU0FBUyxHQUFHLGVBQWUsQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxXQUF1QjtRQUMvQyxPQUFPLFdBQVcsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDO0lBQ2hELENBQUM7SUFFTSx3QkFBd0IsQ0FBQyxXQUF1QjtRQUNyRCxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFTSxPQUFPLENBQUMsTUFBa0IsRUFBRSxJQUFZO1FBQzdDLE1BQU0sQ0FBQyxhQUFhLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztJQUMxQyxDQUFDOytHQWpCVSwyQkFBMkI7bUhBQTNCLDJCQUEyQjs7NEZBQTNCLDJCQUEyQjtrQkFEdkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdGFibGUsXG4gIFJlbmRlcmVyMixcbiAgUmVuZGVyZXJGYWN0b3J5Mixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTa3lUZXh0RXhwYW5kQWRhcHRlclNlcnZpY2Uge1xuICAjcmVuZGVyZXI6IFJlbmRlcmVyMjtcblxuICBjb25zdHJ1Y3RvcihyZW5kZXJlckZhY3Rvcnk6IFJlbmRlcmVyRmFjdG9yeTIpIHtcbiAgICB0aGlzLiNyZW5kZXJlciA9IHJlbmRlcmVyRmFjdG9yeS5jcmVhdGVSZW5kZXJlcih1bmRlZmluZWQsIG51bGwpO1xuICB9XG5cbiAgcHVibGljIGdldENvbnRhaW5lckhlaWdodChjb250YWluZXJFbDogRWxlbWVudFJlZik6IG51bWJlciB7XG4gICAgcmV0dXJuIGNvbnRhaW5lckVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xuICB9XG5cbiAgcHVibGljIHJlbW92ZUNvbnRhaW5lck1heEhlaWdodChjb250YWluZXJFbDogRWxlbWVudFJlZik6IHZvaWQge1xuICAgIHRoaXMuI3JlbmRlcmVyLnJlbW92ZVN0eWxlKGNvbnRhaW5lckVsLm5hdGl2ZUVsZW1lbnQsICdtYXgtaGVpZ2h0Jyk7XG4gIH1cblxuICBwdWJsaWMgc2V0VGV4dCh0ZXh0RWw6IEVsZW1lbnRSZWYsIHRleHQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRleHRFbC5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50ID0gdGV4dDtcbiAgfVxufVxuIl19
@@ -1,6 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- /**
3
- * @internal
4
- */
5
- export const SKY_TEXT_EXPAND_MODAL_CONTEXT = new InjectionToken('SkyTextExpandModalContext');
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1leHBhbmQtbW9kYWwtY29udGV4dC10b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sYXlvdXQvc3JjL2xpYi9tb2R1bGVzL3RleHQtZXhwYW5kL3RleHQtZXhwYW5kLW1vZGFsLWNvbnRleHQtdG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkvQzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUN4QyxJQUFJLGNBQWMsQ0FBNEIsMkJBQTJCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreVRleHRFeHBhbmRNb2RhbENvbnRleHQgfSBmcm9tICcuL3RleHQtZXhwYW5kLW1vZGFsLWNvbnRleHQnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgU0tZX1RFWFRfRVhQQU5EX01PREFMX0NPTlRFWFQgPVxuICBuZXcgSW5qZWN0aW9uVG9rZW48U2t5VGV4dEV4cGFuZE1vZGFsQ29udGV4dD4oJ1NreVRleHRFeHBhbmRNb2RhbENvbnRleHQnKTtcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1leHBhbmQtbW9kYWwtY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sYXlvdXQvc3JjL2xpYi9tb2R1bGVzL3RleHQtZXhwYW5kL3RleHQtZXhwYW5kLW1vZGFsLWNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2t5VGV4dEV4cGFuZE1vZGFsQ29udGV4dCB7XG4gIGhlYWRlcjogc3RyaW5nO1xuICB0ZXh0OiBzdHJpbmc7XG59XG4iXX0=
@@ -1,29 +0,0 @@
1
- import { Component, Inject } from '@angular/core';
2
- import { SkyModalModule } from '@skyux/modals';
3
- import { SkyLayoutResourcesModule } from '../shared/sky-layout-resources.module';
4
- import { SKY_TEXT_EXPAND_MODAL_CONTEXT } from './text-expand-modal-context-token';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@skyux/modals";
7
- import * as i2 from "@skyux/i18n";
8
- /**
9
- * @internal
10
- */
11
- export class SkyTextExpandModalComponent {
12
- constructor(context, instance) {
13
- this.context = context;
14
- this.instance = instance;
15
- }
16
- close() {
17
- this.instance.close();
18
- }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyTextExpandModalComponent, deps: [{ token: SKY_TEXT_EXPAND_MODAL_CONTEXT }, { token: i1.SkyModalInstance }], target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SkyTextExpandModalComponent, isStandalone: true, selector: "sky-text-expand-modal", ngImport: i0, template: "<sky-modal>\n <sky-modal-header>{{ context.header }}</sky-modal-header>\n <sky-modal-content class=\"sky-text-expand-modal-content\">{{\n context.text\n }}</sky-modal-content>\n <sky-modal-footer>\n <button class=\"sky-btn sky-btn-link\" type=\"button\" (click)=\"close()\">\n {{ 'skyux_text_expand_close_text' | skyLibResources }}\n </button>\n </sky-modal-footer>\n</sky-modal>\n", styles: [".sky-text-expand-ellipsis{letter-spacing:2px;white-space:nowrap}.sky-text-expand-space{white-space:normal}.sky-text-expand-see-more{white-space:nowrap;margin-left:5px}.sky-text-expand-text{margin:0;white-space:pre-wrap}.sky-text-expand-container{word-break:break-word;word-wrap:break-word;overflow:hidden;height:auto}.sky-text-expand-modal-content{white-space:pre-line;word-wrap:break-word}\n"], dependencies: [{ kind: "ngmodule", type: SkyModalModule }, { kind: "component", type: i1.λ5, selector: "sky-modal", inputs: ["formErrors", "headingText", "helpKey", "helpPopoverContent", "helpPopoverTitle", "ariaRole", "tiledBody", "ariaDescribedBy", "ariaLabelledBy"] }, { kind: "component", type: i1.λ2, selector: "sky-modal-content" }, { kind: "component", type: i1.λ3, selector: "sky-modal-footer" }, { kind: "component", type: i1.λ4, selector: "sky-modal-header" }, { kind: "ngmodule", type: SkyLayoutResourcesModule }, { kind: "pipe", type: i2.SkyLibResourcesPipe, name: "skyLibResources" }] }); }
21
- }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyTextExpandModalComponent, decorators: [{
23
- type: Component,
24
- args: [{ standalone: true, selector: 'sky-text-expand-modal', imports: [SkyModalModule, SkyLayoutResourcesModule], template: "<sky-modal>\n <sky-modal-header>{{ context.header }}</sky-modal-header>\n <sky-modal-content class=\"sky-text-expand-modal-content\">{{\n context.text\n }}</sky-modal-content>\n <sky-modal-footer>\n <button class=\"sky-btn sky-btn-link\" type=\"button\" (click)=\"close()\">\n {{ 'skyux_text_expand_close_text' | skyLibResources }}\n </button>\n </sky-modal-footer>\n</sky-modal>\n", styles: [".sky-text-expand-ellipsis{letter-spacing:2px;white-space:nowrap}.sky-text-expand-space{white-space:normal}.sky-text-expand-see-more{white-space:nowrap;margin-left:5px}.sky-text-expand-text{margin:0;white-space:pre-wrap}.sky-text-expand-container{word-break:break-word;word-wrap:break-word;overflow:hidden;height:auto}.sky-text-expand-modal-content{white-space:pre-line;word-wrap:break-word}\n"] }]
25
- }], ctorParameters: () => [{ type: undefined, decorators: [{
26
- type: Inject,
27
- args: [SKY_TEXT_EXPAND_MODAL_CONTEXT]
28
- }] }, { type: i1.SkyModalInstance }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1leHBhbmQtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xheW91dC9zcmMvbGliL21vZHVsZXMvdGV4dC1leHBhbmQvdGV4dC1leHBhbmQtbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xheW91dC9zcmMvbGliL21vZHVsZXMvdGV4dC1leHBhbmQvdGV4dC1leHBhbmQtbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFvQixjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFHakYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7QUFFbEY7O0dBRUc7QUFRSCxNQUFNLE9BQU8sMkJBQTJCO0lBQ3RDLFlBRVMsT0FBa0MsRUFDbEMsUUFBMEI7UUFEMUIsWUFBTyxHQUFQLE9BQU8sQ0FBMkI7UUFDbEMsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7SUFDaEMsQ0FBQztJQUVHLEtBQUs7UUFDVixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3hCLENBQUM7K0dBVFUsMkJBQTJCLGtCQUU1Qiw2QkFBNkI7bUdBRjVCLDJCQUEyQixpRkNsQnhDLGtaQVdBLGljREtZLGNBQWMsMGJBQUUsd0JBQXdCOzs0RkFFdkMsMkJBQTJCO2tCQVB2QyxTQUFTO2lDQUNJLElBQUksWUFDTix1QkFBdUIsV0FHeEIsQ0FBQyxjQUFjLEVBQUUsd0JBQXdCLENBQUM7OzBCQUloRCxNQUFNOzJCQUFDLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lNb2RhbEluc3RhbmNlLCBTa3lNb2RhbE1vZHVsZSB9IGZyb20gJ0Bza3l1eC9tb2RhbHMnO1xuXG5pbXBvcnQgeyBTa3lMYXlvdXRSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQvc2t5LWxheW91dC1yZXNvdXJjZXMubW9kdWxlJztcblxuaW1wb3J0IHsgU2t5VGV4dEV4cGFuZE1vZGFsQ29udGV4dCB9IGZyb20gJy4vdGV4dC1leHBhbmQtbW9kYWwtY29udGV4dCc7XG5pbXBvcnQgeyBTS1lfVEVYVF9FWFBBTkRfTU9EQUxfQ09OVEVYVCB9IGZyb20gJy4vdGV4dC1leHBhbmQtbW9kYWwtY29udGV4dC10b2tlbic7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3NreS10ZXh0LWV4cGFuZC1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZXh0LWV4cGFuZC1tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RleHQtZXhwYW5kLmNvbXBvbmVudC5zY3NzJ10sXG4gIGltcG9ydHM6IFtTa3lNb2RhbE1vZHVsZSwgU2t5TGF5b3V0UmVzb3VyY2VzTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5VGV4dEV4cGFuZE1vZGFsQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChTS1lfVEVYVF9FWFBBTkRfTU9EQUxfQ09OVEVYVClcbiAgICBwdWJsaWMgY29udGV4dDogU2t5VGV4dEV4cGFuZE1vZGFsQ29udGV4dCxcbiAgICBwdWJsaWMgaW5zdGFuY2U6IFNreU1vZGFsSW5zdGFuY2UsXG4gICkge31cblxuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5pbnN0YW5jZS5jbG9zZSgpO1xuICB9XG59XG4iLCI8c2t5LW1vZGFsPlxuICA8c2t5LW1vZGFsLWhlYWRlcj57eyBjb250ZXh0LmhlYWRlciB9fTwvc2t5LW1vZGFsLWhlYWRlcj5cbiAgPHNreS1tb2RhbC1jb250ZW50IGNsYXNzPVwic2t5LXRleHQtZXhwYW5kLW1vZGFsLWNvbnRlbnRcIj57e1xuICAgIGNvbnRleHQudGV4dFxuICB9fTwvc2t5LW1vZGFsLWNvbnRlbnQ+XG4gIDxza3ktbW9kYWwtZm9vdGVyPlxuICAgIDxidXR0b24gY2xhc3M9XCJza3ktYnRuIHNreS1idG4tbGlua1wiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiY2xvc2UoKVwiPlxuICAgICAge3sgJ3NreXV4X3RleHRfZXhwYW5kX2Nsb3NlX3RleHQnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgPC9idXR0b24+XG4gIDwvc2t5LW1vZGFsLWZvb3Rlcj5cbjwvc2t5LW1vZGFsPlxuIl19
@@ -1,314 +0,0 @@
1
- import { animate, state, style, transition, trigger, } from '@angular/animations';
2
- import { Component, ElementRef, Input, ViewChild, } from '@angular/core';
3
- import { forkJoin as observableForkJoin } from 'rxjs';
4
- import { take } from 'rxjs/operators';
5
- import { SkyTextExpandAdapterService } from './text-expand-adapter.service';
6
- import { SKY_TEXT_EXPAND_MODAL_CONTEXT } from './text-expand-modal-context-token';
7
- import { SkyTextExpandModalComponent } from './text-expand-modal.component';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@skyux/i18n";
10
- import * as i2 from "@skyux/modals";
11
- import * as i3 from "./text-expand-adapter.service";
12
- /**
13
- * Auto-incrementing integer used to generate unique ids for text expand components.
14
- */
15
- let nextId = 0;
16
- export class SkyTextExpandComponent {
17
- /**
18
- * The maximum number of text characters to display inline when users select the link
19
- * to expand the full text. If the text exceeds this limit, then the component expands
20
- * the full text in a modal instead.
21
- * @default 600
22
- */
23
- set maxExpandedLength(value) {
24
- if (value) {
25
- this.#_maxExpandedLength = value;
26
- }
27
- else {
28
- this.#_maxExpandedLength = 600;
29
- }
30
- this.#setup(this.text);
31
- }
32
- get maxExpandedLength() {
33
- return this.#_maxExpandedLength;
34
- }
35
- /**
36
- * The maximum number of newline characters to display inline when users select
37
- * the link to expand the full text. If the text exceeds this limit, then
38
- * the component expands the full text in a modal view instead.
39
- * @default 2
40
- */
41
- set maxExpandedNewlines(value) {
42
- if (value) {
43
- this.#_maxExpandedNewlines = value;
44
- }
45
- else {
46
- this.#_maxExpandedNewlines = 2;
47
- }
48
- this.#setup(this.text);
49
- }
50
- get maxExpandedNewlines() {
51
- return this.#_maxExpandedNewlines;
52
- }
53
- /**
54
- * The number of text characters to display before truncating the text.
55
- * To avoid truncating text in the middle of a word, the component looks for a space
56
- * in the 10 characters before the last character.
57
- * @default 200
58
- */
59
- set maxLength(value) {
60
- if (value) {
61
- this.#_maxLength = value;
62
- }
63
- else {
64
- this.#_maxLength = 200;
65
- }
66
- this.#setup(this.text);
67
- }
68
- get maxLength() {
69
- return this.#_maxLength;
70
- }
71
- /**
72
- * The text to truncate.
73
- */
74
- set text(value) {
75
- this.#_text = value ?? '';
76
- this.#setup(this.#_text);
77
- }
78
- get text() {
79
- return this.#_text;
80
- }
81
- set textEl(value) {
82
- this.#_textEl = value;
83
- this.#setup(this.text);
84
- }
85
- get textEl() {
86
- return this.#_textEl;
87
- }
88
- #collapsedText;
89
- #newlineCount;
90
- #seeMoreText;
91
- #seeLessText;
92
- #textToShow;
93
- #_maxExpandedLength;
94
- #_maxExpandedNewlines;
95
- #_maxLength;
96
- #_text;
97
- #_textEl;
98
- #resources;
99
- #modalSvc;
100
- #textExpandAdapter;
101
- constructor(resources, modalSvc, textExpandAdapter) {
102
- /**
103
- * Whether to replace newline characters in truncated text with spaces.
104
- */
105
- this.truncateNewlines = true;
106
- this.buttonText = '';
107
- this.contentSectionId = `sky-text-expand-content-${++nextId}`;
108
- this.expandable = false;
109
- this.isModal = false;
110
- this.transitionHeight = 1;
111
- this.#collapsedText = '';
112
- this.#newlineCount = 0;
113
- this.#seeMoreText = '';
114
- this.#seeLessText = '';
115
- this.#textToShow = '';
116
- this.#_maxExpandedLength = 600;
117
- this.#_maxExpandedNewlines = 2;
118
- this.#_maxLength = 200;
119
- this.#_text = '';
120
- this.#resources = resources;
121
- this.#modalSvc = modalSvc;
122
- this.#textExpandAdapter = textExpandAdapter;
123
- }
124
- textExpand() {
125
- if (this.isModal) {
126
- // Modal View
127
- /* istanbul ignore else */
128
- /* sanity check */
129
- if (!this.isExpanded) {
130
- this.#modalSvc.open(SkyTextExpandModalComponent, [
131
- {
132
- provide: SKY_TEXT_EXPAND_MODAL_CONTEXT,
133
- useValue: {
134
- header: this.expandModalTitle,
135
- text: this.text,
136
- },
137
- },
138
- ]);
139
- }
140
- }
141
- else {
142
- // Normal View
143
- if (!this.isExpanded) {
144
- this.#animateText(true);
145
- }
146
- else {
147
- this.#animateText(false);
148
- }
149
- }
150
- }
151
- animationEnd() {
152
- if (this.textEl && this.containerEl) {
153
- // Ensure the correct text is displayed
154
- this.#textExpandAdapter.setText(this.textEl, this.#textToShow);
155
- setTimeout(() => {
156
- if (this.containerEl) {
157
- // Set height back to auto so the browser can change the height as needed with window changes
158
- this.#textExpandAdapter.removeContainerMaxHeight(this.containerEl);
159
- }
160
- });
161
- }
162
- }
163
- ngAfterContentInit() {
164
- observableForkJoin([
165
- this.#resources.getString('skyux_text_expand_see_more'),
166
- this.#resources.getString('skyux_text_expand_see_less'),
167
- ])
168
- .pipe(take(1))
169
- .subscribe((resources) => {
170
- this.#seeMoreText = resources[0];
171
- this.#seeLessText = resources[1];
172
- this.#setup(this.text);
173
- /* istanbul ignore else */
174
- if (!this.expandModalTitle) {
175
- this.#resources
176
- .getString('skyux_text_expand_modal_title')
177
- .pipe(take(1))
178
- .subscribe((resource) => {
179
- this.expandModalTitle = resource;
180
- });
181
- }
182
- });
183
- }
184
- #setup(value) {
185
- if (value) {
186
- this.#newlineCount = this.#getNewlineCount(value);
187
- this.#collapsedText = this.#getTruncatedText(value, this.maxLength);
188
- if (this.#collapsedText !== value) {
189
- this.buttonText = this.#seeMoreText;
190
- this.isExpanded = false;
191
- this.expandable = true;
192
- this.isModal =
193
- this.#newlineCount > this.maxExpandedNewlines ||
194
- this.text.length > this.maxExpandedLength;
195
- }
196
- else {
197
- this.expandable = false;
198
- }
199
- this.#textToShow = this.#collapsedText;
200
- }
201
- else {
202
- this.#textToShow = '';
203
- this.expandable = false;
204
- }
205
- if (this.textEl) {
206
- this.#textExpandAdapter.setText(this.textEl, this.#textToShow);
207
- }
208
- }
209
- #getNewlineCount(value) {
210
- const matches = value.match(/\n/gi);
211
- if (matches) {
212
- return matches.length;
213
- }
214
- return 0;
215
- }
216
- #getTruncatedText(value, length) {
217
- let i;
218
- if (this.truncateNewlines) {
219
- value = value.replace(/\n+/gi, ' ');
220
- }
221
- // Jump ahead one character and see if it's a space, and if it isn't,
222
- // back up to the first space and break there so a word doesn't get cut
223
- // in half.
224
- if (length < value.length) {
225
- for (i = length; i > length - 10; i--) {
226
- if (/\s/.test(value.charAt(i))) {
227
- length = i;
228
- break;
229
- }
230
- }
231
- }
232
- return value.substring(0, length);
233
- }
234
- #animateText(expanding) {
235
- if (this.containerEl && this.textEl) {
236
- const adapter = this.#textExpandAdapter;
237
- const container = this.containerEl;
238
- if (expanding) {
239
- adapter.setText(this.textEl, this.text);
240
- this.#textToShow = this.text;
241
- }
242
- else {
243
- adapter.setText(this.textEl, this.#collapsedText);
244
- this.#textToShow = this.#collapsedText;
245
- }
246
- this.buttonText = expanding ? this.#seeLessText : this.#seeMoreText;
247
- // Measure the new height so we can animate to it.
248
- const newHeight = adapter.getContainerHeight(container);
249
- this.transitionHeight = newHeight;
250
- // Always show all text while animating so that the animation is smooth. The animation callback will set this back if needed.
251
- if (!expanding) {
252
- adapter.setText(this.textEl, this.text);
253
- }
254
- this.isExpanded = expanding;
255
- }
256
- }
257
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyTextExpandComponent, deps: [{ token: i1.SkyLibResourcesService }, { token: i2.SkyModalService }, { token: i3.SkyTextExpandAdapterService }], target: i0.ɵɵFactoryTarget.Component }); }
258
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SkyTextExpandComponent, selector: "sky-text-expand", inputs: { expandModalTitle: "expandModalTitle", maxExpandedLength: "maxExpandedLength", maxExpandedNewlines: "maxExpandedNewlines", maxLength: "maxLength", text: "text", truncateNewlines: "truncateNewlines" }, providers: [SkyTextExpandAdapterService], viewQueries: [{ propertyName: "containerEl", first: true, predicate: ["container"], descendants: true, read: ElementRef, static: true }, { propertyName: "textEl", first: true, predicate: ["text"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<div\n #container\n class=\"sky-text-expand-container\"\n [@expansionAnimation]=\"{\n value: isExpanded,\n params: { transitionHeight: transitionHeight }\n }\"\n (@expansionAnimation.done)=\"animationEnd()\"\n>\n <span #text class=\"sky-text-expand-text\" [id]=\"contentSectionId\"></span>\n @if (expandable) {\n @if (!isExpanded) {\n <span class=\"sky-text-expand-ellipsis\">... </span>\n }\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-link-inline sky-text-expand-see-more\"\n [attr.aria-expanded]=\"isModal ? undefined : !!isExpanded\"\n [attr.aria-controls]=\"isModal ? undefined : contentSectionId\"\n [attr.aria-haspopup]=\"isModal ? 'dialog' : undefined\"\n (click)=\"textExpand()\"\n >\n {{ buttonText }}\n </button>\n }\n</div>\n", styles: [".sky-text-expand-ellipsis{letter-spacing:2px;white-space:nowrap}.sky-text-expand-space{white-space:normal}.sky-text-expand-see-more{white-space:nowrap;margin-left:5px}.sky-text-expand-text{margin:0;white-space:pre-wrap}.sky-text-expand-container{word-break:break-word;word-wrap:break-word;overflow:hidden;height:auto}.sky-text-expand-modal-content{white-space:pre-line;word-wrap:break-word}\n"], animations: [
259
- trigger('expansionAnimation', [
260
- transition(':enter', []),
261
- state('true', style({
262
- maxHeight: '{{transitionHeight}}px',
263
- }), { params: { transitionHeight: 0 } }),
264
- state('false', style({
265
- maxHeight: '{{transitionHeight}}px',
266
- }), { params: { transitionHeight: 0 } }),
267
- transition('true => false', animate('250ms ease')),
268
- transition('false => true', animate('250ms ease')),
269
- transition('void => *', []),
270
- ]),
271
- ] }); }
272
- }
273
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyTextExpandComponent, decorators: [{
274
- type: Component,
275
- args: [{ animations: [
276
- trigger('expansionAnimation', [
277
- transition(':enter', []),
278
- state('true', style({
279
- maxHeight: '{{transitionHeight}}px',
280
- }), { params: { transitionHeight: 0 } }),
281
- state('false', style({
282
- maxHeight: '{{transitionHeight}}px',
283
- }), { params: { transitionHeight: 0 } }),
284
- transition('true => false', animate('250ms ease')),
285
- transition('false => true', animate('250ms ease')),
286
- transition('void => *', []),
287
- ]),
288
- ], selector: 'sky-text-expand', providers: [SkyTextExpandAdapterService], template: "<div\n #container\n class=\"sky-text-expand-container\"\n [@expansionAnimation]=\"{\n value: isExpanded,\n params: { transitionHeight: transitionHeight }\n }\"\n (@expansionAnimation.done)=\"animationEnd()\"\n>\n <span #text class=\"sky-text-expand-text\" [id]=\"contentSectionId\"></span>\n @if (expandable) {\n @if (!isExpanded) {\n <span class=\"sky-text-expand-ellipsis\">... </span>\n }\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-link-inline sky-text-expand-see-more\"\n [attr.aria-expanded]=\"isModal ? undefined : !!isExpanded\"\n [attr.aria-controls]=\"isModal ? undefined : contentSectionId\"\n [attr.aria-haspopup]=\"isModal ? 'dialog' : undefined\"\n (click)=\"textExpand()\"\n >\n {{ buttonText }}\n </button>\n }\n</div>\n", styles: [".sky-text-expand-ellipsis{letter-spacing:2px;white-space:nowrap}.sky-text-expand-space{white-space:normal}.sky-text-expand-see-more{white-space:nowrap;margin-left:5px}.sky-text-expand-text{margin:0;white-space:pre-wrap}.sky-text-expand-container{word-break:break-word;word-wrap:break-word;overflow:hidden;height:auto}.sky-text-expand-modal-content{white-space:pre-line;word-wrap:break-word}\n"] }]
289
- }], ctorParameters: () => [{ type: i1.SkyLibResourcesService }, { type: i2.SkyModalService }, { type: i3.SkyTextExpandAdapterService }], propDecorators: { expandModalTitle: [{
290
- type: Input
291
- }], maxExpandedLength: [{
292
- type: Input
293
- }], maxExpandedNewlines: [{
294
- type: Input
295
- }], maxLength: [{
296
- type: Input
297
- }], text: [{
298
- type: Input
299
- }], truncateNewlines: [{
300
- type: Input
301
- }], containerEl: [{
302
- type: ViewChild,
303
- args: ['container', {
304
- read: ElementRef,
305
- static: true,
306
- }]
307
- }], textEl: [{
308
- type: ViewChild,
309
- args: ['text', {
310
- read: ElementRef,
311
- static: true,
312
- }]
313
- }] } });
314
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1leHBhbmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xheW91dC9zcmMvbGliL21vZHVsZXMvdGV4dC1leHBhbmQvdGV4dC1leHBhbmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xheW91dC9zcmMvbGliL21vZHVsZXMvdGV4dC1leHBhbmQvdGV4dC1leHBhbmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLE9BQU8sRUFDUCxLQUFLLEVBQ0wsS0FBSyxFQUNMLFVBQVUsRUFDVixPQUFPLEdBQ1IsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBRUwsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBQ0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxRQUFRLElBQUksa0JBQWtCLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7OztBQUU1RTs7R0FFRztBQUNILElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztBQThCZixNQUFNLE9BQU8sc0JBQXNCO0lBUWpDOzs7OztPQUtHO0lBQ0gsSUFDVyxpQkFBaUIsQ0FBQyxLQUF5QjtRQUNwRCxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQztRQUNuQyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxt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QUNoQixNQUFNLEVBQUUsSUFBSTtxQkFDYjtnQkFPVSxNQUFNO3NCQUpoQixTQUFTO3VCQUFDLE1BQU0sRUFBRTt3QkFDakIsSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLE1BQU0sRUFBRSxJQUFJO3FCQUNiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYW5pbWF0ZSxcbiAgc3RhdGUsXG4gIHN0eWxlLFxuICB0cmFuc2l0aW9uLFxuICB0cmlnZ2VyLFxufSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2kxOG4nO1xuaW1wb3J0IHsgU2t5TW9kYWxTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L21vZGFscyc7XG5cbmltcG9ydCB7IGZvcmtKb2luIGFzIG9ic2VydmFibGVGb3JrSm9pbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5VGV4dEV4cGFuZEFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi90ZXh0LWV4cGFuZC1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU0tZX1RFWFRfRVhQQU5EX01PREFMX0NPTlRFWFQgfSBmcm9tICcuL3RleHQtZXhwYW5kLW1vZGFsLWNvbnRleHQtdG9rZW4nO1xuaW1wb3J0IHsgU2t5VGV4dEV4cGFuZE1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi90ZXh0LWV4cGFuZC1tb2RhbC5jb21wb25lbnQnO1xuXG4vKipcbiAqIEF1dG8taW5jcmVtZW50aW5nIGludGVnZXIgdXNlZCB0byBnZW5lcmF0ZSB1bmlxdWUgaWRzIGZvciB0ZXh0IGV4cGFuZCBjb21wb25lbnRzLlxuICovXG5sZXQgbmV4dElkID0gMDtcblxuQENvbXBvbmVudCh7XG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdleHBhbnNpb25BbmltYXRpb24nLCBbXG4gICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXSksXG4gICAgICBzdGF0ZShcbiAgICAgICAgJ3RydWUnLFxuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgbWF4SGVpZ2h0OiAne3t0cmFuc2l0aW9uSGVpZ2h0fX1weCcsXG4gICAgICAgIH0pLFxuICAgICAgICB7IHBhcmFtczogeyB0cmFuc2l0aW9uSGVpZ2h0OiAwIH0gfSxcbiAgICAgICksXG4gICAgICBzdGF0ZShcbiAgICAgICAgJ2ZhbHNlJyxcbiAgICAgICAgc3R5bGUoe1xuICAgICAgICAgIG1heEhlaWdodDogJ3t7dHJhbnNpdGlvbkhlaWdodH19cHgnLFxuICAgICAgICB9KSxcbiAgICAgICAgeyBwYXJhbXM6IHsgdHJhbnNpdGlvbkhlaWdodDogMCB9IH0sXG4gICAgICApLFxuICAgICAgdHJhbnNpdGlvbigndHJ1ZSA9PiBmYWxzZScsIGFuaW1hdGUoJzI1MG1zIGVhc2UnKSksXG4gICAgICB0cmFuc2l0aW9uKCdmYWxzZSA9PiB0cnVlJywgYW5pbWF0ZSgnMjUwbXMgZWFzZScpKSxcbiAgICAgIHRyYW5zaXRpb24oJ3ZvaWQgPT4gKicsIFtdKSxcbiAgICBdKSxcbiAgXSxcbiAgc2VsZWN0b3I6ICdza3ktdGV4dC1leHBhbmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGV4dC1leHBhbmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90ZXh0LWV4cGFuZC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtTa3lUZXh0RXhwYW5kQWRhcHRlclNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lUZXh0RXhwYW5kQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIC8qKlxuICAgKiBUaGUgdGl0bGUgdG8gZGlzcGxheSB3aGVuIHRoZSBjb21wb25lbnQgZXhwYW5kcyB0aGUgZnVsbCB0ZXh0IGluIGEgbW9kYWwuXG4gICAqIEBkZWZhdWx0IFwiRXhwYW5kZWQgdmlld1wiXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZXhwYW5kTW9kYWxUaXRsZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgdGV4dCBjaGFyYWN0ZXJzIHRvIGRpc3BsYXkgaW5saW5lIHdoZW4gdXNlcnMgc2VsZWN0IHRoZSBsaW5rXG4gICAqIHRvIGV4cGFuZCB0aGUgZnVsbCB0ZXh0LiBJZiB0aGUgdGV4dCBleGNlZWRzIHRoaXMgbGltaXQsIHRoZW4gdGhlIGNvbXBvbmVudCBleHBhbmRzXG4gICAqIHRoZSBmdWxsIHRleHQgaW4gYSBtb2RhbCBpbnN0ZWFkLlxuICAgKiBAZGVmYXVsdCA2MDBcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgbWF4RXhwYW5kZWRMZW5ndGgodmFsdWU6IG51bWJlciB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy4jX21heEV4cGFuZGVkTGVuZ3RoID0gdmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI19tYXhFeHBhbmRlZExlbmd0aCA9IDYwMDtcbiAgICB9XG4gICAgdGhpcy4jc2V0dXAodGhpcy50ZXh0KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbWF4RXhwYW5kZWRMZW5ndGgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy4jX21heEV4cGFuZGVkTGVuZ3RoO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBuZXdsaW5lIGNoYXJhY3RlcnMgdG8gZGlzcGxheSBpbmxpbmUgd2hlbiB1c2VycyBzZWxlY3RcbiAgICogdGhlIGxpbmsgdG8gZXhwYW5kIHRoZSBmdWxsIHRleHQuIElmIHRoZSB0ZXh0IGV4Y2VlZHMgdGhpcyBsaW1pdCwgdGhlblxuICAgKiB0aGUgY29tcG9uZW50IGV4cGFuZHMgdGhlIGZ1bGwgdGV4dCBpbiBhIG1vZGFsIHZpZXcgaW5zdGVhZC5cbiAgICogQGRlZmF1bHQgMlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBtYXhFeHBhbmRlZE5ld2xpbmVzKHZhbHVlOiBudW1iZXIgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuI19tYXhFeHBhbmRlZE5ld2xpbmVzID0gdmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI19tYXhFeHBhbmRlZE5ld2xpbmVzID0gMjtcbiAgICB9XG4gICAgdGhpcy4jc2V0dXAodGhpcy50ZXh0KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbWF4RXhwYW5kZWROZXdsaW5lcygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLiNfbWF4RXhwYW5kZWROZXdsaW5lcztcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIHRleHQgY2hhcmFjdGVycyB0byBkaXNwbGF5IGJlZm9yZSB0cnVuY2F0aW5nIHRoZSB0ZXh0LlxuICAgKiBUbyBhdm9pZCB0cnVuY2F0aW5nIHRleHQgaW4gdGhlIG1pZGRsZSBvZiBhIHdvcmQsIHRoZSBjb21wb25lbnQgbG9va3MgZm9yIGEgc3BhY2VcbiAgICogaW4gdGhlIDEwIGNoYXJhY3RlcnMgYmVmb3JlIHRoZSBsYXN0IGNoYXJhY3Rlci5cbiAgICogQGRlZmF1bHQgMjAwXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IG1heExlbmd0aCh2YWx1ZTogbnVtYmVyIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLiNfbWF4TGVuZ3RoID0gdmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI19tYXhMZW5ndGggPSAyMDA7XG4gICAgfVxuICAgIHRoaXMuI3NldHVwKHRoaXMudGV4dCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG1heExlbmd0aCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLiNfbWF4TGVuZ3RoO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSB0ZXh0IHRvIHRydW5jYXRlLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB0ZXh0KHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfdGV4dCA9IHZhbHVlID8/ICcnO1xuICAgIHRoaXMuI3NldHVwKHRoaXMuI190ZXh0KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLiNfdGV4dDtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHJlcGxhY2UgbmV3bGluZSBjaGFyYWN0ZXJzIGluIHRydW5jYXRlZCB0ZXh0IHdpdGggc3BhY2VzLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHRydW5jYXRlTmV3bGluZXMgPSB0cnVlO1xuXG4gIHB1YmxpYyBidXR0b25UZXh0ID0gJyc7XG5cbiAgcHVibGljIGNvbnRlbnRTZWN0aW9uSWQgPSBgc2t5LXRleHQtZXhwYW5kLWNvbnRlbnQtJHsrK25leHRJZH1gO1xuXG4gIHB1YmxpYyBleHBhbmRhYmxlID0gZmFsc2U7XG5cbiAgcHVibGljIGlzRXhwYW5kZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGlzTW9kYWwgPSBmYWxzZTtcblxuICBwdWJsaWMgdHJhbnNpdGlvbkhlaWdodCA9IDE7XG5cbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywge1xuICAgIHJlYWQ6IEVsZW1lbnRSZWYsXG4gICAgc3RhdGljOiB0cnVlLFxuICB9KVxuICBwdWJsaWMgY29udGFpbmVyRWw6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG5cbiAgQFZpZXdDaGlsZCgndGV4dCcsIHtcbiAgICByZWFkOiBFbGVtZW50UmVmLFxuICAgIHN0YXRpYzogdHJ1ZSxcbiAgfSlcbiAgcHVibGljIHNldCB0ZXh0RWwodmFsdWU6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfdGV4dEVsID0gdmFsdWU7XG4gICAgdGhpcy4jc2V0dXAodGhpcy50ZXh0KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdGV4dEVsKCk6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfdGV4dEVsO1xuICB9XG5cbiAgI2NvbGxhcHNlZFRleHQgPSAnJztcblxuICAjbmV3bGluZUNvdW50ID0gMDtcblxuICAjc2VlTW9yZVRleHQgPSAnJztcblxuICAjc2VlTGVzc1RleHQgPSAnJztcblxuICAjdGV4dFRvU2hvdyA9ICcnO1xuXG4gICNfbWF4RXhwYW5kZWRMZW5ndGggPSA2MDA7XG5cbiAgI19tYXhFeHBhbmRlZE5ld2xpbmVzID0gMjtcblxuICAjX21heExlbmd0aCA9IDIwMDtcblxuICAjX3RleHQgPSAnJztcblxuICAjX3RleHRFbDogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICAjcmVzb3VyY2VzOiBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlO1xuICAjbW9kYWxTdmM6IFNreU1vZGFsU2VydmljZTtcbiAgI3RleHRFeHBhbmRBZGFwdGVyOiBTa3lUZXh0RXhwYW5kQWRhcHRlclNlcnZpY2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcmVzb3VyY2VzOiBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlLFxuICAgIG1vZGFsU3ZjOiBTa3lNb2RhbFNlcnZpY2UsXG4gICAgdGV4dEV4cGFuZEFkYXB0ZXI6IFNreVRleHRFeHBhbmRBZGFwdGVyU2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy4jcmVzb3VyY2VzID0gcmVzb3VyY2VzO1xuICAgIHRoaXMuI21vZGFsU3ZjID0gbW9kYWxTdmM7XG4gICAgdGhpcy4jdGV4dEV4cGFuZEFkYXB0ZXIgPSB0ZXh0RXhwYW5kQWRhcHRlcjtcbiAgfVxuXG4gIHB1YmxpYyB0ZXh0RXhwYW5kKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzTW9kYWwpIHtcbiAgICAgIC8vIE1vZGFsIFZpZXdcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAvKiBzYW5pdHkgY2hlY2sgKi9cbiAgICAgIGlmICghdGhpcy5pc0V4cGFuZGVkKSB7XG4gICAgICAgIHRoaXMuI21vZGFsU3ZjLm9wZW4oU2t5VGV4dEV4cGFuZE1vZGFsQ29tcG9uZW50LCBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogU0tZX1RFWFRfRVhQQU5EX01PREFMX0NPTlRFWFQsXG4gICAgICAgICAgICB1c2VWYWx1ZToge1xuICAgICAgICAgICAgICBoZWFkZXI6IHRoaXMuZXhwYW5kTW9kYWxUaXRsZSxcbiAgICAgICAgICAgICAgdGV4dDogdGhpcy50ZXh0LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICBdKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gTm9ybWFsIFZpZXdcbiAgICAgIGlmICghdGhpcy5pc0V4cGFuZGVkKSB7XG4gICAgICAgIHRoaXMuI2FuaW1hdGVUZXh0KHRydWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy4jYW5pbWF0ZVRleHQoZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhbmltYXRpb25FbmQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudGV4dEVsICYmIHRoaXMuY29udGFpbmVyRWwpIHtcbiAgICAgIC8vIEVuc3VyZSB0aGUgY29ycmVjdCB0ZXh0IGlzIGRpc3BsYXllZFxuICAgICAgdGhpcy4jdGV4dEV4cGFuZEFkYXB0ZXIuc2V0VGV4dCh0aGlzLnRleHRFbCwgdGhpcy4jdGV4dFRvU2hvdyk7XG5cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5jb250YWluZXJFbCkge1xuICAgICAgICAgIC8vIFNldCBoZWlnaHQgYmFjayB0byBhdXRvIHNvIHRoZSBicm93c2VyIGNhbiBjaGFuZ2UgdGhlIGhlaWdodCBhcyBuZWVkZWQgd2l0aCB3aW5kb3cgY2hhbmdlc1xuICAgICAgICAgIHRoaXMuI3RleHRFeHBhbmRBZGFwdGVyLnJlbW92ZUNvbnRhaW5lck1heEhlaWdodCh0aGlzLmNvbnRhaW5lckVsKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICBvYnNlcnZhYmxlRm9ya0pvaW4oW1xuICAgICAgdGhpcy4jcmVzb3VyY2VzLmdldFN0cmluZygnc2t5dXhfdGV4dF9leHBhbmRfc2VlX21vcmUnKSxcbiAgICAgIHRoaXMuI3Jlc291cmNlcy5nZXRTdHJpbmcoJ3NreXV4X3RleHRfZXhwYW5kX3NlZV9sZXNzJyksXG4gICAgXSlcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKChyZXNvdXJjZXMpID0+IHtcbiAgICAgICAgdGhpcy4jc2VlTW9yZVRleHQgPSByZXNvdXJjZXNbMF07XG4gICAgICAgIHRoaXMuI3NlZUxlc3NUZXh0ID0gcmVzb3VyY2VzWzFdO1xuICAgICAgICB0aGlzLiNzZXR1cCh0aGlzLnRleHQpO1xuXG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmICghdGhpcy5leHBhbmRNb2RhbFRpdGxlKSB7XG4gICAgICAgICAgdGhpcy4jcmVzb3VyY2VzXG4gICAgICAgICAgICAuZ2V0U3RyaW5nKCdza3l1eF90ZXh0X2V4cGFuZF9tb2RhbF90aXRsZScpXG4gICAgICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzb3VyY2UpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5leHBhbmRNb2RhbFRpdGxlID0gcmVzb3VyY2U7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICAjc2V0dXAodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy4jbmV3bGluZUNvdW50ID0gdGhpcy4jZ2V0TmV3bGluZUNvdW50KHZhbHVlKTtcbiAgICAgIHRoaXMuI2NvbGxhcHNlZFRleHQgPSB0aGlzLiNnZXRUcnVuY2F0ZWRUZXh0KHZhbHVlLCB0aGlzLm1heExlbmd0aCk7XG4gICAgICBpZiAodGhpcy4jY29sbGFwc2VkVGV4dCAhPT0gdmFsdWUpIHtcbiAgICAgICAgdGhpcy5idXR0b25UZXh0ID0gdGhpcy4jc2VlTW9yZVRleHQ7XG4gICAgICAgIHRoaXMuaXNFeHBhbmRlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmV4cGFuZGFibGUgPSB0cnVlO1xuICAgICAgICB0aGlzLmlzTW9kYWwgPVxuICAgICAgICAgIHRoaXMuI25ld2xpbmVDb3VudCA+IHRoaXMubWF4RXhwYW5kZWROZXdsaW5lcyB8fFxuICAgICAgICAgIHRoaXMudGV4dC5sZW5ndGggPiB0aGlzLm1heEV4cGFuZGVkTGVuZ3RoO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5leHBhbmRhYmxlID0gZmFsc2U7XG4gICAgICB9XG4gICAgICB0aGlzLiN0ZXh0VG9TaG93ID0gdGhpcy4jY29sbGFwc2VkVGV4dDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jdGV4dFRvU2hvdyA9ICcnO1xuICAgICAgdGhpcy5leHBhbmRhYmxlID0gZmFsc2U7XG4gICAgfVxuICAgIGlmICh0aGlzLnRleHRFbCkge1xuICAgICAgdGhpcy4jdGV4dEV4cGFuZEFkYXB0ZXIuc2V0VGV4dCh0aGlzLnRleHRFbCwgdGhpcy4jdGV4dFRvU2hvdyk7XG4gICAgfVxuICB9XG5cbiAgI2dldE5ld2xpbmVDb3VudCh2YWx1ZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICBjb25zdCBtYXRjaGVzID0gdmFsdWUubWF0Y2goL1xcbi9naSk7XG5cbiAgICBpZiAobWF0Y2hlcykge1xuICAgICAgcmV0dXJuIG1hdGNoZXMubGVuZ3RoO1xuICAgIH1cblxuICAgIHJldHVybiAwO1xuICB9XG5cbiAgI2dldFRydW5jYXRlZFRleHQodmFsdWU6IHN0cmluZywgbGVuZ3RoOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGxldCBpOiBudW1iZXI7XG4gICAgaWYgKHRoaXMudHJ1bmNhdGVOZXdsaW5lcykge1xuICAgICAgdmFsdWUgPSB2YWx1ZS5yZXBsYWNlKC9cXG4rL2dpLCAnICcpO1xuICAgIH1cbiAgICAvLyBKdW1wIGFoZWFkIG9uZSBjaGFyYWN0ZXIgYW5kIHNlZSBpZiBpdCdzIGEgc3BhY2UsIGFuZCBpZiBpdCBpc24ndCxcbiAgICAvLyBiYWNrIHVwIHRvIHRoZSBmaXJzdCBzcGFjZSBhbmQgYnJlYWsgdGhlcmUgc28gYSB3b3JkIGRvZXNuJ3QgZ2V0IGN1dFxuICAgIC8vIGluIGhhbGYuXG4gICAgaWYgKGxlbmd0aCA8IHZhbHVlLmxlbmd0aCkge1xuICAgICAgZm9yIChpID0gbGVuZ3RoOyBpID4gbGVuZ3RoIC0gMTA7IGktLSkge1xuICAgICAgICBpZiAoL1xccy8udGVzdCh2YWx1ZS5jaGFyQXQoaSkpKSB7XG4gICAgICAgICAgbGVuZ3RoID0gaTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdmFsdWUuc3Vic3RyaW5nKDAsIGxlbmd0aCk7XG4gIH1cblxuICAjYW5pbWF0ZVRleHQoZXhwYW5kaW5nOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY29udGFpbmVyRWwgJiYgdGhpcy50ZXh0RWwpIHtcbiAgICAgIGNvbnN0IGFkYXB0ZXIgPSB0aGlzLiN0ZXh0RXhwYW5kQWRhcHRlcjtcbiAgICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuY29udGFpbmVyRWw7XG4gICAgICBpZiAoZXhwYW5kaW5nKSB7XG4gICAgICAgIGFkYXB0ZXIuc2V0VGV4dCh0aGlzLnRleHRFbCwgdGhpcy50ZXh0KTtcbiAgICAgICAgdGhpcy4jdGV4dFRvU2hvdyA9IHRoaXMudGV4dDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFkYXB0ZXIuc2V0VGV4dCh0aGlzLnRleHRFbCwgdGhpcy4jY29sbGFwc2VkVGV4dCk7XG4gICAgICAgIHRoaXMuI3RleHRUb1Nob3cgPSB0aGlzLiNjb2xsYXBzZWRUZXh0O1xuICAgICAgfVxuICAgICAgdGhpcy5idXR0b25UZXh0ID0gZXhwYW5kaW5nID8gdGhpcy4jc2VlTGVzc1RleHQgOiB0aGlzLiNzZWVNb3JlVGV4dDtcbiAgICAgIC8vIE1lYXN1cmUgdGhlIG5ldyBoZWlnaHQgc28gd2UgY2FuIGFuaW1hdGUgdG8gaXQuXG4gICAgICBjb25zdCBuZXdIZWlnaHQgPSBhZGFwdGVyLmdldENvbnRhaW5lckhlaWdodChjb250YWluZXIpO1xuICAgICAgdGhpcy50cmFuc2l0aW9uSGVpZ2h0ID0gbmV3SGVpZ2h0O1xuICAgICAgLy8gQWx3YXlzIHNob3cgYWxsIHRleHQgd2hpbGUgYW5pbWF0aW5nIHNvIHRoYXQgdGhlIGFuaW1hdGlvbiBpcyBzbW9vdGguIFRoZSBhbmltYXRpb24gY2FsbGJhY2sgd2lsbCBzZXQgdGhpcyBiYWNrIGlmIG5lZWRlZC5cbiAgICAgIGlmICghZXhwYW5kaW5nKSB7XG4gICAgICAgIGFkYXB0ZXIuc2V0VGV4dCh0aGlzLnRleHRFbCwgdGhpcy50ZXh0KTtcbiAgICAgIH1cbiAgICAgIHRoaXMuaXNFeHBhbmRlZCA9IGV4cGFuZGluZztcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgI2NvbnRhaW5lclxuICBjbGFzcz1cInNreS10ZXh0LWV4cGFuZC1jb250YWluZXJcIlxuICBbQGV4cGFuc2lvbkFuaW1hdGlvbl09XCJ7XG4gICAgdmFsdWU6IGlzRXhwYW5kZWQsXG4gICAgcGFyYW1zOiB7IHRyYW5zaXRpb25IZWlnaHQ6IHRyYW5zaXRpb25IZWlnaHQgfVxuICB9XCJcbiAgKEBleHBhbnNpb25BbmltYXRpb24uZG9uZSk9XCJhbmltYXRpb25FbmQoKVwiXG4+XG4gIDxzcGFuICN0ZXh0IGNsYXNzPVwic2t5LXRleHQtZXhwYW5kLXRleHRcIiBbaWRdPVwiY29udGVudFNlY3Rpb25JZFwiPjwvc3Bhbj5cbiAgQGlmIChleHBhbmRhYmxlKSB7XG4gICAgQGlmICghaXNFeHBhbmRlZCkge1xuICAgICAgPHNwYW4gY2xhc3M9XCJza3ktdGV4dC1leHBhbmQtZWxsaXBzaXNcIj4uLi4gPC9zcGFuPlxuICAgIH1cbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWxpbmstaW5saW5lIHNreS10ZXh0LWV4cGFuZC1zZWUtbW9yZVwiXG4gICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImlzTW9kYWwgPyB1bmRlZmluZWQgOiAhIWlzRXhwYW5kZWRcIlxuICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJpc01vZGFsID8gdW5kZWZpbmVkIDogY29udGVudFNlY3Rpb25JZFwiXG4gICAgICBbYXR0ci5hcmlhLWhhc3BvcHVwXT1cImlzTW9kYWwgPyAnZGlhbG9nJyA6IHVuZGVmaW5lZFwiXG4gICAgICAoY2xpY2spPVwidGV4dEV4cGFuZCgpXCJcbiAgICA+XG4gICAgICB7eyBidXR0b25UZXh0IH19XG4gICAgPC9idXR0b24+XG4gIH1cbjwvZGl2PlxuIl19
@@ -1,16 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { SkyTextExpandComponent } from './text-expand.component';
3
- import * as i0 from "@angular/core";
4
- export class SkyTextExpandModule {
5
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyTextExpandModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: SkyTextExpandModule, declarations: [SkyTextExpandComponent], exports: [SkyTextExpandComponent] }); }
7
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyTextExpandModule }); }
8
- }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyTextExpandModule, decorators: [{
10
- type: NgModule,
11
- args: [{
12
- declarations: [SkyTextExpandComponent],
13
- exports: [SkyTextExpandComponent],
14
- }]
15
- }] });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1leHBhbmQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xheW91dC9zcmMvbGliL21vZHVsZXMvdGV4dC1leHBhbmQvdGV4dC1leHBhbmQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBTWpFLE1BQU0sT0FBTyxtQkFBbUI7K0dBQW5CLG1CQUFtQjtnSEFBbkIsbUJBQW1CLGlCQUhmLHNCQUFzQixhQUMzQixzQkFBc0I7Z0hBRXJCLG1CQUFtQjs7NEZBQW5CLG1CQUFtQjtrQkFKL0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDdEMsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ2xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5VGV4dEV4cGFuZENvbXBvbmVudCB9IGZyb20gJy4vdGV4dC1leHBhbmQuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbU2t5VGV4dEV4cGFuZENvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtTa3lUZXh0RXhwYW5kQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5VGV4dEV4cGFuZE1vZHVsZSB7fVxuIl19
@@ -1,32 +0,0 @@
1
- import { Injectable, } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * @internal
5
- */
6
- export class SkyTextExpandRepeaterAdapterService {
7
- #renderer;
8
- constructor(rendererFactory) {
9
- this.#renderer = rendererFactory.createRenderer(undefined, null);
10
- }
11
- getItems(elRef) {
12
- return elRef.nativeElement.querySelectorAll('.sky-text-expand-repeater-item');
13
- }
14
- hideItem(item) {
15
- this.#renderer.setStyle(item, 'display', 'none');
16
- }
17
- showItem(item) {
18
- this.#renderer.removeStyle(item, 'display');
19
- }
20
- getContainerHeight(containerEl) {
21
- return containerEl.nativeElement.offsetHeight;
22
- }
23
- removeContainerMaxHeight(containerEl) {
24
- this.#renderer.removeStyle(containerEl.nativeElement, 'max-height');
25
- }
26
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyTextExpandRepeaterAdapterService, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable }); }
27
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyTextExpandRepeaterAdapterService }); }
28
- }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyTextExpandRepeaterAdapterService, decorators: [{
30
- type: Injectable
31
- }], ctorParameters: () => [{ type: i0.RendererFactory2 }] });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1leHBhbmQtcmVwZWF0ZXItYWRhcHRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xheW91dC9zcmMvbGliL21vZHVsZXMvdGV4dC1leHBhbmQtcmVwZWF0ZXIvdGV4dC1leHBhbmQtcmVwZWF0ZXItYWRhcHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxVQUFVLEdBR1gsTUFBTSxlQUFlLENBQUM7O0FBRXZCOztHQUVHO0FBRUgsTUFBTSxPQUFPLG1DQUFtQztJQUM5QyxTQUFTLENBQVk7SUFFckIsWUFBWSxlQUFpQztRQUMzQyxJQUFJLENBQUMsU0FBUyxHQUFHLGVBQWUsQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFTSxRQUFRLENBQUMsS0FBaUI7UUFDL0IsT0FBUSxLQUFLLENBQUMsYUFBNkIsQ0FBQyxnQkFBZ0IsQ0FDMUQsZ0NBQWdDLENBQ04sQ0FBQztJQUMvQixDQUFDO0lBRU0sUUFBUSxDQUFDLElBQWlCO1FBQy9CLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVNLFFBQVEsQ0FBQyxJQUFpQjtRQUMvQixJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVNLGtCQUFrQixDQUFDLFdBQXVCO1FBQy9DLE9BQU8sV0FBVyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7SUFDaEQsQ0FBQztJQUVNLHdCQUF3QixDQUFDLFdBQXVCO1FBQ3JELElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDdEUsQ0FBQzsrR0EzQlUsbUNBQW1DO21IQUFuQyxtQ0FBbUM7OzRGQUFuQyxtQ0FBbUM7a0JBRC9DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBFbGVtZW50UmVmLFxuICBJbmplY3RhYmxlLFxuICBSZW5kZXJlcjIsXG4gIFJlbmRlcmVyRmFjdG9yeTIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5VGV4dEV4cGFuZFJlcGVhdGVyQWRhcHRlclNlcnZpY2Uge1xuICAjcmVuZGVyZXI6IFJlbmRlcmVyMjtcblxuICBjb25zdHJ1Y3RvcihyZW5kZXJlckZhY3Rvcnk6IFJlbmRlcmVyRmFjdG9yeTIpIHtcbiAgICB0aGlzLiNyZW5kZXJlciA9IHJlbmRlcmVyRmFjdG9yeS5jcmVhdGVSZW5kZXJlcih1bmRlZmluZWQsIG51bGwpO1xuICB9XG5cbiAgcHVibGljIGdldEl0ZW1zKGVsUmVmOiBFbGVtZW50UmVmKTogTm9kZUxpc3RPZjxIVE1MRWxlbWVudD4ge1xuICAgIHJldHVybiAoZWxSZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICcuc2t5LXRleHQtZXhwYW5kLXJlcGVhdGVyLWl0ZW0nLFxuICAgICkgYXMgTm9kZUxpc3RPZjxIVE1MRWxlbWVudD47XG4gIH1cblxuICBwdWJsaWMgaGlkZUl0ZW0oaXRlbTogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICB0aGlzLiNyZW5kZXJlci5zZXRTdHlsZShpdGVtLCAnZGlzcGxheScsICdub25lJyk7XG4gIH1cblxuICBwdWJsaWMgc2hvd0l0ZW0oaXRlbTogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICB0aGlzLiNyZW5kZXJlci5yZW1vdmVTdHlsZShpdGVtLCAnZGlzcGxheScpO1xuICB9XG5cbiAgcHVibGljIGdldENvbnRhaW5lckhlaWdodChjb250YWluZXJFbDogRWxlbWVudFJlZik6IG51bWJlciB7XG4gICAgcmV0dXJuIGNvbnRhaW5lckVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xuICB9XG5cbiAgcHVibGljIHJlbW92ZUNvbnRhaW5lck1heEhlaWdodChjb250YWluZXJFbDogRWxlbWVudFJlZik6IHZvaWQge1xuICAgIHRoaXMuI3JlbmRlcmVyLnJlbW92ZVN0eWxlKGNvbnRhaW5lckVsLm5hdGl2ZUVsZW1lbnQsICdtYXgtaGVpZ2h0Jyk7XG4gIH1cbn1cbiJdfQ==