@skyux/layout 8.7.2 → 9.0.0-alpha.1
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.
- package/documentation.json +228 -228
- package/esm2022/lib/modules/action-button/action-button-adapter-service.mjs +44 -0
- package/esm2022/lib/modules/action-button/action-button-container.component.mjs +138 -0
- package/{esm2020 → esm2022}/lib/modules/action-button/action-button-details.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/modules/action-button/action-button-header.component.mjs +4 -4
- package/esm2022/lib/modules/action-button/action-button-icon.component.mjs +40 -0
- package/esm2022/lib/modules/action-button/action-button.component.mjs +50 -0
- package/{esm2020 → esm2022}/lib/modules/action-button/action-button.module.mjs +23 -23
- package/{esm2020 → esm2022}/lib/modules/back-to-top/back-to-top-adapter.service.mjs +19 -22
- package/esm2022/lib/modules/back-to-top/back-to-top.component.mjs +25 -0
- package/esm2022/lib/modules/back-to-top/back-to-top.directive.mjs +119 -0
- package/{esm2020 → esm2022}/lib/modules/back-to-top/back-to-top.module.mjs +13 -13
- package/{esm2020 → esm2022}/lib/modules/box/box-content.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/modules/box/box-controls.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/modules/box/box-header.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/modules/box/box.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/modules/box/box.module.mjs +11 -11
- package/{esm2020 → esm2022}/lib/modules/card/card-actions.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/modules/card/card-content.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/modules/card/card-title.component.mjs +4 -4
- package/esm2022/lib/modules/card/card.component.mjs +107 -0
- package/{esm2020 → esm2022}/lib/modules/card/card.module.mjs +21 -21
- package/{esm2020 → esm2022}/lib/modules/definition-list/definition-list-content.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/modules/definition-list/definition-list-heading.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/modules/definition-list/definition-list-label.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/modules/definition-list/definition-list-value.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/modules/definition-list/definition-list.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/modules/definition-list/definition-list.module.mjs +13 -13
- package/{esm2020 → esm2022}/lib/modules/definition-list/definition-list.service.mjs +4 -4
- package/esm2022/lib/modules/description-list/description-list-adapter-service.mjs +44 -0
- package/{esm2020 → esm2022}/lib/modules/description-list/description-list-content.component.mjs +4 -4
- package/esm2022/lib/modules/description-list/description-list-description.component.mjs +52 -0
- package/{esm2020 → esm2022}/lib/modules/description-list/description-list-term.component.mjs +4 -4
- package/esm2022/lib/modules/description-list/description-list.component.mjs +95 -0
- package/{esm2020 → esm2022}/lib/modules/description-list/description-list.module.mjs +19 -19
- package/esm2022/lib/modules/description-list/description-list.service.mjs +24 -0
- package/esm2022/lib/modules/fluid-grid/column.component.mjs +66 -0
- package/esm2022/lib/modules/fluid-grid/fluid-grid.component.mjs +40 -0
- package/{esm2020 → esm2022}/lib/modules/fluid-grid/fluid-grid.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/modules/fluid-grid/row.component.mjs +4 -4
- package/esm2022/lib/modules/format/format.component.mjs +64 -0
- package/{esm2020 → esm2022}/lib/modules/format/format.module.mjs +5 -5
- package/esm2022/lib/modules/inline-delete/inline-delete-adapter.service.mjs +123 -0
- package/esm2022/lib/modules/inline-delete/inline-delete.component.mjs +164 -0
- package/{esm2020 → esm2022}/lib/modules/inline-delete/inline-delete.module.mjs +11 -11
- package/esm2022/lib/modules/page/page-theme-adapter.service.mjs +40 -0
- package/esm2022/lib/modules/page/page.component.mjs +49 -0
- package/{esm2020 → esm2022}/lib/modules/page/page.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/modules/page-summary/page-summary-adapter.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/modules/page-summary/page-summary-alert.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/modules/page-summary/page-summary-content.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/modules/page-summary/page-summary-image.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/modules/page-summary/page-summary-key-info.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/modules/page-summary/page-summary-status.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/modules/page-summary/page-summary-subtitle.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/modules/page-summary/page-summary-title.component.mjs +4 -4
- package/esm2022/lib/modules/page-summary/page-summary.component.mjs +73 -0
- package/{esm2020 → esm2022}/lib/modules/page-summary/page-summary.module.mjs +19 -19
- package/esm2022/lib/modules/shared/sky-layout-resources.module.mjs +60 -0
- package/esm2022/lib/modules/text-expand/text-expand-adapter.service.mjs +26 -0
- package/{esm2020 → esm2022}/lib/modules/text-expand/text-expand-modal.component.mjs +4 -4
- package/esm2022/lib/modules/text-expand/text-expand.component.mjs +315 -0
- package/{esm2020 → esm2022}/lib/modules/text-expand/text-expand.module.mjs +11 -11
- package/esm2022/lib/modules/text-expand-repeater/text-expand-repeater-adapter.service.mjs +32 -0
- package/esm2022/lib/modules/text-expand-repeater/text-expand-repeater.component.mjs +216 -0
- package/{esm2020 → esm2022}/lib/modules/text-expand-repeater/text-expand-repeater.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/modules/toolbar/toolbar-item.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/modules/toolbar/toolbar-section.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/modules/toolbar/toolbar-view-actions.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/modules/toolbar/toolbar.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/modules/toolbar/toolbar.module.mjs +11 -11
- package/esm2022/testing/action-button-fixture.mjs +48 -0
- package/esm2022/testing/box/box-harness.mjs +34 -0
- package/esm2022/testing/card-fixture.mjs +65 -0
- package/esm2022/testing/page-summary-fixture.mjs +31 -0
- package/fesm2022/skyux-layout-testing.mjs +181 -0
- package/{fesm2015 → fesm2022}/skyux-layout-testing.mjs.map +1 -1
- package/fesm2022/skyux-layout.mjs +2957 -0
- package/{fesm2020 → fesm2022}/skyux-layout.mjs.map +1 -1
- package/lib/modules/action-button/action-button-container.component.d.ts +1 -1
- package/lib/modules/action-button/action-button-icon.component.d.ts +1 -1
- package/lib/modules/action-button/action-button.component.d.ts +1 -1
- package/lib/modules/back-to-top/back-to-top.directive.d.ts +1 -1
- package/lib/modules/box/box.component.d.ts +1 -1
- package/lib/modules/card/card.component.d.ts +1 -1
- package/lib/modules/definition-list/definition-list.component.d.ts +1 -1
- package/lib/modules/description-list/description-list.component.d.ts +1 -1
- package/lib/modules/fluid-grid/column.component.d.ts +1 -1
- package/lib/modules/fluid-grid/fluid-grid.component.d.ts +1 -1
- package/lib/modules/fluid-grid/row.component.d.ts +1 -1
- package/lib/modules/format/format.component.d.ts +1 -1
- package/lib/modules/inline-delete/inline-delete.component.d.ts +1 -1
- package/lib/modules/page/page.component.d.ts +1 -1
- package/lib/modules/text-expand/text-expand.component.d.ts +1 -1
- package/lib/modules/text-expand-repeater/text-expand-repeater.component.d.ts +1 -1
- package/package.json +23 -31
- package/esm2020/lib/modules/action-button/action-button-adapter-service.mjs +0 -47
- package/esm2020/lib/modules/action-button/action-button-container.component.mjs +0 -139
- package/esm2020/lib/modules/action-button/action-button-icon.component.mjs +0 -43
- package/esm2020/lib/modules/action-button/action-button.component.mjs +0 -53
- package/esm2020/lib/modules/back-to-top/back-to-top.component.mjs +0 -30
- package/esm2020/lib/modules/back-to-top/back-to-top.directive.mjs +0 -118
- package/esm2020/lib/modules/card/card.component.mjs +0 -109
- package/esm2020/lib/modules/description-list/description-list-adapter-service.mjs +0 -47
- package/esm2020/lib/modules/description-list/description-list-description.component.mjs +0 -55
- package/esm2020/lib/modules/description-list/description-list.component.mjs +0 -98
- package/esm2020/lib/modules/description-list/description-list.service.mjs +0 -29
- package/esm2020/lib/modules/fluid-grid/column.component.mjs +0 -71
- package/esm2020/lib/modules/fluid-grid/fluid-grid.component.mjs +0 -42
- package/esm2020/lib/modules/format/format.component.mjs +0 -67
- package/esm2020/lib/modules/inline-delete/inline-delete-adapter.service.mjs +0 -122
- package/esm2020/lib/modules/inline-delete/inline-delete.component.mjs +0 -167
- package/esm2020/lib/modules/page/page-theme-adapter.service.mjs +0 -43
- package/esm2020/lib/modules/page/page.component.mjs +0 -52
- package/esm2020/lib/modules/page-summary/page-summary.component.mjs +0 -75
- package/esm2020/lib/modules/shared/sky-layout-resources.module.mjs +0 -60
- package/esm2020/lib/modules/text-expand/text-expand-adapter.service.mjs +0 -29
- package/esm2020/lib/modules/text-expand/text-expand.component.mjs +0 -306
- package/esm2020/lib/modules/text-expand-repeater/text-expand-repeater-adapter.service.mjs +0 -35
- package/esm2020/lib/modules/text-expand-repeater/text-expand-repeater.component.mjs +0 -214
- package/esm2020/testing/action-button-fixture.mjs +0 -51
- package/esm2020/testing/box/box-harness.mjs +0 -40
- package/esm2020/testing/card-fixture.mjs +0 -67
- package/esm2020/testing/page-summary-fixture.mjs +0 -34
- package/fesm2015/skyux-layout-testing.mjs +0 -198
- package/fesm2015/skyux-layout.mjs +0 -2996
- package/fesm2015/skyux-layout.mjs.map +0 -1
- package/fesm2020/skyux-layout-testing.mjs +0 -192
- package/fesm2020/skyux-layout-testing.mjs.map +0 -1
- package/fesm2020/skyux-layout.mjs +0 -2982
- /package/{esm2020 → esm2022}/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/action-button/action-button-permalink.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/action-button/types/action-button-container-align-items-type.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/action-button/types/action-button-container-align-items.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/back-to-top/models/back-to-top-message-type.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/back-to-top/models/back-to-top-message.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/back-to-top/models/back-to-top-options.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/description-list/types/description-list-mode-type.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/description-list/types/description-list-mode.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/fluid-grid/types/fluid-grid-gutter-size-type.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/format/format-item.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/inline-delete/inline-delete-type.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/page/page-layout-type.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/text-expand/text-expand-modal-context-token.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/text-expand/text-expand-modal-context.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/text-expand-repeater/types/text-expand-repeater-list-style-type.mjs +0 -0
- /package/{esm2020 → esm2022}/skyux-layout.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/box/box-harness.filters.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/skyux-layout-testing.mjs +0 -0
|
@@ -0,0 +1,315 @@
|
|
|
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
|
+
import * as i4 from "@angular/common";
|
|
13
|
+
/**
|
|
14
|
+
* Auto-incrementing integer used to generate unique ids for text expand components.
|
|
15
|
+
*/
|
|
16
|
+
let nextId = 0;
|
|
17
|
+
export class SkyTextExpandComponent {
|
|
18
|
+
/**
|
|
19
|
+
* The maximum number of text characters to display inline when users select the link
|
|
20
|
+
* to expand the full text. If the text exceeds this limit, then the component expands
|
|
21
|
+
* the full text in a modal instead.
|
|
22
|
+
* @default 600
|
|
23
|
+
*/
|
|
24
|
+
set maxExpandedLength(value) {
|
|
25
|
+
if (value) {
|
|
26
|
+
this.#_maxExpandedLength = value;
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
this.#_maxExpandedLength = 600;
|
|
30
|
+
}
|
|
31
|
+
this.#setup(this.text);
|
|
32
|
+
}
|
|
33
|
+
get maxExpandedLength() {
|
|
34
|
+
return this.#_maxExpandedLength;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* The maximum number of newline characters to display inline when users select
|
|
38
|
+
* the link to expand the full text. If the text exceeds this limit, then
|
|
39
|
+
* the component expands the full text in a modal view instead.
|
|
40
|
+
* @default 2
|
|
41
|
+
*/
|
|
42
|
+
set maxExpandedNewlines(value) {
|
|
43
|
+
if (value) {
|
|
44
|
+
this.#_maxExpandedNewlines = value;
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
this.#_maxExpandedNewlines = 2;
|
|
48
|
+
}
|
|
49
|
+
this.#setup(this.text);
|
|
50
|
+
}
|
|
51
|
+
get maxExpandedNewlines() {
|
|
52
|
+
return this.#_maxExpandedNewlines;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* The number of text characters to display before truncating the text.
|
|
56
|
+
* To avoid truncating text in the middle of a word, the component looks for a space
|
|
57
|
+
* in the 10 characters before the last character.
|
|
58
|
+
* @default 200
|
|
59
|
+
*/
|
|
60
|
+
set maxLength(value) {
|
|
61
|
+
if (value) {
|
|
62
|
+
this.#_maxLength = value;
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
this.#_maxLength = 200;
|
|
66
|
+
}
|
|
67
|
+
this.#setup(this.text);
|
|
68
|
+
}
|
|
69
|
+
get maxLength() {
|
|
70
|
+
return this.#_maxLength;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* The text to truncate.
|
|
74
|
+
*/
|
|
75
|
+
set text(value) {
|
|
76
|
+
this.#_text = value ?? '';
|
|
77
|
+
this.#setup(this.#_text);
|
|
78
|
+
}
|
|
79
|
+
get text() {
|
|
80
|
+
return this.#_text;
|
|
81
|
+
}
|
|
82
|
+
set textEl(value) {
|
|
83
|
+
this.#_textEl = value;
|
|
84
|
+
this.#setup(this.text);
|
|
85
|
+
}
|
|
86
|
+
get textEl() {
|
|
87
|
+
return this.#_textEl;
|
|
88
|
+
}
|
|
89
|
+
#collapsedText;
|
|
90
|
+
#newlineCount;
|
|
91
|
+
#seeMoreText;
|
|
92
|
+
#seeLessText;
|
|
93
|
+
#textToShow;
|
|
94
|
+
#_maxExpandedLength;
|
|
95
|
+
#_maxExpandedNewlines;
|
|
96
|
+
#_maxLength;
|
|
97
|
+
#_text;
|
|
98
|
+
#_textEl;
|
|
99
|
+
#resources;
|
|
100
|
+
#modalSvc;
|
|
101
|
+
#textExpandAdapter;
|
|
102
|
+
constructor(resources, modalSvc, textExpandAdapter) {
|
|
103
|
+
/**
|
|
104
|
+
* Whether to replace newline characters in truncated text with spaces.
|
|
105
|
+
*/
|
|
106
|
+
this.truncateNewlines = true;
|
|
107
|
+
this.buttonText = '';
|
|
108
|
+
this.contentSectionId = `sky-text-expand-content-${++nextId}`;
|
|
109
|
+
this.expandable = false;
|
|
110
|
+
this.isModal = false;
|
|
111
|
+
this.transitionHeight = 1;
|
|
112
|
+
this.#collapsedText = '';
|
|
113
|
+
this.#newlineCount = 0;
|
|
114
|
+
this.#seeMoreText = '';
|
|
115
|
+
this.#seeLessText = '';
|
|
116
|
+
this.#textToShow = '';
|
|
117
|
+
this.#_maxExpandedLength = 600;
|
|
118
|
+
this.#_maxExpandedNewlines = 2;
|
|
119
|
+
this.#_maxLength = 200;
|
|
120
|
+
this.#_text = '';
|
|
121
|
+
this.#resources = resources;
|
|
122
|
+
this.#modalSvc = modalSvc;
|
|
123
|
+
this.#textExpandAdapter = textExpandAdapter;
|
|
124
|
+
}
|
|
125
|
+
textExpand() {
|
|
126
|
+
if (this.isModal) {
|
|
127
|
+
// Modal View
|
|
128
|
+
/* istanbul ignore else */
|
|
129
|
+
/* sanity check */
|
|
130
|
+
if (!this.isExpanded) {
|
|
131
|
+
this.#modalSvc.open(SkyTextExpandModalComponent, [
|
|
132
|
+
{
|
|
133
|
+
provide: SKY_TEXT_EXPAND_MODAL_CONTEXT,
|
|
134
|
+
useValue: {
|
|
135
|
+
header: this.expandModalTitle,
|
|
136
|
+
text: this.text,
|
|
137
|
+
},
|
|
138
|
+
},
|
|
139
|
+
]);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
// Normal View
|
|
144
|
+
if (!this.isExpanded) {
|
|
145
|
+
this.#animateText(true);
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
this.#animateText(false);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
animationEnd() {
|
|
153
|
+
if (this.textEl && this.containerEl) {
|
|
154
|
+
// Ensure the correct text is displayed
|
|
155
|
+
this.#textExpandAdapter.setText(this.textEl, this.#textToShow);
|
|
156
|
+
setTimeout(() => {
|
|
157
|
+
if (this.containerEl) {
|
|
158
|
+
// Set height back to auto so the browser can change the height as needed with window changes
|
|
159
|
+
this.#textExpandAdapter.removeContainerMaxHeight(this.containerEl);
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
ngAfterContentInit() {
|
|
165
|
+
observableForkJoin([
|
|
166
|
+
this.#resources.getString('skyux_text_expand_see_more'),
|
|
167
|
+
this.#resources.getString('skyux_text_expand_see_less'),
|
|
168
|
+
])
|
|
169
|
+
.pipe(take(1))
|
|
170
|
+
.subscribe((resources) => {
|
|
171
|
+
this.#seeMoreText = resources[0];
|
|
172
|
+
this.#seeLessText = resources[1];
|
|
173
|
+
this.#setup(this.text);
|
|
174
|
+
/* istanbul ignore else */
|
|
175
|
+
if (!this.expandModalTitle) {
|
|
176
|
+
this.#resources
|
|
177
|
+
.getString('skyux_text_expand_modal_title')
|
|
178
|
+
.pipe(take(1))
|
|
179
|
+
.subscribe((resource) => {
|
|
180
|
+
this.expandModalTitle = resource;
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
#setup(value) {
|
|
186
|
+
if (value) {
|
|
187
|
+
this.#newlineCount = this.#getNewlineCount(value);
|
|
188
|
+
this.#collapsedText = this.#getTruncatedText(value, this.maxLength);
|
|
189
|
+
if (this.#collapsedText !== value) {
|
|
190
|
+
this.buttonText = this.#seeMoreText;
|
|
191
|
+
this.isExpanded = false;
|
|
192
|
+
this.expandable = true;
|
|
193
|
+
this.isModal =
|
|
194
|
+
this.#newlineCount > this.maxExpandedNewlines ||
|
|
195
|
+
this.text.length > this.maxExpandedLength;
|
|
196
|
+
}
|
|
197
|
+
else {
|
|
198
|
+
this.expandable = false;
|
|
199
|
+
}
|
|
200
|
+
this.#textToShow = this.#collapsedText;
|
|
201
|
+
}
|
|
202
|
+
else {
|
|
203
|
+
this.#textToShow = '';
|
|
204
|
+
this.expandable = false;
|
|
205
|
+
}
|
|
206
|
+
if (this.textEl) {
|
|
207
|
+
this.#textExpandAdapter.setText(this.textEl, this.#textToShow);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
#getNewlineCount(value) {
|
|
211
|
+
const matches = value.match(/\n/gi);
|
|
212
|
+
if (matches) {
|
|
213
|
+
return matches.length;
|
|
214
|
+
}
|
|
215
|
+
return 0;
|
|
216
|
+
}
|
|
217
|
+
#getTruncatedText(value, length) {
|
|
218
|
+
let i;
|
|
219
|
+
if (this.truncateNewlines) {
|
|
220
|
+
value = value.replace(/\n+/gi, ' ');
|
|
221
|
+
}
|
|
222
|
+
// Jump ahead one character and see if it's a space, and if it isn't,
|
|
223
|
+
// back up to the first space and break there so a word doesn't get cut
|
|
224
|
+
// in half.
|
|
225
|
+
if (length < value.length) {
|
|
226
|
+
for (i = length; i > length - 10; i--) {
|
|
227
|
+
if (/\s/.test(value.charAt(i))) {
|
|
228
|
+
length = i;
|
|
229
|
+
break;
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
return value.substring(0, length);
|
|
234
|
+
}
|
|
235
|
+
#animateText(expanding) {
|
|
236
|
+
if (this.containerEl && this.textEl) {
|
|
237
|
+
const adapter = this.#textExpandAdapter;
|
|
238
|
+
const container = this.containerEl;
|
|
239
|
+
if (expanding) {
|
|
240
|
+
adapter.setText(this.textEl, this.text);
|
|
241
|
+
this.#textToShow = this.text;
|
|
242
|
+
}
|
|
243
|
+
else {
|
|
244
|
+
adapter.setText(this.textEl, this.#collapsedText);
|
|
245
|
+
this.#textToShow = this.#collapsedText;
|
|
246
|
+
}
|
|
247
|
+
this.buttonText = expanding ? this.#seeLessText : this.#seeMoreText;
|
|
248
|
+
// Measure the new height so we can animate to it.
|
|
249
|
+
const newHeight = adapter.getContainerHeight(container);
|
|
250
|
+
this.transitionHeight = newHeight;
|
|
251
|
+
// Always show all text while animating so that the animation is smooth. The animation callback will set this back if needed.
|
|
252
|
+
if (!expanding) {
|
|
253
|
+
adapter.setText(this.textEl, this.text);
|
|
254
|
+
}
|
|
255
|
+
this.isExpanded = expanding;
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyTextExpandComponent, deps: [{ token: i1.SkyLibResourcesService }, { token: i2.SkyModalService }, { token: i3.SkyTextExpandAdapterService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
259
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", 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 [@expansionAnimation]=\"{\n value: isExpanded,\n params: { transitionHeight: transitionHeight }\n }\"\n (@expansionAnimation.done)=\"animationEnd()\"\n class=\"sky-text-expand-container\"\n #container\n>\n <span class=\"sky-text-expand-text\" [id]=\"contentSectionId\" #text></span>\n <span class=\"sky-text-expand-ellipsis\" *ngIf=\"!isExpanded && expandable\"\n >...\n </span>\n <button\n *ngIf=\"expandable\"\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</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"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [
|
|
260
|
+
trigger('expansionAnimation', [
|
|
261
|
+
transition(':enter', []),
|
|
262
|
+
state('true', style({
|
|
263
|
+
maxHeight: '{{transitionHeight}}px',
|
|
264
|
+
}), { params: { transitionHeight: 0 } }),
|
|
265
|
+
state('false', style({
|
|
266
|
+
maxHeight: '{{transitionHeight}}px',
|
|
267
|
+
}), { params: { transitionHeight: 0 } }),
|
|
268
|
+
transition('true => false', animate('250ms ease')),
|
|
269
|
+
transition('false => true', animate('250ms ease')),
|
|
270
|
+
transition('void => *', []),
|
|
271
|
+
]),
|
|
272
|
+
] }); }
|
|
273
|
+
}
|
|
274
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyTextExpandComponent, decorators: [{
|
|
275
|
+
type: Component,
|
|
276
|
+
args: [{ animations: [
|
|
277
|
+
trigger('expansionAnimation', [
|
|
278
|
+
transition(':enter', []),
|
|
279
|
+
state('true', style({
|
|
280
|
+
maxHeight: '{{transitionHeight}}px',
|
|
281
|
+
}), { params: { transitionHeight: 0 } }),
|
|
282
|
+
state('false', style({
|
|
283
|
+
maxHeight: '{{transitionHeight}}px',
|
|
284
|
+
}), { params: { transitionHeight: 0 } }),
|
|
285
|
+
transition('true => false', animate('250ms ease')),
|
|
286
|
+
transition('false => true', animate('250ms ease')),
|
|
287
|
+
transition('void => *', []),
|
|
288
|
+
]),
|
|
289
|
+
], selector: 'sky-text-expand', providers: [SkyTextExpandAdapterService], template: "<div\n [@expansionAnimation]=\"{\n value: isExpanded,\n params: { transitionHeight: transitionHeight }\n }\"\n (@expansionAnimation.done)=\"animationEnd()\"\n class=\"sky-text-expand-container\"\n #container\n>\n <span class=\"sky-text-expand-text\" [id]=\"contentSectionId\" #text></span>\n <span class=\"sky-text-expand-ellipsis\" *ngIf=\"!isExpanded && expandable\"\n >...\n </span>\n <button\n *ngIf=\"expandable\"\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</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"] }]
|
|
290
|
+
}], ctorParameters: function () { return [{ type: i1.SkyLibResourcesService }, { type: i2.SkyModalService }, { type: i3.SkyTextExpandAdapterService }]; }, propDecorators: { expandModalTitle: [{
|
|
291
|
+
type: Input
|
|
292
|
+
}], maxExpandedLength: [{
|
|
293
|
+
type: Input
|
|
294
|
+
}], maxExpandedNewlines: [{
|
|
295
|
+
type: Input
|
|
296
|
+
}], maxLength: [{
|
|
297
|
+
type: Input
|
|
298
|
+
}], text: [{
|
|
299
|
+
type: Input
|
|
300
|
+
}], truncateNewlines: [{
|
|
301
|
+
type: Input
|
|
302
|
+
}], containerEl: [{
|
|
303
|
+
type: ViewChild,
|
|
304
|
+
args: ['container', {
|
|
305
|
+
read: ElementRef,
|
|
306
|
+
static: true,
|
|
307
|
+
}]
|
|
308
|
+
}], textEl: [{
|
|
309
|
+
type: ViewChild,
|
|
310
|
+
args: ['text', {
|
|
311
|
+
read: ElementRef,
|
|
312
|
+
static: true,
|
|
313
|
+
}]
|
|
314
|
+
}] } });
|
|
315
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1leHBhbmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xheW91dC9zcmMvbGliL21vZHVsZXMvdGV4dC1leHBhbmQvdGV4dC1leHBhbmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xheW91dC9zcmMvbGliL21vZHVsZXMvdGV4dC1leHBhbmQvdGV4dC1leHBhbmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLE9BQU8sRUFDUCxLQUFLLEVBQ0wsS0FBSyxFQUNMLFVBQVUsRUFDVixPQUFPLEdBQ1IsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBRUwsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBQ0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxRQUFRLElBQUksa0JBQWtCLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7Ozs7QUFFNUU7O0dBRUc7QUFDSCxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7QUE4QmYsTUFBTSxPQUFPLHNCQUFzQjtJQVFqQzs7Ozs7T0FLRztJQUNILElBQ1csaUJBQWlCLENBQUMsS0FBeUI7UUFDcEQsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO1NBQ2xDO2FBQU07WUFDTCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsR0FB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QUFTLEVBQUUsd0JBQXdCOzZCQUNwQyxDQUFDLEVBQ0YsRUFBRSxNQUFNLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUNwQzs0QkFDRCxLQUFLLENBQ0gsT0FBTyxFQUNQLEtBQUssQ0FBQztnQ0FDSixTQUFTLEVBQUUsd0JBQXdCOzZCQUNwQyxDQUFDLEVBQ0YsRUFBRSxNQUFNLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUNwQzs0QkFDRCxVQUFVLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQzs0QkFDbEQsVUFBVSxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7NEJBQ2xELFVBQVUsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO3lCQUM1QixDQUFDO3FCQUNILFlBQ1MsaUJBQWlCLGFBR2hCLENBQUMsMkJBQTJCLENBQUM7cUxBUWpDLGdCQUFnQjtzQkFEdEIsS0FBSztnQkFVSyxpQkFBaUI7c0JBRDNCLEtBQUs7Z0JBcUJLLG1CQUFtQjtzQkFEN0IsS0FBSztnQkFxQkssU0FBUztzQkFEbkIsS0FBSztnQkFrQkssSUFBSTtzQkFEZCxLQUFLO2dCQWNDLGdCQUFnQjtzQkFEdEIsS0FBSztnQkFtQkMsV0FBVztzQkFKakIsU0FBUzt1QkFBQyxXQUFXLEVBQUU7d0JBQ3RCLElBQUksRUFBRSxVQUFVO3dCQUNoQixNQUFNLEVBQUUsSUFBSTtxQkFDYjtnQkFPVSxNQUFNO3NCQUpoQixTQUFTO3VCQUFDLE1BQU0sRUFBRTt3QkFDakIsSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLE1BQU0sRUFBRSxJQUFJO3FCQUNiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYW5pbWF0ZSxcbiAgc3RhdGUsXG4gIHN0eWxlLFxuICB0cmFuc2l0aW9uLFxuICB0cmlnZ2VyLFxufSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2kxOG4nO1xuaW1wb3J0IHsgU2t5TW9kYWxTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L21vZGFscyc7XG5cbmltcG9ydCB7IGZvcmtKb2luIGFzIG9ic2VydmFibGVGb3JrSm9pbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5VGV4dEV4cGFuZEFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi90ZXh0LWV4cGFuZC1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU0tZX1RFWFRfRVhQQU5EX01PREFMX0NPTlRFWFQgfSBmcm9tICcuL3RleHQtZXhwYW5kLW1vZGFsLWNvbnRleHQtdG9rZW4nO1xuaW1wb3J0IHsgU2t5VGV4dEV4cGFuZE1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi90ZXh0LWV4cGFuZC1tb2RhbC5jb21wb25lbnQnO1xuXG4vKipcbiAqIEF1dG8taW5jcmVtZW50aW5nIGludGVnZXIgdXNlZCB0byBnZW5lcmF0ZSB1bmlxdWUgaWRzIGZvciB0ZXh0IGV4cGFuZCBjb21wb25lbnRzLlxuICovXG5sZXQgbmV4dElkID0gMDtcblxuQENvbXBvbmVudCh7XG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdleHBhbnNpb25BbmltYXRpb24nLCBbXG4gICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXSksXG4gICAgICBzdGF0ZShcbiAgICAgICAgJ3RydWUnLFxuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgbWF4SGVpZ2h0OiAne3t0cmFuc2l0aW9uSGVpZ2h0fX1weCcsXG4gICAgICAgIH0pLFxuICAgICAgICB7IHBhcmFtczogeyB0cmFuc2l0aW9uSGVpZ2h0OiAwIH0gfVxuICAgICAgKSxcbiAgICAgIHN0YXRlKFxuICAgICAgICAnZmFsc2UnLFxuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgbWF4SGVpZ2h0OiAne3t0cmFuc2l0aW9uSGVpZ2h0fX1weCcsXG4gICAgICAgIH0pLFxuICAgICAgICB7IHBhcmFtczogeyB0cmFuc2l0aW9uSGVpZ2h0OiAwIH0gfVxuICAgICAgKSxcbiAgICAgIHRyYW5zaXRpb24oJ3RydWUgPT4gZmFsc2UnLCBhbmltYXRlKCcyNTBtcyBlYXNlJykpLFxuICAgICAgdHJhbnNpdGlvbignZmFsc2UgPT4gdHJ1ZScsIGFuaW1hdGUoJzI1MG1zIGVhc2UnKSksXG4gICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IConLCBbXSksXG4gICAgXSksXG4gIF0sXG4gIHNlbGVjdG9yOiAnc2t5LXRleHQtZXhwYW5kJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHQtZXhwYW5kLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGV4dC1leHBhbmQuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbU2t5VGV4dEV4cGFuZEFkYXB0ZXJTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5VGV4dEV4cGFuZENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICAvKipcbiAgICogVGhlIHRpdGxlIHRvIGRpc3BsYXkgd2hlbiB0aGUgY29tcG9uZW50IGV4cGFuZHMgdGhlIGZ1bGwgdGV4dCBpbiBhIG1vZGFsLlxuICAgKiBAZGVmYXVsdCBcIkV4cGFuZGVkIHZpZXdcIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGV4cGFuZE1vZGFsVGl0bGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIG1heGltdW0gbnVtYmVyIG9mIHRleHQgY2hhcmFjdGVycyB0byBkaXNwbGF5IGlubGluZSB3aGVuIHVzZXJzIHNlbGVjdCB0aGUgbGlua1xuICAgKiB0byBleHBhbmQgdGhlIGZ1bGwgdGV4dC4gSWYgdGhlIHRleHQgZXhjZWVkcyB0aGlzIGxpbWl0LCB0aGVuIHRoZSBjb21wb25lbnQgZXhwYW5kc1xuICAgKiB0aGUgZnVsbCB0ZXh0IGluIGEgbW9kYWwgaW5zdGVhZC5cbiAgICogQGRlZmF1bHQgNjAwXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IG1heEV4cGFuZGVkTGVuZ3RoKHZhbHVlOiBudW1iZXIgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuI19tYXhFeHBhbmRlZExlbmd0aCA9IHZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiNfbWF4RXhwYW5kZWRMZW5ndGggPSA2MDA7XG4gICAgfVxuICAgIHRoaXMuI3NldHVwKHRoaXMudGV4dCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG1heEV4cGFuZGVkTGVuZ3RoKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuI19tYXhFeHBhbmRlZExlbmd0aDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgbmV3bGluZSBjaGFyYWN0ZXJzIHRvIGRpc3BsYXkgaW5saW5lIHdoZW4gdXNlcnMgc2VsZWN0XG4gICAqIHRoZSBsaW5rIHRvIGV4cGFuZCB0aGUgZnVsbCB0ZXh0LiBJZiB0aGUgdGV4dCBleGNlZWRzIHRoaXMgbGltaXQsIHRoZW5cbiAgICogdGhlIGNvbXBvbmVudCBleHBhbmRzIHRoZSBmdWxsIHRleHQgaW4gYSBtb2RhbCB2aWV3IGluc3RlYWQuXG4gICAqIEBkZWZhdWx0IDJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgbWF4RXhwYW5kZWROZXdsaW5lcyh2YWx1ZTogbnVtYmVyIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLiNfbWF4RXhwYW5kZWROZXdsaW5lcyA9IHZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiNfbWF4RXhwYW5kZWROZXdsaW5lcyA9IDI7XG4gICAgfVxuICAgIHRoaXMuI3NldHVwKHRoaXMudGV4dCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG1heEV4cGFuZGVkTmV3bGluZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy4jX21heEV4cGFuZGVkTmV3bGluZXM7XG4gIH1cblxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiB0ZXh0IGNoYXJhY3RlcnMgdG8gZGlzcGxheSBiZWZvcmUgdHJ1bmNhdGluZyB0aGUgdGV4dC5cbiAgICogVG8gYXZvaWQgdHJ1bmNhdGluZyB0ZXh0IGluIHRoZSBtaWRkbGUgb2YgYSB3b3JkLCB0aGUgY29tcG9uZW50IGxvb2tzIGZvciBhIHNwYWNlXG4gICAqIGluIHRoZSAxMCBjaGFyYWN0ZXJzIGJlZm9yZSB0aGUgbGFzdCBjaGFyYWN0ZXIuXG4gICAqIEBkZWZhdWx0IDIwMFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBtYXhMZW5ndGgodmFsdWU6IG51bWJlciB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy4jX21heExlbmd0aCA9IHZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiNfbWF4TGVuZ3RoID0gMjAwO1xuICAgIH1cbiAgICB0aGlzLiNzZXR1cCh0aGlzLnRleHQpO1xuICB9XG5cbiAgcHVibGljIGdldCBtYXhMZW5ndGgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy4jX21heExlbmd0aDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgdGV4dCB0byB0cnVuY2F0ZS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdGV4dCh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX3RleHQgPSB2YWx1ZSA/PyAnJztcbiAgICB0aGlzLiNzZXR1cCh0aGlzLiNfdGV4dCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRleHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy4jX3RleHQ7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0byByZXBsYWNlIG5ld2xpbmUgY2hhcmFjdGVycyBpbiB0cnVuY2F0ZWQgdGV4dCB3aXRoIHNwYWNlcy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0cnVuY2F0ZU5ld2xpbmVzID0gdHJ1ZTtcblxuICBwdWJsaWMgYnV0dG9uVGV4dCA9ICcnO1xuXG4gIHB1YmxpYyBjb250ZW50U2VjdGlvbklkID0gYHNreS10ZXh0LWV4cGFuZC1jb250ZW50LSR7KytuZXh0SWR9YDtcblxuICBwdWJsaWMgZXhwYW5kYWJsZSA9IGZhbHNlO1xuXG4gIHB1YmxpYyBpc0V4cGFuZGVkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBpc01vZGFsID0gZmFsc2U7XG5cbiAgcHVibGljIHRyYW5zaXRpb25IZWlnaHQgPSAxO1xuXG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHtcbiAgICByZWFkOiBFbGVtZW50UmVmLFxuICAgIHN0YXRpYzogdHJ1ZSxcbiAgfSlcbiAgcHVibGljIGNvbnRhaW5lckVsOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gIEBWaWV3Q2hpbGQoJ3RleHQnLCB7XG4gICAgcmVhZDogRWxlbWVudFJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIHB1YmxpYyBzZXQgdGV4dEVsKHZhbHVlOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX3RleHRFbCA9IHZhbHVlO1xuICAgIHRoaXMuI3NldHVwKHRoaXMudGV4dCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRleHRFbCgpOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX3RleHRFbDtcbiAgfVxuXG4gICNjb2xsYXBzZWRUZXh0ID0gJyc7XG5cbiAgI25ld2xpbmVDb3VudCA9IDA7XG5cbiAgI3NlZU1vcmVUZXh0ID0gJyc7XG5cbiAgI3NlZUxlc3NUZXh0ID0gJyc7XG5cbiAgI3RleHRUb1Nob3cgPSAnJztcblxuICAjX21heEV4cGFuZGVkTGVuZ3RoID0gNjAwO1xuXG4gICNfbWF4RXhwYW5kZWROZXdsaW5lcyA9IDI7XG5cbiAgI19tYXhMZW5ndGggPSAyMDA7XG5cbiAgI190ZXh0ID0gJyc7XG5cbiAgI190ZXh0RWw6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG5cbiAgI3Jlc291cmNlczogU2t5TGliUmVzb3VyY2VzU2VydmljZTtcbiAgI21vZGFsU3ZjOiBTa3lNb2RhbFNlcnZpY2U7XG4gICN0ZXh0RXhwYW5kQWRhcHRlcjogU2t5VGV4dEV4cGFuZEFkYXB0ZXJTZXJ2aWNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHJlc291cmNlczogU2t5TGliUmVzb3VyY2VzU2VydmljZSxcbiAgICBtb2RhbFN2YzogU2t5TW9kYWxTZXJ2aWNlLFxuICAgIHRleHRFeHBhbmRBZGFwdGVyOiBTa3lUZXh0RXhwYW5kQWRhcHRlclNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy4jcmVzb3VyY2VzID0gcmVzb3VyY2VzO1xuICAgIHRoaXMuI21vZGFsU3ZjID0gbW9kYWxTdmM7XG4gICAgdGhpcy4jdGV4dEV4cGFuZEFkYXB0ZXIgPSB0ZXh0RXhwYW5kQWRhcHRlcjtcbiAgfVxuXG4gIHB1YmxpYyB0ZXh0RXhwYW5kKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzTW9kYWwpIHtcbiAgICAgIC8vIE1vZGFsIFZpZXdcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAvKiBzYW5pdHkgY2hlY2sgKi9cbiAgICAgIGlmICghdGhpcy5pc0V4cGFuZGVkKSB7XG4gICAgICAgIHRoaXMuI21vZGFsU3ZjLm9wZW4oU2t5VGV4dEV4cGFuZE1vZGFsQ29tcG9uZW50LCBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogU0tZX1RFWFRfRVhQQU5EX01PREFMX0NPTlRFWFQsXG4gICAgICAgICAgICB1c2VWYWx1ZToge1xuICAgICAgICAgICAgICBoZWFkZXI6IHRoaXMuZXhwYW5kTW9kYWxUaXRsZSxcbiAgICAgICAgICAgICAgdGV4dDogdGhpcy50ZXh0LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICBdKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gTm9ybWFsIFZpZXdcbiAgICAgIGlmICghdGhpcy5pc0V4cGFuZGVkKSB7XG4gICAgICAgIHRoaXMuI2FuaW1hdGVUZXh0KHRydWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy4jYW5pbWF0ZVRleHQoZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhbmltYXRpb25FbmQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudGV4dEVsICYmIHRoaXMuY29udGFpbmVyRWwpIHtcbiAgICAgIC8vIEVuc3VyZSB0aGUgY29ycmVjdCB0ZXh0IGlzIGRpc3BsYXllZFxuICAgICAgdGhpcy4jdGV4dEV4cGFuZEFkYXB0ZXIuc2V0VGV4dCh0aGlzLnRleHRFbCwgdGhpcy4jdGV4dFRvU2hvdyk7XG5cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5jb250YWluZXJFbCkge1xuICAgICAgICAgIC8vIFNldCBoZWlnaHQgYmFjayB0byBhdXRvIHNvIHRoZSBicm93c2VyIGNhbiBjaGFuZ2UgdGhlIGhlaWdodCBhcyBuZWVkZWQgd2l0aCB3aW5kb3cgY2hhbmdlc1xuICAgICAgICAgIHRoaXMuI3RleHRFeHBhbmRBZGFwdGVyLnJlbW92ZUNvbnRhaW5lck1heEhlaWdodCh0aGlzLmNvbnRhaW5lckVsKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICBvYnNlcnZhYmxlRm9ya0pvaW4oW1xuICAgICAgdGhpcy4jcmVzb3VyY2VzLmdldFN0cmluZygnc2t5dXhfdGV4dF9leHBhbmRfc2VlX21vcmUnKSxcbiAgICAgIHRoaXMuI3Jlc291cmNlcy5nZXRTdHJpbmcoJ3NreXV4X3RleHRfZXhwYW5kX3NlZV9sZXNzJyksXG4gICAgXSlcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKChyZXNvdXJjZXMpID0+IHtcbiAgICAgICAgdGhpcy4jc2VlTW9yZVRleHQgPSByZXNvdXJjZXNbMF07XG4gICAgICAgIHRoaXMuI3NlZUxlc3NUZXh0ID0gcmVzb3VyY2VzWzFdO1xuICAgICAgICB0aGlzLiNzZXR1cCh0aGlzLnRleHQpO1xuXG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmICghdGhpcy5leHBhbmRNb2RhbFRpdGxlKSB7XG4gICAgICAgICAgdGhpcy4jcmVzb3VyY2VzXG4gICAgICAgICAgICAuZ2V0U3RyaW5nKCdza3l1eF90ZXh0X2V4cGFuZF9tb2RhbF90aXRsZScpXG4gICAgICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzb3VyY2UpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5leHBhbmRNb2RhbFRpdGxlID0gcmVzb3VyY2U7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICAjc2V0dXAodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy4jbmV3bGluZUNvdW50ID0gdGhpcy4jZ2V0TmV3bGluZUNvdW50KHZhbHVlKTtcbiAgICAgIHRoaXMuI2NvbGxhcHNlZFRleHQgPSB0aGlzLiNnZXRUcnVuY2F0ZWRUZXh0KHZhbHVlLCB0aGlzLm1heExlbmd0aCk7XG4gICAgICBpZiAodGhpcy4jY29sbGFwc2VkVGV4dCAhPT0gdmFsdWUpIHtcbiAgICAgICAgdGhpcy5idXR0b25UZXh0ID0gdGhpcy4jc2VlTW9yZVRleHQ7XG4gICAgICAgIHRoaXMuaXNFeHBhbmRlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmV4cGFuZGFibGUgPSB0cnVlO1xuICAgICAgICB0aGlzLmlzTW9kYWwgPVxuICAgICAgICAgIHRoaXMuI25ld2xpbmVDb3VudCA+IHRoaXMubWF4RXhwYW5kZWROZXdsaW5lcyB8fFxuICAgICAgICAgIHRoaXMudGV4dC5sZW5ndGggPiB0aGlzLm1heEV4cGFuZGVkTGVuZ3RoO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5leHBhbmRhYmxlID0gZmFsc2U7XG4gICAgICB9XG4gICAgICB0aGlzLiN0ZXh0VG9TaG93ID0gdGhpcy4jY29sbGFwc2VkVGV4dDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jdGV4dFRvU2hvdyA9ICcnO1xuICAgICAgdGhpcy5leHBhbmRhYmxlID0gZmFsc2U7XG4gICAgfVxuICAgIGlmICh0aGlzLnRleHRFbCkge1xuICAgICAgdGhpcy4jdGV4dEV4cGFuZEFkYXB0ZXIuc2V0VGV4dCh0aGlzLnRleHRFbCwgdGhpcy4jdGV4dFRvU2hvdyk7XG4gICAgfVxuICB9XG5cbiAgI2dldE5ld2xpbmVDb3VudCh2YWx1ZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICBjb25zdCBtYXRjaGVzID0gdmFsdWUubWF0Y2goL1xcbi9naSk7XG5cbiAgICBpZiAobWF0Y2hlcykge1xuICAgICAgcmV0dXJuIG1hdGNoZXMubGVuZ3RoO1xuICAgIH1cblxuICAgIHJldHVybiAwO1xuICB9XG5cbiAgI2dldFRydW5jYXRlZFRleHQodmFsdWU6IHN0cmluZywgbGVuZ3RoOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGxldCBpOiBudW1iZXI7XG4gICAgaWYgKHRoaXMudHJ1bmNhdGVOZXdsaW5lcykge1xuICAgICAgdmFsdWUgPSB2YWx1ZS5yZXBsYWNlKC9cXG4rL2dpLCAnICcpO1xuICAgIH1cbiAgICAvLyBKdW1wIGFoZWFkIG9uZSBjaGFyYWN0ZXIgYW5kIHNlZSBpZiBpdCdzIGEgc3BhY2UsIGFuZCBpZiBpdCBpc24ndCxcbiAgICAvLyBiYWNrIHVwIHRvIHRoZSBmaXJzdCBzcGFjZSBhbmQgYnJlYWsgdGhlcmUgc28gYSB3b3JkIGRvZXNuJ3QgZ2V0IGN1dFxuICAgIC8vIGluIGhhbGYuXG4gICAgaWYgKGxlbmd0aCA8IHZhbHVlLmxlbmd0aCkge1xuICAgICAgZm9yIChpID0gbGVuZ3RoOyBpID4gbGVuZ3RoIC0gMTA7IGktLSkge1xuICAgICAgICBpZiAoL1xccy8udGVzdCh2YWx1ZS5jaGFyQXQoaSkpKSB7XG4gICAgICAgICAgbGVuZ3RoID0gaTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdmFsdWUuc3Vic3RyaW5nKDAsIGxlbmd0aCk7XG4gIH1cblxuICAjYW5pbWF0ZVRleHQoZXhwYW5kaW5nOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY29udGFpbmVyRWwgJiYgdGhpcy50ZXh0RWwpIHtcbiAgICAgIGNvbnN0IGFkYXB0ZXIgPSB0aGlzLiN0ZXh0RXhwYW5kQWRhcHRlcjtcbiAgICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuY29udGFpbmVyRWw7XG4gICAgICBpZiAoZXhwYW5kaW5nKSB7XG4gICAgICAgIGFkYXB0ZXIuc2V0VGV4dCh0aGlzLnRleHRFbCwgdGhpcy50ZXh0KTtcbiAgICAgICAgdGhpcy4jdGV4dFRvU2hvdyA9IHRoaXMudGV4dDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFkYXB0ZXIuc2V0VGV4dCh0aGlzLnRleHRFbCwgdGhpcy4jY29sbGFwc2VkVGV4dCk7XG4gICAgICAgIHRoaXMuI3RleHRUb1Nob3cgPSB0aGlzLiNjb2xsYXBzZWRUZXh0O1xuICAgICAgfVxuICAgICAgdGhpcy5idXR0b25UZXh0ID0gZXhwYW5kaW5nID8gdGhpcy4jc2VlTGVzc1RleHQgOiB0aGlzLiNzZWVNb3JlVGV4dDtcbiAgICAgIC8vIE1lYXN1cmUgdGhlIG5ldyBoZWlnaHQgc28gd2UgY2FuIGFuaW1hdGUgdG8gaXQuXG4gICAgICBjb25zdCBuZXdIZWlnaHQgPSBhZGFwdGVyLmdldENvbnRhaW5lckhlaWdodChjb250YWluZXIpO1xuICAgICAgdGhpcy50cmFuc2l0aW9uSGVpZ2h0ID0gbmV3SGVpZ2h0O1xuICAgICAgLy8gQWx3YXlzIHNob3cgYWxsIHRleHQgd2hpbGUgYW5pbWF0aW5nIHNvIHRoYXQgdGhlIGFuaW1hdGlvbiBpcyBzbW9vdGguIFRoZSBhbmltYXRpb24gY2FsbGJhY2sgd2lsbCBzZXQgdGhpcyBiYWNrIGlmIG5lZWRlZC5cbiAgICAgIGlmICghZXhwYW5kaW5nKSB7XG4gICAgICAgIGFkYXB0ZXIuc2V0VGV4dCh0aGlzLnRleHRFbCwgdGhpcy50ZXh0KTtcbiAgICAgIH1cbiAgICAgIHRoaXMuaXNFeHBhbmRlZCA9IGV4cGFuZGluZztcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgW0BleHBhbnNpb25BbmltYXRpb25dPVwie1xuICAgIHZhbHVlOiBpc0V4cGFuZGVkLFxuICAgIHBhcmFtczogeyB0cmFuc2l0aW9uSGVpZ2h0OiB0cmFuc2l0aW9uSGVpZ2h0IH1cbiAgfVwiXG4gIChAZXhwYW5zaW9uQW5pbWF0aW9uLmRvbmUpPVwiYW5pbWF0aW9uRW5kKClcIlxuICBjbGFzcz1cInNreS10ZXh0LWV4cGFuZC1jb250YWluZXJcIlxuICAjY29udGFpbmVyXG4+XG4gIDxzcGFuIGNsYXNzPVwic2t5LXRleHQtZXhwYW5kLXRleHRcIiBbaWRdPVwiY29udGVudFNlY3Rpb25JZFwiICN0ZXh0Pjwvc3Bhbj5cbiAgPHNwYW4gY2xhc3M9XCJza3ktdGV4dC1leHBhbmQtZWxsaXBzaXNcIiAqbmdJZj1cIiFpc0V4cGFuZGVkICYmIGV4cGFuZGFibGVcIlxuICAgID4uLi5cbiAgPC9zcGFuPlxuICA8YnV0dG9uXG4gICAgKm5nSWY9XCJleHBhbmRhYmxlXCJcbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1saW5rLWlubGluZSBza3ktdGV4dC1leHBhbmQtc2VlLW1vcmVcIlxuICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiaXNNb2RhbCA/IHVuZGVmaW5lZCA6ICEhaXNFeHBhbmRlZFwiXG4gICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJpc01vZGFsID8gdW5kZWZpbmVkIDogY29udGVudFNlY3Rpb25JZFwiXG4gICAgW2F0dHIuYXJpYS1oYXNwb3B1cF09XCJpc01vZGFsID8gJ2RpYWxvZycgOiB1bmRlZmluZWRcIlxuICAgIChjbGljayk9XCJ0ZXh0RXhwYW5kKClcIlxuICA+XG4gICAge3sgYnV0dG9uVGV4dCB9fVxuICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19
|
|
@@ -7,17 +7,17 @@ import { SkyTextExpandModalComponent } from './text-expand-modal.component';
|
|
|
7
7
|
import { SkyTextExpandComponent } from './text-expand.component';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
export class SkyTextExpandModule {
|
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyTextExpandModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
11
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: SkyTextExpandModule, declarations: [SkyTextExpandComponent, SkyTextExpandModalComponent], imports: [SkyI18nModule,
|
|
12
|
+
SkyLayoutResourcesModule,
|
|
13
|
+
SkyModalModule,
|
|
14
|
+
CommonModule], exports: [SkyTextExpandComponent] }); }
|
|
15
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyTextExpandModule, imports: [SkyI18nModule,
|
|
16
|
+
SkyLayoutResourcesModule,
|
|
17
|
+
SkyModalModule,
|
|
18
|
+
CommonModule] }); }
|
|
10
19
|
}
|
|
11
|
-
|
|
12
|
-
SkyTextExpandModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SkyTextExpandModule, declarations: [SkyTextExpandComponent, SkyTextExpandModalComponent], imports: [SkyI18nModule,
|
|
13
|
-
SkyLayoutResourcesModule,
|
|
14
|
-
SkyModalModule,
|
|
15
|
-
CommonModule], exports: [SkyTextExpandComponent] });
|
|
16
|
-
SkyTextExpandModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyTextExpandModule, imports: [SkyI18nModule,
|
|
17
|
-
SkyLayoutResourcesModule,
|
|
18
|
-
SkyModalModule,
|
|
19
|
-
CommonModule] });
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyTextExpandModule, decorators: [{
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyTextExpandModule, decorators: [{
|
|
21
21
|
type: NgModule,
|
|
22
22
|
args: [{
|
|
23
23
|
declarations: [SkyTextExpandComponent, SkyTextExpandModalComponent],
|
|
@@ -30,4 +30,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
30
30
|
exports: [SkyTextExpandComponent],
|
|
31
31
|
}]
|
|
32
32
|
}] });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1leHBhbmQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xheW91dC9zcmMvbGliL21vZHVsZXMvdGV4dC1leHBhbmQvdGV4dC1leHBhbmQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUVqRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFZakUsTUFBTSxPQUFPLG1CQUFtQjs4R0FBbkIsbUJBQW1COytHQUFuQixtQkFBbUIsaUJBVGYsc0JBQXNCLEVBQUUsMkJBQTJCLGFBRWhFLGFBQWE7WUFDYix3QkFBd0I7WUFDeEIsY0FBYztZQUNkLFlBQVksYUFFSixzQkFBc0I7K0dBRXJCLG1CQUFtQixZQVA1QixhQUFhO1lBQ2Isd0JBQXdCO1lBQ3hCLGNBQWM7WUFDZCxZQUFZOzsyRkFJSCxtQkFBbUI7a0JBVi9CLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsc0JBQXNCLEVBQUUsMkJBQTJCLENBQUM7b0JBQ25FLE9BQU8sRUFBRTt3QkFDUCxhQUFhO3dCQUNiLHdCQUF3Qjt3QkFDeEIsY0FBYzt3QkFDZCxZQUFZO3FCQUNiO29CQUNELE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO2lCQUNsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5STE4bk1vZHVsZSB9IGZyb20gJ0Bza3l1eC9pMThuJztcbmltcG9ydCB7IFNreU1vZGFsTW9kdWxlIH0gZnJvbSAnQHNreXV4L21vZGFscyc7XG5cbmltcG9ydCB7IFNreUxheW91dFJlc291cmNlc01vZHVsZSB9IGZyb20gJy4uL3NoYXJlZC9za3ktbGF5b3V0LXJlc291cmNlcy5tb2R1bGUnO1xuXG5pbXBvcnQgeyBTa3lUZXh0RXhwYW5kTW9kYWxDb21wb25lbnQgfSBmcm9tICcuL3RleHQtZXhwYW5kLW1vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lUZXh0RXhwYW5kQ29tcG9uZW50IH0gZnJvbSAnLi90ZXh0LWV4cGFuZC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtTa3lUZXh0RXhwYW5kQ29tcG9uZW50LCBTa3lUZXh0RXhwYW5kTW9kYWxDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgU2t5STE4bk1vZHVsZSxcbiAgICBTa3lMYXlvdXRSZXNvdXJjZXNNb2R1bGUsXG4gICAgU2t5TW9kYWxNb2R1bGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbU2t5VGV4dEV4cGFuZENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVRleHRFeHBhbmRNb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,32 @@
|
|
|
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: "16.1.7", ngImport: i0, type: SkyTextExpandRepeaterAdapterService, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
27
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyTextExpandRepeaterAdapterService }); }
|
|
28
|
+
}
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyTextExpandRepeaterAdapterService, decorators: [{
|
|
30
|
+
type: Injectable
|
|
31
|
+
}], ctorParameters: function () { return [{ type: i0.RendererFactory2 }]; } });
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1leHBhbmQtcmVwZWF0ZXItYWRhcHRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xheW91dC9zcmMvbGliL21vZHVsZXMvdGV4dC1leHBhbmQtcmVwZWF0ZXIvdGV4dC1leHBhbmQtcmVwZWF0ZXItYWRhcHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxVQUFVLEdBR1gsTUFBTSxlQUFlLENBQUM7O0FBRXZCOztHQUVHO0FBRUgsTUFBTSxPQUFPLG1DQUFtQztJQUM5QyxTQUFTLENBQVk7SUFFckIsWUFBWSxlQUFpQztRQUMzQyxJQUFJLENBQUMsU0FBUyxHQUFHLGVBQWUsQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFTSxRQUFRLENBQUMsS0FBaUI7UUFDL0IsT0FBUSxLQUFLLENBQUMsYUFBNkIsQ0FBQyxnQkFBZ0IsQ0FDMUQsZ0NBQWdDLENBQ04sQ0FBQztJQUMvQixDQUFDO0lBRU0sUUFBUSxDQUFDLElBQWlCO1FBQy9CLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVNLFFBQVEsQ0FBQyxJQUFpQjtRQUMvQixJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVNLGtCQUFrQixDQUFDLFdBQXVCO1FBQy9DLE9BQU8sV0FBVyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7SUFDaEQsQ0FBQztJQUVNLHdCQUF3QixDQUFDLFdBQXVCO1FBQ3JELElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDdEUsQ0FBQzs4R0EzQlUsbUNBQW1DO2tIQUFuQyxtQ0FBbUM7OzJGQUFuQyxtQ0FBbUM7a0JBRC9DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBFbGVtZW50UmVmLFxuICBJbmplY3RhYmxlLFxuICBSZW5kZXJlcjIsXG4gIFJlbmRlcmVyRmFjdG9yeTIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5VGV4dEV4cGFuZFJlcGVhdGVyQWRhcHRlclNlcnZpY2Uge1xuICAjcmVuZGVyZXI6IFJlbmRlcmVyMjtcblxuICBjb25zdHJ1Y3RvcihyZW5kZXJlckZhY3Rvcnk6IFJlbmRlcmVyRmFjdG9yeTIpIHtcbiAgICB0aGlzLiNyZW5kZXJlciA9IHJlbmRlcmVyRmFjdG9yeS5jcmVhdGVSZW5kZXJlcih1bmRlZmluZWQsIG51bGwpO1xuICB9XG5cbiAgcHVibGljIGdldEl0ZW1zKGVsUmVmOiBFbGVtZW50UmVmKTogTm9kZUxpc3RPZjxIVE1MRWxlbWVudD4ge1xuICAgIHJldHVybiAoZWxSZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICcuc2t5LXRleHQtZXhwYW5kLXJlcGVhdGVyLWl0ZW0nXG4gICAgKSBhcyBOb2RlTGlzdE9mPEhUTUxFbGVtZW50PjtcbiAgfVxuXG4gIHB1YmxpYyBoaWRlSXRlbShpdGVtOiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIHRoaXMuI3JlbmRlcmVyLnNldFN0eWxlKGl0ZW0sICdkaXNwbGF5JywgJ25vbmUnKTtcbiAgfVxuXG4gIHB1YmxpYyBzaG93SXRlbShpdGVtOiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIHRoaXMuI3JlbmRlcmVyLnJlbW92ZVN0eWxlKGl0ZW0sICdkaXNwbGF5Jyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q29udGFpbmVySGVpZ2h0KGNvbnRhaW5lckVsOiBFbGVtZW50UmVmKTogbnVtYmVyIHtcbiAgICByZXR1cm4gY29udGFpbmVyRWwubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQ7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlQ29udGFpbmVyTWF4SGVpZ2h0KGNvbnRhaW5lckVsOiBFbGVtZW50UmVmKTogdm9pZCB7XG4gICAgdGhpcy4jcmVuZGVyZXIucmVtb3ZlU3R5bGUoY29udGFpbmVyRWwubmF0aXZlRWxlbWVudCwgJ21heC1oZWlnaHQnKTtcbiAgfVxufVxuIl19
|