valtech-components 2.0.712 → 2.0.714
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/esm2022/lib/components/organisms/cards-carousel/cards-carousel.component.mjs +63 -16
- package/esm2022/lib/components/organisms/cards-carousel/types.mjs +1 -1
- package/esm2022/lib/components/templates/simple/simple.component.mjs +7 -9
- package/esm2022/lib/services/auth/auth.service.mjs +33 -17
- package/esm2022/lib/services/content/content-types/blog.mjs +275 -0
- package/esm2022/lib/services/content/content-types/documentation.mjs +303 -0
- package/esm2022/lib/services/content/content-types/news.mjs +277 -0
- package/esm2022/lib/services/content/index.mjs +51 -0
- package/esm2022/lib/services/content/transformer.mjs +265 -0
- package/esm2022/lib/services/content/types.mjs +41 -0
- package/esm2022/lib/services/firebase/firestore-collection.mjs +4 -5
- package/esm2022/lib/services/firebase/firestore.service.mjs +23 -9
- package/esm2022/lib/services/firebase/notifications.service.mjs +23 -18
- package/esm2022/lib/version.mjs +2 -2
- package/esm2022/public-api.mjs +2 -14
- package/fesm2022/valtech-components.mjs +9559 -10275
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/organisms/bottom-nav/bottom-nav.component.d.ts +1 -1
- package/lib/components/organisms/cards-carousel/cards-carousel.component.d.ts +12 -6
- package/lib/components/organisms/cards-carousel/types.d.ts +32 -3
- package/lib/services/content/content-types/blog.d.ts +148 -0
- package/lib/services/content/content-types/documentation.d.ts +183 -0
- package/lib/services/content/content-types/news.d.ts +162 -0
- package/lib/services/content/index.d.ts +49 -0
- package/lib/services/content/transformer.d.ts +96 -0
- package/lib/services/content/types.d.ts +220 -0
- package/lib/services/firebase/firestore-collection.d.ts +2 -2
- package/lib/services/firebase/firestore.service.d.ts +5 -0
- package/lib/services/firebase/notifications.service.d.ts +3 -2
- package/lib/version.d.ts +1 -1
- package/package.json +5 -5
- package/public-api.d.ts +1 -11
- package/esm2022/lib/components/molecules/participant-card/participant-card.component.mjs +0 -514
- package/esm2022/lib/components/molecules/participant-card/types.mjs +0 -21
- package/esm2022/lib/components/molecules/raffle-status-card/raffle-status-card.component.mjs +0 -476
- package/esm2022/lib/components/molecules/raffle-status-card/types.mjs +0 -23
- package/esm2022/lib/components/molecules/recap-card/recap-card.component.mjs +0 -78
- package/esm2022/lib/components/molecules/recap-card/types.mjs +0 -2
- package/esm2022/lib/components/molecules/ticket-grid/ticket-grid.component.mjs +0 -489
- package/esm2022/lib/components/molecules/ticket-grid/types.mjs +0 -11
- package/esm2022/lib/components/molecules/winner-display/types.mjs +0 -9
- package/esm2022/lib/components/molecules/winner-display/winner-display.component.mjs +0 -359
- package/esm2022/lib/components/templates/layout/layout.component.mjs +0 -19
- package/lib/components/molecules/participant-card/participant-card.component.d.ts +0 -34
- package/lib/components/molecules/participant-card/types.d.ts +0 -132
- package/lib/components/molecules/raffle-status-card/raffle-status-card.component.d.ts +0 -21
- package/lib/components/molecules/raffle-status-card/types.d.ts +0 -108
- package/lib/components/molecules/recap-card/recap-card.component.d.ts +0 -36
- package/lib/components/molecules/recap-card/types.d.ts +0 -30
- package/lib/components/molecules/ticket-grid/ticket-grid.component.d.ts +0 -40
- package/lib/components/molecules/ticket-grid/types.d.ts +0 -122
- package/lib/components/molecules/winner-display/types.d.ts +0 -103
- package/lib/components/molecules/winner-display/winner-display.component.d.ts +0 -36
- package/lib/components/templates/layout/layout.component.d.ts +0 -5
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL3JlY2FwLWNhcmQvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExpbmtNZXRhZGF0YSB9IGZyb20gJy4uL2xpbmsvdHlwZXMnO1xuaW1wb3J0IHsgVGl0bGVCbG9ja01ldGFkYSB9IGZyb20gJy4uL3RpdGxlLWJsb2NrL3R5cGVzJztcblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBhIGRlY29yYXRpdmUgc2hhcGUgd2l0aGluIHRoZSByZWNhcCBjYXJkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlY2FwQ2FyZFNoYXBlIHtcbiAgLyoqIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIHNoYXBlICovXG4gIGNvbG9yOiBzdHJpbmc7XG4gIC8qKiBBZGRpdGlvbmFsIENTUyBzdHlsZXMgKHBvc2l0aW9uLCBzaXplLCBldGMuKSAqL1xuICBzdHlsZT86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIHwgbnVtYmVyIH07XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgdGhlIHJlY2FwIGNhcmQgY29tcG9uZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlY2FwQ2FyZE1ldGFkYXRhIHtcbiAgLyoqIFRpdGxlIGJsb2NrIGNvbmZpZ3VyYXRpb24gKi9cbiAgdGl0bGU6IFRpdGxlQmxvY2tNZXRhZGE7XG4gIC8qKiBMaW5rIGNvbmZpZ3VyYXRpb24gKi9cbiAgbGluazogTGlua01ldGFkYXRhO1xuICAvKiogRGVjb3JhdGl2ZSBzaGFwZXMgdG8gZGlzcGxheSBiZWhpbmQgY29udGVudCAqL1xuICBzaGFwZXM/OiBSZWNhcENhcmRTaGFwZVtdO1xuICAvKiogQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgY2FyZCAoSW9uaWMgY29sb3IpICovXG4gIGNvbG9yPzogc3RyaW5nO1xuICAvKiogTWluaW11bSBoZWlnaHQgb2YgdGhlIGNhcmQuIERlZmF1bHQ6ICc0MDBweCcgKi9cbiAgbWluSGVpZ2h0Pzogc3RyaW5nO1xuICAvKiogV2lkdGggb2YgdGhlIGNhcmQuIERlZmF1bHQ6ICcyODBweCcgKi9cbiAgd2lkdGg/OiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -1,489 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
3
|
-
import { FormsModule } from '@angular/forms';
|
|
4
|
-
import { IonButton, IonIcon, IonSearchbar } from '@ionic/angular/standalone';
|
|
5
|
-
import { addIcons } from 'ionicons';
|
|
6
|
-
import { shuffleOutline } from 'ionicons/icons';
|
|
7
|
-
import { DEFAULT_LEGEND_LABELS, } from './types';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
addIcons({ shuffleOutline });
|
|
10
|
-
/**
|
|
11
|
-
* val-ticket-grid
|
|
12
|
-
*
|
|
13
|
-
* A grid for selecting ticket numbers, commonly used in raffles and lotteries.
|
|
14
|
-
*
|
|
15
|
-
* @example Basic usage
|
|
16
|
-
* ```html
|
|
17
|
-
* <val-ticket-grid
|
|
18
|
-
* [props]="{
|
|
19
|
-
* totalTickets: 100,
|
|
20
|
-
* soldTickets: [1, 5, 12, 23],
|
|
21
|
-
* selectionMode: 'multiple',
|
|
22
|
-
* maxSelection: 10
|
|
23
|
-
* }"
|
|
24
|
-
* (selectionChange)="onSelectionChange($event)"
|
|
25
|
-
* ></val-ticket-grid>
|
|
26
|
-
* ```
|
|
27
|
-
*
|
|
28
|
-
* @example With legend and search
|
|
29
|
-
* ```html
|
|
30
|
-
* <val-ticket-grid
|
|
31
|
-
* [props]="{
|
|
32
|
-
* totalTickets: 500,
|
|
33
|
-
* soldTickets: soldNumbers,
|
|
34
|
-
* reservedTickets: reservedNumbers,
|
|
35
|
-
* columns: 20,
|
|
36
|
-
* showLegend: true,
|
|
37
|
-
* showSearch: true,
|
|
38
|
-
* showRandomSelect: true,
|
|
39
|
-
* randomSelectCount: 5,
|
|
40
|
-
* maxSelection: 10
|
|
41
|
-
* }"
|
|
42
|
-
* ></val-ticket-grid>
|
|
43
|
-
* ```
|
|
44
|
-
*/
|
|
45
|
-
export class TicketGridComponent {
|
|
46
|
-
constructor() {
|
|
47
|
-
this.selectionChange = new EventEmitter();
|
|
48
|
-
this.ticketClick = new EventEmitter();
|
|
49
|
-
this.tickets = [];
|
|
50
|
-
this.displayedTickets = [];
|
|
51
|
-
this.selectedTickets = [];
|
|
52
|
-
this.searchTerm = '';
|
|
53
|
-
this.highlightedNumbers = [];
|
|
54
|
-
}
|
|
55
|
-
ngOnInit() {
|
|
56
|
-
this.buildTickets();
|
|
57
|
-
}
|
|
58
|
-
ngOnChanges(changes) {
|
|
59
|
-
if (changes['props']) {
|
|
60
|
-
this.buildTickets();
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
buildTickets() {
|
|
64
|
-
const start = this.props.startNumber ?? 1;
|
|
65
|
-
const total = this.props.totalTickets;
|
|
66
|
-
const soldSet = new Set(this.props.soldTickets || []);
|
|
67
|
-
const reservedSet = new Set(this.props.reservedTickets || []);
|
|
68
|
-
const disabledSet = new Set(this.props.disabledTickets || []);
|
|
69
|
-
const selectedSet = new Set(this.props.selectedTickets || []);
|
|
70
|
-
// Initialize selected tickets from props
|
|
71
|
-
this.selectedTickets = [...(this.props.selectedTickets || [])];
|
|
72
|
-
// Build ticket array
|
|
73
|
-
if (this.props.ticketData?.length) {
|
|
74
|
-
// Use custom ticket data
|
|
75
|
-
this.tickets = [...this.props.ticketData];
|
|
76
|
-
}
|
|
77
|
-
else {
|
|
78
|
-
// Generate from numbers
|
|
79
|
-
this.tickets = [];
|
|
80
|
-
for (let i = start; i < start + total; i++) {
|
|
81
|
-
let status = 'available';
|
|
82
|
-
if (disabledSet.has(i)) {
|
|
83
|
-
status = 'disabled';
|
|
84
|
-
}
|
|
85
|
-
else if (soldSet.has(i)) {
|
|
86
|
-
status = 'sold';
|
|
87
|
-
}
|
|
88
|
-
else if (reservedSet.has(i)) {
|
|
89
|
-
status = 'reserved';
|
|
90
|
-
}
|
|
91
|
-
else if (selectedSet.has(i)) {
|
|
92
|
-
status = 'selected';
|
|
93
|
-
}
|
|
94
|
-
this.tickets.push({ number: i, status });
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
this.applySearch();
|
|
98
|
-
}
|
|
99
|
-
applySearch() {
|
|
100
|
-
if (!this.searchTerm) {
|
|
101
|
-
this.displayedTickets = [...this.tickets];
|
|
102
|
-
this.highlightedNumbers = [];
|
|
103
|
-
}
|
|
104
|
-
else {
|
|
105
|
-
// Filter/highlight tickets matching search
|
|
106
|
-
const term = this.searchTerm.trim();
|
|
107
|
-
this.highlightedNumbers = this.tickets
|
|
108
|
-
.filter(t => this.formatNumber(t.number).includes(term))
|
|
109
|
-
.map(t => t.number);
|
|
110
|
-
this.displayedTickets = [...this.tickets];
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
onSearch(event) {
|
|
114
|
-
this.searchTerm = event.detail.value || '';
|
|
115
|
-
this.applySearch();
|
|
116
|
-
}
|
|
117
|
-
isHighlighted(number) {
|
|
118
|
-
return this.highlightedNumbers.includes(number);
|
|
119
|
-
}
|
|
120
|
-
isSelectable(ticket) {
|
|
121
|
-
if (this.props.selectionMode === 'none')
|
|
122
|
-
return false;
|
|
123
|
-
// Check if sold/reserved and admin override
|
|
124
|
-
if (ticket.status === 'sold' || ticket.status === 'reserved') {
|
|
125
|
-
return this.props.allowSelectSold === true;
|
|
126
|
-
}
|
|
127
|
-
if (ticket.status === 'disabled')
|
|
128
|
-
return false;
|
|
129
|
-
// Check max selection
|
|
130
|
-
if (ticket.status !== 'selected' &&
|
|
131
|
-
this.props.maxSelection &&
|
|
132
|
-
this.selectedTickets.length >= this.props.maxSelection) {
|
|
133
|
-
return false;
|
|
134
|
-
}
|
|
135
|
-
return true;
|
|
136
|
-
}
|
|
137
|
-
onTicketClick(ticket) {
|
|
138
|
-
const isSelected = this.selectedTickets.includes(ticket.number);
|
|
139
|
-
// Emit click event regardless
|
|
140
|
-
this.ticketClick.emit({
|
|
141
|
-
number: ticket.number,
|
|
142
|
-
status: ticket.status,
|
|
143
|
-
selected: this.isSelectable(ticket) ? !isSelected : null,
|
|
144
|
-
});
|
|
145
|
-
if (!this.isSelectable(ticket) && ticket.status !== 'selected') {
|
|
146
|
-
return;
|
|
147
|
-
}
|
|
148
|
-
// Handle selection
|
|
149
|
-
if (isSelected) {
|
|
150
|
-
// Deselect
|
|
151
|
-
this.selectedTickets = this.selectedTickets.filter(n => n !== ticket.number);
|
|
152
|
-
ticket.status = 'available';
|
|
153
|
-
this.selectionChange.emit({
|
|
154
|
-
selectedTickets: [...this.selectedTickets],
|
|
155
|
-
changedTicket: ticket.number,
|
|
156
|
-
action: 'deselect',
|
|
157
|
-
count: this.selectedTickets.length,
|
|
158
|
-
maxReached: false,
|
|
159
|
-
});
|
|
160
|
-
}
|
|
161
|
-
else {
|
|
162
|
-
// Select
|
|
163
|
-
if (this.props.selectionMode === 'single') {
|
|
164
|
-
// Deselect previous
|
|
165
|
-
this.selectedTickets.forEach(num => {
|
|
166
|
-
const t = this.tickets.find(x => x.number === num);
|
|
167
|
-
if (t)
|
|
168
|
-
t.status = 'available';
|
|
169
|
-
});
|
|
170
|
-
this.selectedTickets = [ticket.number];
|
|
171
|
-
}
|
|
172
|
-
else {
|
|
173
|
-
this.selectedTickets.push(ticket.number);
|
|
174
|
-
}
|
|
175
|
-
ticket.status = 'selected';
|
|
176
|
-
this.selectionChange.emit({
|
|
177
|
-
selectedTickets: [...this.selectedTickets],
|
|
178
|
-
changedTicket: ticket.number,
|
|
179
|
-
action: 'select',
|
|
180
|
-
count: this.selectedTickets.length,
|
|
181
|
-
maxReached: this.props.maxSelection
|
|
182
|
-
? this.selectedTickets.length >= this.props.maxSelection
|
|
183
|
-
: false,
|
|
184
|
-
});
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
selectRandom() {
|
|
188
|
-
const count = this.props.randomSelectCount || 1;
|
|
189
|
-
const available = this.tickets.filter(t => t.status === 'available' && !this.selectedTickets.includes(t.number));
|
|
190
|
-
// Determine how many we can select
|
|
191
|
-
const maxCanSelect = this.props.maxSelection
|
|
192
|
-
? Math.min(count, this.props.maxSelection - this.selectedTickets.length)
|
|
193
|
-
: count;
|
|
194
|
-
if (available.length === 0 || maxCanSelect <= 0)
|
|
195
|
-
return;
|
|
196
|
-
// Random shuffle and pick
|
|
197
|
-
const shuffled = [...available].sort(() => Math.random() - 0.5);
|
|
198
|
-
const toSelect = shuffled.slice(0, Math.min(maxCanSelect, available.length));
|
|
199
|
-
toSelect.forEach(ticket => {
|
|
200
|
-
ticket.status = 'selected';
|
|
201
|
-
this.selectedTickets.push(ticket.number);
|
|
202
|
-
});
|
|
203
|
-
this.selectionChange.emit({
|
|
204
|
-
selectedTickets: [...this.selectedTickets],
|
|
205
|
-
changedTicket: toSelect[toSelect.length - 1].number,
|
|
206
|
-
action: 'select',
|
|
207
|
-
count: this.selectedTickets.length,
|
|
208
|
-
maxReached: this.props.maxSelection
|
|
209
|
-
? this.selectedTickets.length >= this.props.maxSelection
|
|
210
|
-
: false,
|
|
211
|
-
});
|
|
212
|
-
}
|
|
213
|
-
/**
|
|
214
|
-
* Clear all selections.
|
|
215
|
-
*/
|
|
216
|
-
clearSelection() {
|
|
217
|
-
this.selectedTickets.forEach(num => {
|
|
218
|
-
const ticket = this.tickets.find(t => t.number === num);
|
|
219
|
-
if (ticket)
|
|
220
|
-
ticket.status = 'available';
|
|
221
|
-
});
|
|
222
|
-
this.selectedTickets = [];
|
|
223
|
-
}
|
|
224
|
-
/**
|
|
225
|
-
* Get selected ticket numbers.
|
|
226
|
-
*/
|
|
227
|
-
getSelectedTickets() {
|
|
228
|
-
return [...this.selectedTickets];
|
|
229
|
-
}
|
|
230
|
-
get availableCount() {
|
|
231
|
-
return this.tickets.filter(t => t.status === 'available').length;
|
|
232
|
-
}
|
|
233
|
-
get soldCount() {
|
|
234
|
-
return this.tickets.filter(t => t.status === 'sold').length;
|
|
235
|
-
}
|
|
236
|
-
getLegendItems() {
|
|
237
|
-
if (this.props.legendItems) {
|
|
238
|
-
return this.props.legendItems;
|
|
239
|
-
}
|
|
240
|
-
const items = [
|
|
241
|
-
{ status: 'available', label: DEFAULT_LEGEND_LABELS.available, count: this.availableCount },
|
|
242
|
-
{ status: 'selected', label: DEFAULT_LEGEND_LABELS.selected, count: this.selectedTickets.length },
|
|
243
|
-
];
|
|
244
|
-
if (this.props.soldTickets?.length) {
|
|
245
|
-
items.push({ status: 'sold', label: DEFAULT_LEGEND_LABELS.sold, count: this.soldCount });
|
|
246
|
-
}
|
|
247
|
-
if (this.props.reservedTickets?.length) {
|
|
248
|
-
items.push({
|
|
249
|
-
status: 'reserved',
|
|
250
|
-
label: DEFAULT_LEGEND_LABELS.reserved,
|
|
251
|
-
count: this.props.reservedTickets.length,
|
|
252
|
-
});
|
|
253
|
-
}
|
|
254
|
-
return items;
|
|
255
|
-
}
|
|
256
|
-
formatNumber(num) {
|
|
257
|
-
if (this.props.numberPadding) {
|
|
258
|
-
return String(num).padStart(this.props.numberPadding, '0');
|
|
259
|
-
}
|
|
260
|
-
return String(num);
|
|
261
|
-
}
|
|
262
|
-
getTicketAriaLabel(ticket) {
|
|
263
|
-
const statusLabel = DEFAULT_LEGEND_LABELS[ticket.status];
|
|
264
|
-
return `Boleto ${this.formatNumber(ticket.number)}, ${statusLabel}`;
|
|
265
|
-
}
|
|
266
|
-
getSearchPlaceholder() {
|
|
267
|
-
return this.props.searchPlaceholder || 'Buscar número...';
|
|
268
|
-
}
|
|
269
|
-
getRandomSelectLabel() {
|
|
270
|
-
return this.props.randomSelectLabel || 'Aleatorio';
|
|
271
|
-
}
|
|
272
|
-
getColor() {
|
|
273
|
-
if (this.props.color) {
|
|
274
|
-
return `var(--ion-color-${this.props.color})`;
|
|
275
|
-
}
|
|
276
|
-
return 'var(--ion-color-primary)';
|
|
277
|
-
}
|
|
278
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TicketGridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
279
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TicketGridComponent, isStandalone: true, selector: "val-ticket-grid", inputs: { props: "props" }, outputs: { selectionChange: "selectionChange", ticketClick: "ticketClick" }, usesOnChanges: true, ngImport: i0, template: `
|
|
280
|
-
<div
|
|
281
|
-
class="ticket-grid-container"
|
|
282
|
-
[class]="props.cssClass"
|
|
283
|
-
[class.size-small]="props.ticketSize === 'small'"
|
|
284
|
-
[class.size-medium]="props.ticketSize === 'medium' || !props.ticketSize"
|
|
285
|
-
[class.size-large]="props.ticketSize === 'large'"
|
|
286
|
-
[style.--grid-columns]="props.columns || 10"
|
|
287
|
-
[style.--grid-gap]="(props.gap || 4) + 'px'"
|
|
288
|
-
[style.--selected-color]="getColor()"
|
|
289
|
-
>
|
|
290
|
-
<!-- Search and controls -->
|
|
291
|
-
@if (props.showSearch || props.showRandomSelect) {
|
|
292
|
-
<div class="grid-controls">
|
|
293
|
-
@if (props.showSearch) {
|
|
294
|
-
<ion-searchbar
|
|
295
|
-
[placeholder]="getSearchPlaceholder()"
|
|
296
|
-
[debounce]="300"
|
|
297
|
-
(ionInput)="onSearch($event)"
|
|
298
|
-
class="ticket-search"
|
|
299
|
-
></ion-searchbar>
|
|
300
|
-
}
|
|
301
|
-
|
|
302
|
-
@if (props.showRandomSelect && props.selectionMode !== 'none') {
|
|
303
|
-
<ion-button
|
|
304
|
-
fill="outline"
|
|
305
|
-
[color]="props.color || 'primary'"
|
|
306
|
-
(click)="selectRandom()"
|
|
307
|
-
[disabled]="availableCount < (props.randomSelectCount || 1)"
|
|
308
|
-
>
|
|
309
|
-
<ion-icon slot="start" name="shuffle-outline"></ion-icon>
|
|
310
|
-
{{ getRandomSelectLabel() }}
|
|
311
|
-
</ion-button>
|
|
312
|
-
}
|
|
313
|
-
</div>
|
|
314
|
-
}
|
|
315
|
-
|
|
316
|
-
<!-- Legend (top) -->
|
|
317
|
-
@if (props.showLegend && props.legendPosition !== 'bottom') {
|
|
318
|
-
<div class="ticket-legend">
|
|
319
|
-
@for (item of getLegendItems(); track item.status) {
|
|
320
|
-
<div class="legend-item">
|
|
321
|
-
<span class="legend-color" [class]="'status-' + item.status"></span>
|
|
322
|
-
<span class="legend-label">{{ item.label }}</span>
|
|
323
|
-
@if (item.count !== undefined) {
|
|
324
|
-
<span class="legend-count">({{ item.count }})</span>
|
|
325
|
-
}
|
|
326
|
-
</div>
|
|
327
|
-
}
|
|
328
|
-
</div>
|
|
329
|
-
}
|
|
330
|
-
|
|
331
|
-
<!-- Summary -->
|
|
332
|
-
@if (props.showSummary) {
|
|
333
|
-
<div class="ticket-summary">
|
|
334
|
-
<span class="summary-item">
|
|
335
|
-
<strong>{{ selectedTickets.length }}</strong> seleccionado{{ selectedTickets.length !== 1 ? 's' : '' }}
|
|
336
|
-
</span>
|
|
337
|
-
@if (props.maxSelection) {
|
|
338
|
-
<span class="summary-item">
|
|
339
|
-
(máx: {{ props.maxSelection }})
|
|
340
|
-
</span>
|
|
341
|
-
}
|
|
342
|
-
</div>
|
|
343
|
-
}
|
|
344
|
-
|
|
345
|
-
<!-- Grid -->
|
|
346
|
-
<div class="ticket-grid" role="grid">
|
|
347
|
-
@for (ticket of displayedTickets; track ticket.number) {
|
|
348
|
-
<button
|
|
349
|
-
type="button"
|
|
350
|
-
class="ticket-cell"
|
|
351
|
-
[class]="'status-' + ticket.status"
|
|
352
|
-
[class.highlighted]="isHighlighted(ticket.number)"
|
|
353
|
-
[disabled]="!isSelectable(ticket)"
|
|
354
|
-
[attr.aria-label]="getTicketAriaLabel(ticket)"
|
|
355
|
-
[attr.aria-pressed]="ticket.status === 'selected'"
|
|
356
|
-
(click)="onTicketClick(ticket)"
|
|
357
|
-
>
|
|
358
|
-
{{ formatNumber(ticket.number) }}
|
|
359
|
-
</button>
|
|
360
|
-
}
|
|
361
|
-
</div>
|
|
362
|
-
|
|
363
|
-
<!-- Legend (bottom) -->
|
|
364
|
-
@if (props.showLegend && props.legendPosition === 'bottom') {
|
|
365
|
-
<div class="ticket-legend bottom">
|
|
366
|
-
@for (item of getLegendItems(); track item.status) {
|
|
367
|
-
<div class="legend-item">
|
|
368
|
-
<span class="legend-color" [class]="'status-' + item.status"></span>
|
|
369
|
-
<span class="legend-label">{{ item.label }}</span>
|
|
370
|
-
@if (item.count !== undefined) {
|
|
371
|
-
<span class="legend-count">({{ item.count }})</span>
|
|
372
|
-
}
|
|
373
|
-
</div>
|
|
374
|
-
}
|
|
375
|
-
</div>
|
|
376
|
-
}
|
|
377
|
-
</div>
|
|
378
|
-
`, isInline: true, styles: ["@charset \"UTF-8\";:host{display:block}.ticket-grid-container{--grid-columns: 10;--grid-gap: 4px;--selected-color: var(--ion-color-primary);display:flex;flex-direction:column;gap:16px}.grid-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.ticket-search{flex:1;min-width:200px;max-width:300px;--border-radius: 8px}.ticket-legend{display:flex;flex-wrap:wrap;gap:16px;padding:8px 0}.ticket-legend.bottom{border-top:1px solid var(--ion-color-light-shade);padding-top:12px;margin-top:8px}.legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ion-color-medium-shade)}.legend-color{width:16px;height:16px;border-radius:4px;border:1px solid var(--ion-color-medium)}.legend-color.status-available{background:var(--ion-color-light);border-color:var(--ion-color-medium)}.legend-color.status-selected{background:var(--selected-color);border-color:var(--selected-color)}.legend-color.status-sold{background:var(--ion-color-medium);border-color:var(--ion-color-medium-shade)}.legend-color.status-reserved{background:var(--ion-color-warning-tint);border-color:var(--ion-color-warning)}.legend-color.status-disabled{background:var(--ion-color-light-shade);border-color:var(--ion-color-medium);opacity:.5}.legend-count{color:var(--ion-color-medium);font-size:11px}.ticket-summary{display:flex;gap:8px;align-items:center;font-size:14px;color:var(--ion-color-dark);padding:8px 12px;background:var(--ion-color-light);border-radius:8px}.summary-item:not(:last-child):after{content:\"\\2022\";margin-left:8px;color:var(--ion-color-medium)}.ticket-grid{display:grid;grid-template-columns:repeat(var(--grid-columns),1fr);gap:var(--grid-gap)}.ticket-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:1px solid var(--ion-color-medium);border-radius:4px;background:var(--ion-color-light);font-size:12px;font-weight:500;color:var(--ion-color-dark);cursor:pointer;transition:all .15s ease;padding:0;font-family:inherit}.ticket-cell:hover:not(:disabled){border-color:var(--selected-color);transform:scale(1.05);z-index:1}.ticket-cell:focus{outline:2px solid var(--selected-color);outline-offset:1px}.ticket-cell.status-available{background:var(--ion-color-light);border-color:var(--ion-color-medium)}.ticket-cell.status-available:hover:not(:disabled){background:var(--ion-color-light-shade)}.ticket-cell.status-selected{background:var(--selected-color);border-color:var(--selected-color);color:#fff;font-weight:600}.ticket-cell.status-sold{background:var(--ion-color-medium);border-color:var(--ion-color-medium-shade);color:var(--ion-color-medium-contrast);cursor:not-allowed;opacity:.7}.ticket-cell.status-reserved{background:var(--ion-color-warning-tint);border-color:var(--ion-color-warning);color:var(--ion-color-warning-shade);cursor:not-allowed}.ticket-cell.status-disabled{background:var(--ion-color-light-shade);border-color:var(--ion-color-medium);color:var(--ion-color-medium);cursor:not-allowed;opacity:.5}.ticket-cell.highlighted{box-shadow:0 0 0 2px var(--ion-color-tertiary);z-index:2}.ticket-cell:disabled{cursor:not-allowed}.size-small .ticket-grid{--grid-gap: 2px}.size-small .ticket-cell{font-size:10px;border-radius:2px}.size-small .ticket-legend{gap:12px}.size-small .legend-color{width:12px;height:12px}.size-small .legend-item{font-size:11px}.size-large .ticket-grid{--grid-gap: 6px}.size-large .ticket-cell{font-size:14px;border-radius:6px;font-weight:600}.size-large .ticket-legend{gap:20px}.size-large .legend-color{width:20px;height:20px}.size-large .legend-item{font-size:14px}@media (max-width: 576px){.grid-controls{flex-direction:column;align-items:stretch}.ticket-search{max-width:100%}.ticket-legend{justify-content:center}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonSearchbar, selector: "ion-searchbar", inputs: ["animated", "autocomplete", "autocorrect", "cancelButtonIcon", "cancelButtonText", "clearIcon", "color", "debounce", "disabled", "enterkeyhint", "inputmode", "mode", "name", "placeholder", "searchIcon", "showCancelButton", "showClearButton", "spellcheck", "type", "value"] }] }); }
|
|
379
|
-
}
|
|
380
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TicketGridComponent, decorators: [{
|
|
381
|
-
type: Component,
|
|
382
|
-
args: [{ selector: 'val-ticket-grid', standalone: true, imports: [CommonModule, FormsModule, IonButton, IonIcon, IonSearchbar], template: `
|
|
383
|
-
<div
|
|
384
|
-
class="ticket-grid-container"
|
|
385
|
-
[class]="props.cssClass"
|
|
386
|
-
[class.size-small]="props.ticketSize === 'small'"
|
|
387
|
-
[class.size-medium]="props.ticketSize === 'medium' || !props.ticketSize"
|
|
388
|
-
[class.size-large]="props.ticketSize === 'large'"
|
|
389
|
-
[style.--grid-columns]="props.columns || 10"
|
|
390
|
-
[style.--grid-gap]="(props.gap || 4) + 'px'"
|
|
391
|
-
[style.--selected-color]="getColor()"
|
|
392
|
-
>
|
|
393
|
-
<!-- Search and controls -->
|
|
394
|
-
@if (props.showSearch || props.showRandomSelect) {
|
|
395
|
-
<div class="grid-controls">
|
|
396
|
-
@if (props.showSearch) {
|
|
397
|
-
<ion-searchbar
|
|
398
|
-
[placeholder]="getSearchPlaceholder()"
|
|
399
|
-
[debounce]="300"
|
|
400
|
-
(ionInput)="onSearch($event)"
|
|
401
|
-
class="ticket-search"
|
|
402
|
-
></ion-searchbar>
|
|
403
|
-
}
|
|
404
|
-
|
|
405
|
-
@if (props.showRandomSelect && props.selectionMode !== 'none') {
|
|
406
|
-
<ion-button
|
|
407
|
-
fill="outline"
|
|
408
|
-
[color]="props.color || 'primary'"
|
|
409
|
-
(click)="selectRandom()"
|
|
410
|
-
[disabled]="availableCount < (props.randomSelectCount || 1)"
|
|
411
|
-
>
|
|
412
|
-
<ion-icon slot="start" name="shuffle-outline"></ion-icon>
|
|
413
|
-
{{ getRandomSelectLabel() }}
|
|
414
|
-
</ion-button>
|
|
415
|
-
}
|
|
416
|
-
</div>
|
|
417
|
-
}
|
|
418
|
-
|
|
419
|
-
<!-- Legend (top) -->
|
|
420
|
-
@if (props.showLegend && props.legendPosition !== 'bottom') {
|
|
421
|
-
<div class="ticket-legend">
|
|
422
|
-
@for (item of getLegendItems(); track item.status) {
|
|
423
|
-
<div class="legend-item">
|
|
424
|
-
<span class="legend-color" [class]="'status-' + item.status"></span>
|
|
425
|
-
<span class="legend-label">{{ item.label }}</span>
|
|
426
|
-
@if (item.count !== undefined) {
|
|
427
|
-
<span class="legend-count">({{ item.count }})</span>
|
|
428
|
-
}
|
|
429
|
-
</div>
|
|
430
|
-
}
|
|
431
|
-
</div>
|
|
432
|
-
}
|
|
433
|
-
|
|
434
|
-
<!-- Summary -->
|
|
435
|
-
@if (props.showSummary) {
|
|
436
|
-
<div class="ticket-summary">
|
|
437
|
-
<span class="summary-item">
|
|
438
|
-
<strong>{{ selectedTickets.length }}</strong> seleccionado{{ selectedTickets.length !== 1 ? 's' : '' }}
|
|
439
|
-
</span>
|
|
440
|
-
@if (props.maxSelection) {
|
|
441
|
-
<span class="summary-item">
|
|
442
|
-
(máx: {{ props.maxSelection }})
|
|
443
|
-
</span>
|
|
444
|
-
}
|
|
445
|
-
</div>
|
|
446
|
-
}
|
|
447
|
-
|
|
448
|
-
<!-- Grid -->
|
|
449
|
-
<div class="ticket-grid" role="grid">
|
|
450
|
-
@for (ticket of displayedTickets; track ticket.number) {
|
|
451
|
-
<button
|
|
452
|
-
type="button"
|
|
453
|
-
class="ticket-cell"
|
|
454
|
-
[class]="'status-' + ticket.status"
|
|
455
|
-
[class.highlighted]="isHighlighted(ticket.number)"
|
|
456
|
-
[disabled]="!isSelectable(ticket)"
|
|
457
|
-
[attr.aria-label]="getTicketAriaLabel(ticket)"
|
|
458
|
-
[attr.aria-pressed]="ticket.status === 'selected'"
|
|
459
|
-
(click)="onTicketClick(ticket)"
|
|
460
|
-
>
|
|
461
|
-
{{ formatNumber(ticket.number) }}
|
|
462
|
-
</button>
|
|
463
|
-
}
|
|
464
|
-
</div>
|
|
465
|
-
|
|
466
|
-
<!-- Legend (bottom) -->
|
|
467
|
-
@if (props.showLegend && props.legendPosition === 'bottom') {
|
|
468
|
-
<div class="ticket-legend bottom">
|
|
469
|
-
@for (item of getLegendItems(); track item.status) {
|
|
470
|
-
<div class="legend-item">
|
|
471
|
-
<span class="legend-color" [class]="'status-' + item.status"></span>
|
|
472
|
-
<span class="legend-label">{{ item.label }}</span>
|
|
473
|
-
@if (item.count !== undefined) {
|
|
474
|
-
<span class="legend-count">({{ item.count }})</span>
|
|
475
|
-
}
|
|
476
|
-
</div>
|
|
477
|
-
}
|
|
478
|
-
</div>
|
|
479
|
-
}
|
|
480
|
-
</div>
|
|
481
|
-
`, styles: ["@charset \"UTF-8\";:host{display:block}.ticket-grid-container{--grid-columns: 10;--grid-gap: 4px;--selected-color: var(--ion-color-primary);display:flex;flex-direction:column;gap:16px}.grid-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.ticket-search{flex:1;min-width:200px;max-width:300px;--border-radius: 8px}.ticket-legend{display:flex;flex-wrap:wrap;gap:16px;padding:8px 0}.ticket-legend.bottom{border-top:1px solid var(--ion-color-light-shade);padding-top:12px;margin-top:8px}.legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ion-color-medium-shade)}.legend-color{width:16px;height:16px;border-radius:4px;border:1px solid var(--ion-color-medium)}.legend-color.status-available{background:var(--ion-color-light);border-color:var(--ion-color-medium)}.legend-color.status-selected{background:var(--selected-color);border-color:var(--selected-color)}.legend-color.status-sold{background:var(--ion-color-medium);border-color:var(--ion-color-medium-shade)}.legend-color.status-reserved{background:var(--ion-color-warning-tint);border-color:var(--ion-color-warning)}.legend-color.status-disabled{background:var(--ion-color-light-shade);border-color:var(--ion-color-medium);opacity:.5}.legend-count{color:var(--ion-color-medium);font-size:11px}.ticket-summary{display:flex;gap:8px;align-items:center;font-size:14px;color:var(--ion-color-dark);padding:8px 12px;background:var(--ion-color-light);border-radius:8px}.summary-item:not(:last-child):after{content:\"\\2022\";margin-left:8px;color:var(--ion-color-medium)}.ticket-grid{display:grid;grid-template-columns:repeat(var(--grid-columns),1fr);gap:var(--grid-gap)}.ticket-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:1px solid var(--ion-color-medium);border-radius:4px;background:var(--ion-color-light);font-size:12px;font-weight:500;color:var(--ion-color-dark);cursor:pointer;transition:all .15s ease;padding:0;font-family:inherit}.ticket-cell:hover:not(:disabled){border-color:var(--selected-color);transform:scale(1.05);z-index:1}.ticket-cell:focus{outline:2px solid var(--selected-color);outline-offset:1px}.ticket-cell.status-available{background:var(--ion-color-light);border-color:var(--ion-color-medium)}.ticket-cell.status-available:hover:not(:disabled){background:var(--ion-color-light-shade)}.ticket-cell.status-selected{background:var(--selected-color);border-color:var(--selected-color);color:#fff;font-weight:600}.ticket-cell.status-sold{background:var(--ion-color-medium);border-color:var(--ion-color-medium-shade);color:var(--ion-color-medium-contrast);cursor:not-allowed;opacity:.7}.ticket-cell.status-reserved{background:var(--ion-color-warning-tint);border-color:var(--ion-color-warning);color:var(--ion-color-warning-shade);cursor:not-allowed}.ticket-cell.status-disabled{background:var(--ion-color-light-shade);border-color:var(--ion-color-medium);color:var(--ion-color-medium);cursor:not-allowed;opacity:.5}.ticket-cell.highlighted{box-shadow:0 0 0 2px var(--ion-color-tertiary);z-index:2}.ticket-cell:disabled{cursor:not-allowed}.size-small .ticket-grid{--grid-gap: 2px}.size-small .ticket-cell{font-size:10px;border-radius:2px}.size-small .ticket-legend{gap:12px}.size-small .legend-color{width:12px;height:12px}.size-small .legend-item{font-size:11px}.size-large .ticket-grid{--grid-gap: 6px}.size-large .ticket-cell{font-size:14px;border-radius:6px;font-weight:600}.size-large .ticket-legend{gap:20px}.size-large .legend-color{width:20px;height:20px}.size-large .legend-item{font-size:14px}@media (max-width: 576px){.grid-controls{flex-direction:column;align-items:stretch}.ticket-search{max-width:100%}.ticket-legend{justify-content:center}}\n"] }]
|
|
482
|
-
}], propDecorators: { props: [{
|
|
483
|
-
type: Input
|
|
484
|
-
}], selectionChange: [{
|
|
485
|
-
type: Output
|
|
486
|
-
}], ticketClick: [{
|
|
487
|
-
type: Output
|
|
488
|
-
}] } });
|
|
489
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlja2V0LWdyaWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy90aWNrZXQtZ3JpZC90aWNrZXQtZ3JpZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQW9DLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBT0wscUJBQXFCLEdBQ3RCLE1BQU0sU0FBUyxDQUFDOztBQUVqQixRQUFRLENBQUMsRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDO0FBNEc3Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtDRztBQUNILE1BQU0sT0FBTyxtQkFBbUI7SUE3SWhDO1FBZ0pZLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQTRCLENBQUM7UUFDL0QsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBd0IsQ0FBQztRQUVqRSxZQUFPLEdBQWlCLEVBQUUsQ0FBQztRQUMzQixxQkFBZ0IsR0FBaUIsRUFBRSxDQUFDO1FBQ3BDLG9CQUFlLEdBQWEsRUFBRSxDQUFDO1FBQy9CLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsdUJBQWtCLEdBQWEsRUFBRSxDQUFDO0tBbVFuQztJQWpRQyxRQUFRO1FBQ04sSUFBSSxDQUFDLFlB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Q0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsWUFBWSxDQUFDLFlBQzVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtR1Q7OEJBdUNRLEtBQUs7c0JBQWIsS0FBSztnQkFFSSxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElvbkJ1dHRvbiwgSW9uSWNvbiwgSW9uU2VhcmNoYmFyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBhZGRJY29ucyB9IGZyb20gJ2lvbmljb25zJztcbmltcG9ydCB7IHNodWZmbGVPdXRsaW5lIH0gZnJvbSAnaW9uaWNvbnMvaWNvbnMnO1xuaW1wb3J0IHtcbiAgVGlja2V0R3JpZE1ldGFkYXRhLFxuICBUaWNrZXRHcmlkU2VsZWN0aW9uRXZlbnQsXG4gIFRpY2tldEdyaWRDbGlja0V2ZW50LFxuICBUaWNrZXRTdGF0dXMsXG4gIFRpY2tldERhdGEsXG4gIFRpY2tldEdyaWRMZWdlbmRJdGVtLFxuICBERUZBVUxUX0xFR0VORF9MQUJFTFMsXG59IGZyb20gJy4vdHlwZXMnO1xuXG5hZGRJY29ucyh7IHNodWZmbGVPdXRsaW5lIH0pO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtdGlja2V0LWdyaWQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgSW9uQnV0dG9uLCBJb25JY29uLCBJb25TZWFyY2hiYXJdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwidGlja2V0LWdyaWQtY29udGFpbmVyXCJcbiAgICAgIFtjbGFzc109XCJwcm9wcy5jc3NDbGFzc1wiXG4gICAgICBbY2xhc3Muc2l6ZS1zbWFsbF09XCJwcm9wcy50aWNrZXRTaXplID09PSAnc21hbGwnXCJcbiAgICAgIFtjbGFzcy5zaXplLW1lZGl1bV09XCJwcm9wcy50aWNrZXRTaXplID09PSAnbWVkaXVtJyB8fCAhcHJvcHMudGlja2V0U2l6ZVwiXG4gICAgICBbY2xhc3Muc2l6ZS1sYXJnZV09XCJwcm9wcy50aWNrZXRTaXplID09PSAnbGFyZ2UnXCJcbiAgICAgIFtzdHlsZS4tLWdyaWQtY29sdW1uc109XCJwcm9wcy5jb2x1bW5zIHx8IDEwXCJcbiAgICAgIFtzdHlsZS4tLWdyaWQtZ2FwXT1cIihwcm9wcy5nYXAgfHwgNCkgKyAncHgnXCJcbiAgICAgIFtzdHlsZS4tLXNlbGVjdGVkLWNvbG9yXT1cImdldENvbG9yKClcIlxuICAgID5cbiAgICAgIDwhLS0gU2VhcmNoIGFuZCBjb250cm9scyAtLT5cbiAgICAgIEBpZiAocHJvcHMuc2hvd1NlYXJjaCB8fCBwcm9wcy5zaG93UmFuZG9tU2VsZWN0KSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJncmlkLWNvbnRyb2xzXCI+XG4gICAgICAgICAgQGlmIChwcm9wcy5zaG93U2VhcmNoKSB7XG4gICAgICAgICAgICA8aW9uLXNlYXJjaGJhclxuICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZ2V0U2VhcmNoUGxhY2Vob2xkZXIoKVwiXG4gICAgICAgICAgICAgIFtkZWJvdW5jZV09XCIzMDBcIlxuICAgICAgICAgICAgICAoaW9uSW5wdXQpPVwib25TZWFyY2goJGV2ZW50KVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwidGlja2V0LXNlYXJjaFwiXG4gICAgICAgICAgICA+PC9pb24tc2VhcmNoYmFyPlxuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiAocHJvcHMuc2hvd1JhbmRvbVNlbGVjdCAmJiBwcm9wcy5zZWxlY3Rpb25Nb2RlICE9PSAnbm9uZScpIHtcbiAgICAgICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgICAgIGZpbGw9XCJvdXRsaW5lXCJcbiAgICAgICAgICAgICAgW2NvbG9yXT1cInByb3BzLmNvbG9yIHx8ICdwcmltYXJ5J1wiXG4gICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RSYW5kb20oKVwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJhdmFpbGFibGVDb3VudCA8IChwcm9wcy5yYW5kb21TZWxlY3RDb3VudCB8fCAxKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxpb24taWNvbiBzbG90PVwic3RhcnRcIiBuYW1lPVwic2h1ZmZsZS1vdXRsaW5lXCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgICAge3sgZ2V0UmFuZG9tU2VsZWN0TGFiZWwoKSB9fVxuICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG5cbiAgICAgIDwhLS0gTGVnZW5kICh0b3ApIC0tPlxuICAgICAgQGlmIChwcm9wcy5zaG93TGVnZW5kICYmIHByb3BzLmxlZ2VuZFBvc2l0aW9uICE9PSAnYm90dG9tJykge1xuICAgICAgICA8ZGl2IGNsYXNzPVwidGlja2V0LWxlZ2VuZFwiPlxuICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgZ2V0TGVnZW5kSXRlbXMoKTsgdHJhY2sgaXRlbS5zdGF0dXMpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWdlbmQtaXRlbVwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxlZ2VuZC1jb2xvclwiIFtjbGFzc109XCInc3RhdHVzLScgKyBpdGVtLnN0YXR1c1wiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsZWdlbmQtbGFiZWxcIj57eyBpdGVtLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICBAaWYgKGl0ZW0uY291bnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGVnZW5kLWNvdW50XCI+KHt7IGl0ZW0uY291bnQgfX0pPC9zcGFuPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuXG4gICAgICA8IS0tIFN1bW1hcnkgLS0+XG4gICAgICBAaWYgKHByb3BzLnNob3dTdW1tYXJ5KSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aWNrZXQtc3VtbWFyeVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3VtbWFyeS1pdGVtXCI+XG4gICAgICAgICAgICA8c3Ryb25nPnt7IHNlbGVjdGVkVGlja2V0cy5sZW5ndGggfX08L3N0cm9uZz4gc2VsZWNjaW9uYWRve3sgc2VsZWN0ZWRUaWNrZXRzLmxlbmd0aCAhPT0gMSA/ICdzJyA6ICcnIH19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIEBpZiAocHJvcHMubWF4U2VsZWN0aW9uKSB7XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1bW1hcnktaXRlbVwiPlxuICAgICAgICAgICAgICAobcOheDoge3sgcHJvcHMubWF4U2VsZWN0aW9uIH19KVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG5cbiAgICAgIDwhLS0gR3JpZCAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0aWNrZXQtZ3JpZFwiIHJvbGU9XCJncmlkXCI+XG4gICAgICAgIEBmb3IgKHRpY2tldCBvZiBkaXNwbGF5ZWRUaWNrZXRzOyB0cmFjayB0aWNrZXQubnVtYmVyKSB7XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBjbGFzcz1cInRpY2tldC1jZWxsXCJcbiAgICAgICAgICAgIFtjbGFzc109XCInc3RhdHVzLScgKyB0aWNrZXQuc3RhdHVzXCJcbiAgICAgICAgICAgIFtjbGFzcy5oaWdobGlnaHRlZF09XCJpc0hpZ2hsaWdodGVkKHRpY2tldC5udW1iZXIpXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNTZWxlY3RhYmxlKHRpY2tldClcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJnZXRUaWNrZXRBcmlhTGFiZWwodGlja2V0KVwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLXByZXNzZWRdPVwidGlja2V0LnN0YXR1cyA9PT0gJ3NlbGVjdGVkJ1wiXG4gICAgICAgICAgICAoY2xpY2spPVwib25UaWNrZXRDbGljayh0aWNrZXQpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyBmb3JtYXROdW1iZXIodGlja2V0Lm51bWJlcikgfX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gTGVnZW5kIChib3R0b20pIC0tPlxuICAgICAgQGlmIChwcm9wcy5zaG93TGVnZW5kICYmIHByb3BzLmxlZ2VuZFBvc2l0aW9uID09PSAnYm90dG9tJykge1xuICAgICAgICA8ZGl2IGNsYXNzPVwidGlja2V0LWxlZ2VuZCBib3R0b21cIj5cbiAgICAgICAgICBAZm9yIChpdGVtIG9mIGdldExlZ2VuZEl0ZW1zKCk7IHRyYWNrIGl0ZW0uc3RhdHVzKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVnZW5kLWl0ZW1cIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsZWdlbmQtY29sb3JcIiBbY2xhc3NdPVwiJ3N0YXR1cy0nICsgaXRlbS5zdGF0dXNcIj48L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGVnZW5kLWxhYmVsXCI+e3sgaXRlbS5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgQGlmIChpdGVtLmNvdW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxlZ2VuZC1jb3VudFwiPih7eyBpdGVtLmNvdW50IH19KTwvc3Bhbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vdGlja2V0LWdyaWQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG4vKipcbiAqIHZhbC10aWNrZXQtZ3JpZFxuICpcbiAqIEEgZ3JpZCBmb3Igc2VsZWN0aW5nIHRpY2tldCBudW1iZXJzLCBjb21tb25seSB1c2VkIGluIHJhZmZsZXMgYW5kIGxvdHRlcmllcy5cbiAqXG4gKiBAZXhhbXBsZSBCYXNpYyB1c2FnZVxuICogYGBgaHRtbFxuICogPHZhbC10aWNrZXQtZ3JpZFxuICogICBbcHJvcHNdPVwie1xuICogICAgIHRvdGFsVGlja2V0czogMTAwLFxuICogICAgIHNvbGRUaWNrZXRzOiBbMSwgNSwgMTIsIDIzXSxcbiAqICAgICBzZWxlY3Rpb25Nb2RlOiAnbXVsdGlwbGUnLFxuICogICAgIG1heFNlbGVjdGlvbjogMTBcbiAqICAgfVwiXG4gKiAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25TZWxlY3Rpb25DaGFuZ2UoJGV2ZW50KVwiXG4gKiA+PC92YWwtdGlja2V0LWdyaWQ+XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZSBXaXRoIGxlZ2VuZCBhbmQgc2VhcmNoXG4gKiBgYGBodG1sXG4gKiA8dmFsLXRpY2tldC1ncmlkXG4gKiAgIFtwcm9wc109XCJ7XG4gKiAgICAgdG90YWxUaWNrZXRzOiA1MDAsXG4gKiAgICAgc29sZFRpY2tldHM6IHNvbGROdW1iZXJzLFxuICogICAgIHJlc2VydmVkVGlja2V0czogcmVzZXJ2ZWROdW1iZXJzLFxuICogICAgIGNvbHVtbnM6IDIwLFxuICogICAgIHNob3dMZWdlbmQ6IHRydWUsXG4gKiAgICAgc2hvd1NlYXJjaDogdHJ1ZSxcbiAqICAgICBzaG93UmFuZG9tU2VsZWN0OiB0cnVlLFxuICogICAgIHJhbmRvbVNlbGVjdENvdW50OiA1LFxuICogICAgIG1heFNlbGVjdGlvbjogMTBcbiAqICAgfVwiXG4gKiA+PC92YWwtdGlja2V0LWdyaWQ+XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNsYXNzIFRpY2tldEdyaWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHByb3BzOiBUaWNrZXRHcmlkTWV0YWRhdGE7XG5cbiAgQE91dHB1dCgpIHNlbGVjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VGlja2V0R3JpZFNlbGVjdGlvbkV2ZW50PigpO1xuICBAT3V0cHV0KCkgdGlja2V0Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPFRpY2tldEdyaWRDbGlja0V2ZW50PigpO1xuXG4gIHRpY2tldHM6IFRpY2tldERhdGFbXSA9IFtdO1xuICBkaXNwbGF5ZWRUaWNrZXRzOiBUaWNrZXREYXRhW10gPSBbXTtcbiAgc2VsZWN0ZWRUaWNrZXRzOiBudW1iZXJbXSA9IFtdO1xuICBzZWFyY2hUZXJtID0gJyc7XG4gIGhpZ2hsaWdodGVkTnVtYmVyczogbnVtYmVyW10gPSBbXTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmJ1aWxkVGlja2V0cygpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWydwcm9wcyddKSB7XG4gICAgICB0aGlzLmJ1aWxkVGlja2V0cygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRUaWNrZXRzKCk6IHZvaWQge1xuICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5wcm9wcy5zdGFydE51bWJlciA/PyAxO1xuICAgIGNvbnN0IHRvdGFsID0gdGhpcy5wcm9wcy50b3RhbFRpY2tldHM7XG4gICAgY29uc3Qgc29sZFNldCA9IG5ldyBTZXQodGhpcy5wcm9wcy5zb2xkVGlja2V0cyB8fCBbXSk7XG4gICAgY29uc3QgcmVzZXJ2ZWRTZXQgPSBuZXcgU2V0KHRoaXMucHJvcHMucmVzZXJ2ZWRUaWNrZXRzIHx8IFtdKTtcbiAgICBjb25zdCBkaXNhYmxlZFNldCA9IG5ldyBTZXQodGhpcy5wcm9wcy5kaXNhYmxlZFRpY2tldHMgfHwgW10pO1xuICAgIGNvbnN0IHNlbGVjdGVkU2V0ID0gbmV3IFNldCh0aGlzLnByb3BzLnNlbGVjdGVkVGlja2V0cyB8fCBbXSk7XG5cbiAgICAvLyBJbml0aWFsaXplIHNlbGVjdGVkIHRpY2tldHMgZnJvbSBwcm9wc1xuICAgIHRoaXMuc2VsZWN0ZWRUaWNrZXRzID0gWy4uLih0aGlzLnByb3BzLnNlbGVjdGVkVGlja2V0cyB8fCBbXSldO1xuXG4gICAgLy8gQnVpbGQgdGlja2V0IGFycmF5XG4gICAgaWYgKHRoaXMucHJvcHMudGlja2V0RGF0YT8ubGVuZ3RoKSB7XG4gICAgICAvLyBVc2UgY3VzdG9tIHRpY2tldCBkYXRhXG4gICAgICB0aGlzLnRpY2tldHMgPSBbLi4udGhpcy5wcm9wcy50aWNrZXREYXRhXTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gR2VuZXJhdGUgZnJvbSBudW1iZXJzXG4gICAgICB0aGlzLnRpY2tldHMgPSBbXTtcbiAgICAgIGZvciAobGV0IGkgPSBzdGFydDsgaSA8IHN0YXJ0ICsgdG90YWw7IGkrKykge1xuICAgICAgICBsZXQgc3RhdHVzOiBUaWNrZXRTdGF0dXMgPSAnYXZhaWxhYmxlJztcblxuICAgICAgICBpZiAoZGlzYWJsZWRTZXQuaGFzKGkpKSB7XG4gICAgICAgICAgc3RhdHVzID0gJ2Rpc2FibGVkJztcbiAgICAgICAgfSBlbHNlIGlmIChzb2xkU2V0LmhhcyhpKSkge1xuICAgICAgICAgIHN0YXR1cyA9ICdzb2xkJztcbiAgICAgICAgfSBlbHNlIGlmIChyZXNlcnZlZFNldC5oYXMoaSkpIHtcbiAgICAgICAgICBzdGF0dXMgPSAncmVzZXJ2ZWQnO1xuICAgICAgICB9IGVsc2UgaWYgKHNlbGVjdGVkU2V0LmhhcyhpKSkge1xuICAgICAgICAgIHN0YXR1cyA9ICdzZWxlY3RlZCc7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnRpY2tldHMucHVzaCh7IG51bWJlcjogaSwgc3RhdHVzIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuYXBwbHlTZWFyY2goKTtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlTZWFyY2goKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnNlYXJjaFRlcm0pIHtcbiAgICAgIHRoaXMuZGlzcGxheWVkVGlja2V0cyA9IFsuLi50aGlzLnRpY2tldHNdO1xuICAgICAgdGhpcy5oaWdobGlnaHRlZE51bWJlcnMgPSBbXTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRmlsdGVyL2hpZ2hsaWdodCB0aWNrZXRzIG1hdGNoaW5nIHNlYXJjaFxuICAgICAgY29uc3QgdGVybSA9IHRoaXMuc2VhcmNoVGVybS50cmltKCk7XG4gICAgICB0aGlzLmhpZ2hsaWdodGVkTnVtYmVycyA9IHRoaXMudGlja2V0c1xuICAgICAgICAuZmlsdGVyKHQgPT4gdGhpcy5mb3JtYXROdW1iZXIodC5udW1iZXIpLmluY2x1ZGVzKHRlcm0pKVxuICAgICAgICAubWFwKHQgPT4gdC5udW1iZXIpO1xuICAgICAgdGhpcy5kaXNwbGF5ZWRUaWNrZXRzID0gWy4uLnRoaXMudGlja2V0c107XG4gICAgfVxuICB9XG5cbiAgb25TZWFyY2goZXZlbnQ6IEN1c3RvbUV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hUZXJtID0gZXZlbnQuZGV0YWlsLnZhbHVlIHx8ICcnO1xuICAgIHRoaXMuYXBwbHlTZWFyY2goKTtcbiAgfVxuXG4gIGlzSGlnaGxpZ2h0ZWQobnVtYmVyOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oaWdobGlnaHRlZE51bWJlcnMuaW5jbHVkZXMobnVtYmVyKTtcbiAgfVxuXG4gIGlzU2VsZWN0YWJsZSh0aWNrZXQ6IFRpY2tldERhdGEpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5wcm9wcy5zZWxlY3Rpb25Nb2RlID09PSAnbm9uZScpIHJldHVybiBmYWxzZTtcblxuICAgIC8vIENoZWNrIGlmIHNvbGQvcmVzZXJ2ZWQgYW5kIGFkbWluIG92ZXJyaWRlXG4gICAgaWYgKHRpY2tldC5zdGF0dXMgPT09ICdzb2xkJyB8fCB0aWNrZXQuc3RhdHVzID09PSAncmVzZXJ2ZWQnKSB7XG4gICAgICByZXR1cm4gdGhpcy5wcm9wcy5hbGxvd1NlbGVjdFNvbGQgPT09IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHRpY2tldC5zdGF0dXMgPT09ICdkaXNhYmxlZCcpIHJldHVybiBmYWxzZTtcblxuICAgIC8vIENoZWNrIG1heCBzZWxlY3Rpb25cbiAgICBpZiAoXG4gICAgICB0aWNrZXQuc3RhdHVzICE9PSAnc2VsZWN0ZWQnICYmXG4gICAgICB0aGlzLnByb3BzLm1heFNlbGVjdGlvbiAmJlxuICAgICAgdGhpcy5zZWxlY3RlZFRpY2tldHMubGVuZ3RoID49IHRoaXMucHJvcHMubWF4U2VsZWN0aW9uXG4gICAgKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBvblRpY2tldENsaWNrKHRpY2tldDogVGlja2V0RGF0YSk6IHZvaWQge1xuICAgIGNvbnN0IGlzU2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGVkVGlja2V0cy5pbmNsdWRlcyh0aWNrZXQubnVtYmVyKTtcblxuICAgIC8vIEVtaXQgY2xpY2sgZXZlbnQgcmVnYXJkbGVzc1xuICAgIHRoaXMudGlja2V0Q2xpY2suZW1pdCh7XG4gICAgICBudW1iZXI6IHRpY2tldC5udW1iZXIsXG4gICAgICBzdGF0dXM6IHRpY2tldC5zdGF0dXMsXG4gICAgICBzZWxlY3RlZDogdGhpcy5pc1NlbGVjdGFibGUodGlja2V0KSA/ICFpc1NlbGVjdGVkIDogbnVsbCxcbiAgICB9KTtcblxuICAgIGlmICghdGhpcy5pc1NlbGVjdGFibGUodGlja2V0KSAmJiB0aWNrZXQuc3RhdHVzICE9PSAnc2VsZWN0ZWQnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gSGFuZGxlIHNlbGVjdGlvblxuICAgIGlmIChpc1NlbGVjdGVkKSB7XG4gICAgICAvLyBEZXNlbGVjdFxuICAgICAgdGhpcy5zZWxlY3RlZFRpY2tldHMgPSB0aGlzLnNlbGVjdGVkVGlja2V0cy5maWx0ZXIobiA9PiBuICE9PSB0aWNrZXQubnVtYmVyKTtcbiAgICAgIHRpY2tldC5zdGF0dXMgPSAnYXZhaWxhYmxlJztcblxuICAgICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdCh7XG4gICAgICAgIHNlbGVjdGVkVGlja2V0czogWy4uLnRoaXMuc2VsZWN0ZWRUaWNrZXRzXSxcbiAgICAgICAgY2hhbmdlZFRpY2tldDogdGlja2V0Lm51bWJlcixcbiAgICAgICAgYWN0aW9uOiAnZGVzZWxlY3QnLFxuICAgICAgICBjb3VudDogdGhpcy5zZWxlY3RlZFRpY2tldHMubGVuZ3RoLFxuICAgICAgICBtYXhSZWFjaGVkOiBmYWxzZSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBTZWxlY3RcbiAgICAgIGlmICh0aGlzLnByb3BzLnNlbGVjdGlvbk1vZGUgPT09ICdzaW5nbGUnKSB7XG4gICAgICAgIC8vIERlc2VsZWN0IHByZXZpb3VzXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRUaWNrZXRzLmZvckVhY2gobnVtID0+IHtcbiAgICAgICAgICBjb25zdCB0ID0gdGhpcy50aWNrZXRzLmZpbmQoeCA9PiB4Lm51bWJlciA9PT0gbnVtKTtcbiAgICAgICAgICBpZiAodCkgdC5zdGF0dXMgPSAnYXZhaWxhYmxlJztcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRUaWNrZXRzID0gW3RpY2tldC5udW1iZXJdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFRpY2tldHMucHVzaCh0aWNrZXQubnVtYmVyKTtcbiAgICAgIH1cblxuICAgICAgdGlja2V0LnN0YXR1cyA9ICdzZWxlY3RlZCc7XG5cbiAgICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlLmVtaXQoe1xuICAgICAgICBzZWxlY3RlZFRpY2tldHM6IFsuLi50aGlzLnNlbGVjdGVkVGlja2V0c10sXG4gICAgICAgIGNoYW5nZWRUaWNrZXQ6IHRpY2tldC5udW1iZXIsXG4gICAgICAgIGFjdGlvbjogJ3NlbGVjdCcsXG4gICAgICAgIGNvdW50OiB0aGlzLnNlbGVjdGVkVGlja2V0cy5sZW5ndGgsXG4gICAgICAgIG1heFJlYWNoZWQ6IHRoaXMucHJvcHMubWF4U2VsZWN0aW9uXG4gICAgICAgICAgPyB0aGlzLnNlbGVjdGVkVGlja2V0cy5sZW5ndGggPj0gdGhpcy5wcm9wcy5tYXhTZWxlY3Rpb25cbiAgICAgICAgICA6IGZhbHNlLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0UmFuZG9tKCk6IHZvaWQge1xuICAgIGNvbnN0IGNvdW50ID0gdGhpcy5wcm9wcy5yYW5kb21TZWxlY3RDb3VudCB8fCAxO1xuICAgIGNvbnN0IGF2YWlsYWJsZSA9IHRoaXMudGlja2V0cy5maWx0ZXIoXG4gICAgICB0ID0+IHQuc3RhdHVzID09PSAnYXZhaWxhYmxlJyAmJiAhdGhpcy5zZWxlY3RlZFRpY2tldHMuaW5jbHVkZXModC5udW1iZXIpXG4gICAgKTtcblxuICAgIC8vIERldGVybWluZSBob3cgbWFueSB3ZSBjYW4gc2VsZWN0XG4gICAgY29uc3QgbWF4Q2FuU2VsZWN0ID0gdGhpcy5wcm9wcy5tYXhTZWxlY3Rpb25cbiAgICAgID8gTWF0aC5taW4oY291bnQsIHRoaXMucHJvcHMubWF4U2VsZWN0aW9uIC0gdGhpcy5zZWxlY3RlZFRpY2tldHMubGVuZ3RoKVxuICAgICAgOiBjb3VudDtcblxuICAgIGlmIChhdmFpbGFibGUubGVuZ3RoID09PSAwIHx8IG1heENhblNlbGVjdCA8PSAwKSByZXR1cm47XG5cbiAgICAvLyBSYW5kb20gc2h1ZmZsZSBhbmQgcGlja1xuICAgIGNvbnN0IHNodWZmbGVkID0gWy4uLmF2YWlsYWJsZV0uc29ydCgoKSA9PiBNYXRoLnJhbmRvbSgpIC0gMC41KTtcbiAgICBjb25zdCB0b1NlbGVjdCA9IHNodWZmbGVkLnNsaWNlKDAsIE1hdGgubWluKG1heENhblNlbGVjdCwgYXZhaWxhYmxlLmxlbmd0aCkpO1xuXG4gICAgdG9TZWxlY3QuZm9yRWFjaCh0aWNrZXQgPT4ge1xuICAgICAgdGlja2V0LnN0YXR1cyA9ICdzZWxlY3RlZCc7XG4gICAgICB0aGlzLnNlbGVjdGVkVGlja2V0cy5wdXNoKHRpY2tldC5udW1iZXIpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdCh7XG4gICAgICBzZWxlY3RlZFRpY2tldHM6IFsuLi50aGlzLnNlbGVjdGVkVGlja2V0c10sXG4gICAgICBjaGFuZ2VkVGlja2V0OiB0b1NlbGVjdFt0b1NlbGVjdC5sZW5ndGggLSAxXS5udW1iZXIsXG4gICAgICBhY3Rpb246ICdzZWxlY3QnLFxuICAgICAgY291bnQ6IHRoaXMuc2VsZWN0ZWRUaWNrZXRzLmxlbmd0aCxcbiAgICAgIG1heFJlYWNoZWQ6IHRoaXMucHJvcHMubWF4U2VsZWN0aW9uXG4gICAgICAgID8gdGhpcy5zZWxlY3RlZFRpY2tldHMubGVuZ3RoID49IHRoaXMucHJvcHMubWF4U2VsZWN0aW9uXG4gICAgICAgIDogZmFsc2UsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXIgYWxsIHNlbGVjdGlvbnMuXG4gICAqL1xuICBjbGVhclNlbGVjdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkVGlja2V0cy5mb3JFYWNoKG51bSA9PiB7XG4gICAgICBjb25zdCB0aWNrZXQgPSB0aGlzLnRpY2tldHMuZmluZCh0ID0+IHQubnVtYmVyID09PSBudW0pO1xuICAgICAgaWYgKHRpY2tldCkgdGlja2V0LnN0YXR1cyA9ICdhdmFpbGFibGUnO1xuICAgIH0pO1xuICAgIHRoaXMuc2VsZWN0ZWRUaWNrZXRzID0gW107XG4gIH1cblxuICAvKipcbiAgICogR2V0IHNlbGVjdGVkIHRpY2tldCBudW1iZXJzLlxuICAgKi9cbiAgZ2V0U2VsZWN0ZWRUaWNrZXRzKCk6IG51bWJlcltdIHtcbiAgICByZXR1cm4gWy4uLnRoaXMuc2VsZWN0ZWRUaWNrZXRzXTtcbiAgfVxuXG4gIGdldCBhdmFpbGFibGVDb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnRpY2tldHMuZmlsdGVyKHQgPT4gdC5zdGF0dXMgPT09ICdhdmFpbGFibGUnKS5sZW5ndGg7XG4gIH1cblxuICBnZXQgc29sZENvdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMudGlja2V0cy5maWx0ZXIodCA9PiB0LnN0YXR1cyA9PT0gJ3NvbGQnKS5sZW5ndGg7XG4gIH1cblxuICBnZXRMZWdlbmRJdGVtcygpOiBUaWNrZXRHcmlkTGVnZW5kSXRlbVtdIHtcbiAgICBpZiAodGhpcy5wcm9wcy5sZWdlbmRJdGVtcykge1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMubGVnZW5kSXRlbXM7XG4gICAgfVxuXG4gICAgY29uc3QgaXRlbXM6IFRpY2tldEdyaWRMZWdlbmRJdGVtW10gPSBbXG4gICAgICB7IHN0YXR1czogJ2F2YWlsYWJsZScsIGxhYmVsOiBERUZBVUxUX0xFR0VORF9MQUJFTFMuYXZhaWxhYmxlLCBjb3VudDogdGhpcy5hdmFpbGFibGVDb3VudCB9LFxuICAgICAgeyBzdGF0dXM6ICdzZWxlY3RlZCcsIGxhYmVsOiBERUZBVUxUX0xFR0VORF9MQUJFTFMuc2VsZWN0ZWQsIGNvdW50OiB0aGlzLnNlbGVjdGVkVGlja2V0cy5sZW5ndGggfSxcbiAgICBdO1xuXG4gICAgaWYgKHRoaXMucHJvcHMuc29sZFRpY2tldHM/Lmxlbmd0aCkge1xuICAgICAgaXRlbXMucHVzaCh7IHN0YXR1czogJ3NvbGQnLCBsYWJlbDogREVGQVVMVF9MRUdFTkRfTEFCRUxTLnNvbGQsIGNvdW50OiB0aGlzLnNvbGRDb3VudCB9KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5wcm9wcy5yZXNlcnZlZFRpY2tldHM/Lmxlbmd0aCkge1xuICAgICAgaXRlbXMucHVzaCh7XG4gICAgICAgIHN0YXR1czogJ3Jlc2VydmVkJyxcbiAgICAgICAgbGFiZWw6IERFRkFVTFRfTEVHRU5EX0xBQkVMUy5yZXNlcnZlZCxcbiAgICAgICAgY291bnQ6IHRoaXMucHJvcHMucmVzZXJ2ZWRUaWNrZXRzLmxlbmd0aCxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBpdGVtcztcbiAgfVxuXG4gIGZvcm1hdE51bWJlcihudW06IG51bWJlcik6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMucHJvcHMubnVtYmVyUGFkZGluZykge1xuICAgICAgcmV0dXJuIFN0cmluZyhudW0pLnBhZFN0YXJ0KHRoaXMucHJvcHMubnVtYmVyUGFkZGluZywgJzAnKTtcbiAgICB9XG4gICAgcmV0dXJuIFN0cmluZyhudW0pO1xuICB9XG5cbiAgZ2V0VGlja2V0QXJpYUxhYmVsKHRpY2tldDogVGlja2V0RGF0YSk6IHN0cmluZyB7XG4gICAgY29uc3Qgc3RhdHVzTGFiZWwgPSBERUZBVUxUX0xFR0VORF9MQUJFTFNbdGlja2V0LnN0YXR1c107XG4gICAgcmV0dXJuIGBCb2xldG8gJHt0aGlzLmZvcm1hdE51bWJlcih0aWNrZXQubnVtYmVyKX0sICR7c3RhdHVzTGFiZWx9YDtcbiAgfVxuXG4gIGdldFNlYXJjaFBsYWNlaG9sZGVyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuc2VhcmNoUGxhY2Vob2xkZXIgfHwgJ0J1c2NhciBuw7ptZXJvLi4uJztcbiAgfVxuXG4gIGdldFJhbmRvbVNlbGVjdExhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMucmFuZG9tU2VsZWN0TGFiZWwgfHwgJ0FsZWF0b3Jpbyc7XG4gIH1cblxuICBnZXRDb2xvcigpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLnByb3BzLmNvbG9yKSB7XG4gICAgICByZXR1cm4gYHZhcigtLWlvbi1jb2xvci0ke3RoaXMucHJvcHMuY29sb3J9KWA7XG4gICAgfVxuICAgIHJldHVybiAndmFyKC0taW9uLWNvbG9yLXByaW1hcnkpJztcbiAgfVxufVxuIl19
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Default legend labels in Spanish.
|
|
3
|
-
*/
|
|
4
|
-
export const DEFAULT_LEGEND_LABELS = {
|
|
5
|
-
available: 'Disponible',
|
|
6
|
-
sold: 'Vendido',
|
|
7
|
-
reserved: 'Reservado',
|
|
8
|
-
selected: 'Seleccionado',
|
|
9
|
-
disabled: 'No disponible',
|
|
10
|
-
};
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL3RpY2tldC1ncmlkL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVJQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFpQztJQUNqRSxTQUFTLEVBQUUsWUFBWTtJQUN2QixJQUFJLEVBQUUsU0FBUztJQUNmLFFBQVEsRUFBRSxXQUFXO0lBQ3JCLFFBQVEsRUFBRSxjQUFjO0lBQ3hCLFFBQVEsRUFBRSxlQUFlO0NBQzFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xvciB9IGZyb20gJ0Bpb25pYy9jb3JlJztcblxuLyoqXG4gKiBUaWNrZXQgc3RhdHVzIGluIHRoZSBncmlkLlxuICovXG5leHBvcnQgdHlwZSBUaWNrZXRTdGF0dXMgPSAnYXZhaWxhYmxlJyB8ICdzb2xkJyB8ICdyZXNlcnZlZCcgfCAnc2VsZWN0ZWQnIHwgJ2Rpc2FibGVkJztcblxuLyoqXG4gKiBJbmRpdmlkdWFsIHRpY2tldCBkYXRhLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRpY2tldERhdGEge1xuICAvKiogVGlja2V0IG51bWJlciAqL1xuICBudW1iZXI6IG51bWJlcjtcbiAgLyoqIFRpY2tldCBzdGF0dXMgKi9cbiAgc3RhdHVzOiBUaWNrZXRTdGF0dXM7XG4gIC8qKiBPcHRpb25hbCBvd25lciBuYW1lIChmb3Igc29sZCB0aWNrZXRzKSAqL1xuICBvd25lcj86IHN0cmluZztcbiAgLyoqIE9wdGlvbmFsIGN1c3RvbSBsYWJlbCAqL1xuICBsYWJlbD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBMZWdlbmQgaXRlbSBmb3IgdGlja2V0IGdyaWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGlja2V0R3JpZExlZ2VuZEl0ZW0ge1xuICAvKiogU3RhdHVzIHRoaXMgbGVnZW5kIHJlcHJlc2VudHMgKi9cbiAgc3RhdHVzOiBUaWNrZXRTdGF0dXM7XG4gIC8qKiBEaXNwbGF5IGxhYmVsICovXG4gIGxhYmVsOiBzdHJpbmc7XG4gIC8qKiBPcHRpb25hbCBjb3VudCAqL1xuICBjb3VudD86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBNZXRhZGF0YSBmb3IgdGhlIHRpY2tldCBncmlkIGNvbXBvbmVudC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUaWNrZXRHcmlkTWV0YWRhdGEge1xuICAvKiogVG90YWwgbnVtYmVyIG9mIHRpY2tldHMgKi9cbiAgdG90YWxUaWNrZXRzOiBudW1iZXI7XG4gIC8qKiBTdGFydGluZyB0aWNrZXQgbnVtYmVyIChkZWZhdWx0OiAxKSAqL1xuICBzdGFydE51bWJlcj86IG51bWJlcjtcbiAgLyoqIE51bWJlcnMgb2Ygc29sZCB0aWNrZXRzICovXG4gIHNvbGRUaWNrZXRzPzogbnVtYmVyW107XG4gIC8qKiBOdW1iZXJzIG9mIHJlc2VydmVkIHRpY2tldHMgKi9cbiAgcmVzZXJ2ZWRUaWNrZXRzPzogbnVtYmVyW107XG4gIC8qKiBOdW1iZXJzIG9mIGRpc2FibGVkIHRpY2tldHMgKi9cbiAgZGlzYWJsZWRUaWNrZXRzPzogbnVtYmVyW107XG4gIC8qKiBDdXJyZW50bHkgc2VsZWN0ZWQgdGlja2V0cyAqL1xuICBzZWxlY3RlZFRpY2tldHM/OiBudW1iZXJbXTtcbiAgLyoqIEN1c3RvbSB0aWNrZXQgZGF0YSAob3ZlcnJpZGVzIGNvbXB1dGVkIHN0YXR1cykgKi9cbiAgdGlja2V0RGF0YT86IFRpY2tldERhdGFbXTtcblxuICAvLyA9PT0gU2VsZWN0aW9uID09PVxuICAvKiogU2VsZWN0aW9uIG1vZGUgKi9cbiAgc2VsZWN0aW9uTW9kZT86ICdzaW5nbGUnIHwgJ211bHRpcGxlJyB8ICdub25lJztcbiAgLyoqIE1heGltdW0gdGlja2V0cyB0aGF0IGNhbiBiZSBzZWxlY3RlZCAqL1xuICBtYXhTZWxlY3Rpb24/OiBudW1iZXI7XG4gIC8qKiBNaW5pbXVtIHRpY2tldHMgcmVxdWlyZWQgKi9cbiAgbWluU2VsZWN0aW9uPzogbnVtYmVyO1xuICAvKiogQWxsb3cgc2VsZWN0aW5nIHNvbGQvcmVzZXJ2ZWQgdGlja2V0cyAoZm9yIGFkbWluKSAqL1xuICBhbGxvd1NlbGVjdFNvbGQ/OiBib29sZWFuO1xuXG4gIC8vID09PSBEaXNwbGF5ID09PVxuICAvKiogTnVtYmVyIG9mIGNvbHVtbnMgKi9cbiAgY29sdW1ucz86IG51bWJlcjtcbiAgLyoqIFNob3cgbGVnZW5kICovXG4gIHNob3dMZWdlbmQ/OiBib29sZWFuO1xuICAvKiogTGVnZW5kIHBvc2l0aW9uICovXG4gIGxlZ2VuZFBvc2l0aW9uPzogJ3RvcCcgfCAnYm90dG9tJztcbiAgLyoqIEN1c3RvbSBsZWdlbmQgaXRlbXMgKi9cbiAgbGVnZW5kSXRlbXM/OiBUaWNrZXRHcmlkTGVnZW5kSXRlbVtdO1xuICAvKiogU2hvdyB0aWNrZXQgY291bnQgc3VtbWFyeSAqL1xuICBzaG93U3VtbWFyeT86IGJvb2xlYW47XG4gIC8qKiBTaG93IHNlYXJjaC9maWx0ZXIgaW5wdXQgKi9cbiAgc2hvd1NlYXJjaD86IGJvb2xlYW47XG4gIC8qKiBTZWFyY2ggcGxhY2Vob2xkZXIgKi9cbiAgc2VhcmNoUGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIC8qKiBUaWNrZXQgbnVtYmVyIHBhZGRpbmcgKGUuZy4sIDMgPSBcIjAwMVwiKSAqL1xuICBudW1iZXJQYWRkaW5nPzogbnVtYmVyO1xuXG4gIC8vID09PSBTdHlsaW5nID09PVxuICAvKiogQ29tcG9uZW50IGNvbG9yIGZvciBzZWxlY3RlZCBzdGF0ZSAqL1xuICBjb2xvcj86IENvbG9yO1xuICAvKiogVGlja2V0IHNpemUgKi9cbiAgdGlja2V0U2l6ZT86ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZSc7XG4gIC8qKiBHcmlkIGdhcCAqL1xuICBnYXA/OiBudW1iZXI7XG4gIC8qKiBDdXN0b20gQ1NTIGNsYXNzICovXG4gIGNzc0NsYXNzPzogc3RyaW5nO1xuXG4gIC8vID09PSBRdWljayBzZWxlY3QgPT09XG4gIC8qKiBTaG93IHJhbmRvbSBzZWxlY3Rpb24gYnV0dG9uICovXG4gIHNob3dSYW5kb21TZWxlY3Q/OiBib29sZWFuO1xuICAvKiogUmFuZG9tIHNlbGVjdGlvbiBjb3VudCAqL1xuICByYW5kb21TZWxlY3RDb3VudD86IG51bWJlcjtcbiAgLyoqIFJhbmRvbSBzZWxlY3QgYnV0dG9uIGxhYmVsICovXG4gIHJhbmRvbVNlbGVjdExhYmVsPzogc3RyaW5nO1xuXG4gIC8vID09PSBSZWFjdGl2ZSBjb250ZW50ID09PVxuICAvKiogQ29udGVudCBrZXkgZm9yIHNlYXJjaCBwbGFjZWhvbGRlciAqL1xuICBzZWFyY2hQbGFjZWhvbGRlckNvbnRlbnRLZXk/OiBzdHJpbmc7XG4gIC8qKiBDb250ZW50IGtleSBmb3IgcmFuZG9tIHNlbGVjdCBsYWJlbCAqL1xuICByYW5kb21TZWxlY3RMYWJlbENvbnRlbnRLZXk/OiBzdHJpbmc7XG4gIC8qKiBDb250ZW50IGNsYXNzIGZvciByZWFjdGl2ZSBjb250ZW50ICovXG4gIGNvbnRlbnRDbGFzcz86IHN0cmluZztcbn1cblxuLyoqXG4gKiBFdmVudCBlbWl0dGVkIHdoZW4gc2VsZWN0aW9uIGNoYW5nZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGlja2V0R3JpZFNlbGVjdGlvbkV2ZW50IHtcbiAgLyoqIEN1cnJlbnRseSBzZWxlY3RlZCB0aWNrZXQgbnVtYmVycyAqL1xuICBzZWxlY3RlZFRpY2tldHM6IG51bWJlcltdO1xuICAvKiogTGFzdCBjaGFuZ2VkIHRpY2tldCBudW1iZXIgKi9cbiAgY2hhbmdlZFRpY2tldDogbnVtYmVyO1xuICAvKiogV2hldGhlciB0aGUgdGlja2V0IHdhcyBzZWxlY3RlZCBvciBkZXNlbGVjdGVkICovXG4gIGFjdGlvbjogJ3NlbGVjdCcgfCAnZGVzZWxlY3QnO1xuICAvKiogVG90YWwgY291bnQgb2Ygc2VsZWN0ZWQgdGlja2V0cyAqL1xuICBjb3VudDogbnVtYmVyO1xuICAvKiogV2hldGhlciBtYXggc2VsZWN0aW9uIHJlYWNoZWQgKi9cbiAgbWF4UmVhY2hlZDogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBFdmVudCBlbWl0dGVkIHdoZW4gYSB0aWNrZXQgaXMgY2xpY2tlZCAocmVnYXJkbGVzcyBvZiBzZWxlY3Rpb24pLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRpY2tldEdyaWRDbGlja0V2ZW50IHtcbiAgLyoqIFRpY2tldCBudW1iZXIgKi9cbiAgbnVtYmVyOiBudW1iZXI7XG4gIC8qKiBUaWNrZXQgc3RhdHVzICovXG4gIHN0YXR1czogVGlja2V0U3RhdHVzO1xuICAvKiogV2hldGhlciBpdCB3YXMgc2VsZWN0ZWQvZGVzZWxlY3RlZCAobnVsbCBpZiBub3Qgc2VsZWN0YWJsZSkgKi9cbiAgc2VsZWN0ZWQ6IGJvb2xlYW4gfCBudWxsO1xufVxuXG4vKipcbiAqIERlZmF1bHQgbGVnZW5kIGxhYmVscyBpbiBTcGFuaXNoLlxuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9MRUdFTkRfTEFCRUxTOiBSZWNvcmQ8VGlja2V0U3RhdHVzLCBzdHJpbmc+ID0ge1xuICBhdmFpbGFibGU6ICdEaXNwb25pYmxlJyxcbiAgc29sZDogJ1ZlbmRpZG8nLFxuICByZXNlcnZlZDogJ1Jlc2VydmFkbycsXG4gIHNlbGVjdGVkOiAnU2VsZWNjaW9uYWRvJyxcbiAgZGlzYWJsZWQ6ICdObyBkaXNwb25pYmxlJyxcbn07XG4iXX0=
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Default labels.
|
|
3
|
-
*/
|
|
4
|
-
export const DEFAULT_WINNER_LABELS = {
|
|
5
|
-
winner: '¡Ganador!',
|
|
6
|
-
ticket: 'Boleto #',
|
|
7
|
-
prize: 'Premio:',
|
|
8
|
-
};
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL3dpbm5lci1kaXNwbGF5L3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlIQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHO0lBQ25DLE1BQU0sRUFBRSxXQUFXO0lBQ25CLE1BQU0sRUFBRSxVQUFVO0lBQ2xCLEtBQUssRUFBRSxTQUFTO0NBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xvciB9IGZyb20gJ0Bpb25pYy9jb3JlJztcbmltcG9ydCB7IEF2YXRhck1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vYXRvbXMvYXZhdGFyL3R5cGVzJztcblxuLyoqXG4gKiBXaW5uZXIgaW5mb3JtYXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV2lubmVySW5mbyB7XG4gIC8qKiBXaW5uZXIncyBuYW1lICovXG4gIG5hbWU6IHN0cmluZztcbiAgLyoqIFdpbm5lcidzIHRpY2tldCBudW1iZXIgKi9cbiAgdGlja2V0TnVtYmVyOiBudW1iZXIgfCBzdHJpbmc7XG4gIC8qKiBXaW5uZXIncyBhdmF0YXIgKi9cbiAgYXZhdGFyPzogQXZhdGFyTWV0YWRhdGE7XG4gIC8qKiBQcml6ZSB3b24gKi9cbiAgcHJpemU/OiBzdHJpbmc7XG4gIC8qKiBQcml6ZSBkZXNjcmlwdGlvbiAqL1xuICBwcml6ZURlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAvKiogUHJpemUgaW1hZ2UgVVJMICovXG4gIHByaXplSW1hZ2U/OiBzdHJpbmc7XG4gIC8qKiBQcml6ZSB2YWx1ZSAqL1xuICBwcml6ZVZhbHVlPzogbnVtYmVyO1xuICAvKiogV2lubmVyJ3MgbG9jYXRpb24gKGNpdHksIGNvdW50cnkpICovXG4gIGxvY2F0aW9uPzogc3RyaW5nO1xuICAvKiogQWRkaXRpb25hbCB3aW5uZXIgaW5mbyAqL1xuICBjdXN0b21EYXRhPzogUmVjb3JkPHN0cmluZywgYW55Pjtcbn1cblxuLyoqXG4gKiBBbmltYXRpb24gdHlwZSBmb3Igd2lubmVyIHJldmVhbC5cbiAqL1xuZXhwb3J0IHR5cGUgV2lubmVyQW5pbWF0aW9uVHlwZSA9XG4gIHwgJ25vbmUnXG4gIHwgJ2ZhZGUnXG4gIHwgJ3pvb20nXG4gIHwgJ3NsaWRlJ1xuICB8ICdjb25mZXR0aSdcbiAgfCAnc3BvdGxpZ2h0JztcblxuLyoqXG4gKiBEaXNwbGF5IG1vZGUgZm9yIHRoZSB3aW5uZXIuXG4gKi9cbmV4cG9ydCB0eXBlIFdpbm5lckRpc3BsYXlNb2RlID1cbiAgfCAnY29tcGFjdCcgICAgLy8gSnVzdCBuYW1lIGFuZCB0aWNrZXRcbiAgfCAnc3RhbmRhcmQnICAgLy8gTmFtZSwgdGlja2V0LCBwcml6ZVxuICB8ICdmdWxsJyAgICAgICAvLyBBbGwgaW5mbyB3aXRoIGltYWdlXG4gIHwgJ2NlbGVicmF0aW9uJzsgLy8gRnVsbCB3aXRoIGFuaW1hdGlvbnNcblxuLyoqXG4gKiBNZXRhZGF0YSBmb3IgdGhlIHdpbm5lciBkaXNwbGF5IGNvbXBvbmVudC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXaW5uZXJEaXNwbGF5TWV0YWRhdGEge1xuICAvKiogV2lubmVyIGluZm9ybWF0aW9uICovXG4gIHdpbm5lcjogV2lubmVySW5mbztcblxuICAvLyA9PT0gRGlzcGxheSBvcHRpb25zID09PVxuICAvKiogRGlzcGxheSBtb2RlICovXG4gIG1vZGU/OiBXaW5uZXJEaXNwbGF5TW9kZTtcbiAgLyoqIFNpemUgdmFyaWFudCAqL1xuICBzaXplPzogJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJztcbiAgLyoqIFNob3cgY29uZmV0dGkgYW5pbWF0aW9uICovXG4gIHNob3dDb25mZXR0aT86IGJvb2xlYW47XG4gIC8qKiBTaG93IHRyb3BoeSBpY29uICovXG4gIHNob3dUcm9waHk/OiBib29sZWFuO1xuICAvKiogU2hvdyB0aWNrZXQgbnVtYmVyICovXG4gIHNob3dUaWNrZXROdW1iZXI/OiBib29sZWFuO1xuICAvKiogU2hvdyBwcml6ZSBpbmZvICovXG4gIHNob3dQcml6ZT86IGJvb2xlYW47XG4gIC8qKiBTaG93IHByaXplIHZhbHVlICovXG4gIHNob3dQcml6ZVZhbHVlPzogYm9vbGVhbjtcbiAgLyoqIFNob3cgbG9jYXRpb24gKi9cbiAgc2hvd0xvY2F0aW9uPzogYm9vbGVhbjtcbiAgLyoqIE51bWJlciBwYWRkaW5nIGZvciB0aWNrZXQgKi9cbiAgbnVtYmVyUGFkZGluZz86IG51bWJlcjtcblxuICAvLyA9PT0gQW5pbWF0aW9uID09PVxuICAvKiogQW5pbWF0aW9uIHR5cGUgKi9cbiAgYW5pbWF0aW9uPzogV2lubmVyQW5pbWF0aW9uVHlwZTtcbiAgLyoqIEFuaW1hdGlvbiBkdXJhdGlvbiBpbiBtcyAqL1xuICBhbmltYXRpb25EdXJhdGlvbj86IG51bWJlcjtcbiAgLyoqIERlbGF5IGJlZm9yZSBzaG93aW5nIChmb3Igc3VzcGVuc2UpICovXG4gIHJldmVhbERlbGF5PzogbnVtYmVyO1xuICAvKiogQXV0by1wbGF5IGFuaW1hdGlvbiBvbiBpbml0ICovXG4gIGF1dG9QbGF5PzogYm9vbGVhbjtcblxuICAvLyA9PT0gU3R5bGluZyA9PT1cbiAgLyoqIENvbXBvbmVudCBjb2xvciAqL1xuICBjb2xvcj86IENvbG9yO1xuICAvKiogQ3VzdG9tIENTUyBjbGFzcyAqL1xuICBjc3NDbGFzcz86IHN0cmluZztcbiAgLyoqIEJhY2tncm91bmQgc3R5bGUgKi9cbiAgYmFja2dyb3VuZD86ICdzb2xpZCcgfCAnZ3JhZGllbnQnIHwgJ3RyYW5zcGFyZW50JztcblxuICAvLyA9PT0gTGFiZWxzID09PVxuICAvKiogV2lubmVyIGxhYmVsIChlLmcuLCBcIsKhR2FuYWRvciFcIikgKi9cbiAgd2lubmVyTGFiZWw/OiBzdHJpbmc7XG4gIC8qKiBUaWNrZXQgbGFiZWwgKGUuZy4sIFwiQm9sZXRvICNcIikgKi9cbiAgdGlja2V0TGFiZWw/OiBzdHJpbmc7XG4gIC8qKiBQcml6ZSBsYWJlbCAoZS5nLiwgXCJQcmVtaW86XCIpICovXG4gIHByaXplTGFiZWw/OiBzdHJpbmc7XG5cbiAgLy8gPT09IFJlYWN0aXZlIGNvbnRlbnQgPT09XG4gIC8qKiBDb250ZW50IGNsYXNzIGZvciByZWFjdGl2ZSBjb250ZW50ICovXG4gIGNvbnRlbnRDbGFzcz86IHN0cmluZztcbiAgLyoqIENvbnRlbnQga2V5IGZvciB3aW5uZXIgbGFiZWwgKi9cbiAgd2lubmVyTGFiZWxDb250ZW50S2V5Pzogc3RyaW5nO1xuICAvKiogQ29udGVudCBrZXkgZm9yIHRpY2tldCBsYWJlbCAqL1xuICB0aWNrZXRMYWJlbENvbnRlbnRLZXk/OiBzdHJpbmc7XG4gIC8qKiBDb250ZW50IGtleSBmb3IgcHJpemUgbGFiZWwgKi9cbiAgcHJpemVMYWJlbENvbnRlbnRLZXk/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogRXZlbnQgZW1pdHRlZCB3aGVuIGFuaW1hdGlvbiBjb21wbGV0ZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV2lubmVyRGlzcGxheUFuaW1hdGlvbkV2ZW50IHtcbiAgLyoqIEFuaW1hdGlvbiB0eXBlIHRoYXQgY29tcGxldGVkICovXG4gIGFuaW1hdGlvbjogV2lubmVyQW5pbWF0aW9uVHlwZTtcbiAgLyoqIFdpbm5lciBpbmZvICovXG4gIHdpbm5lcjogV2lubmVySW5mbztcbn1cblxuLyoqXG4gKiBEZWZhdWx0IGxhYmVscy5cbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfV0lOTkVSX0xBQkVMUyA9IHtcbiAgd2lubmVyOiAnwqFHYW5hZG9yIScsXG4gIHRpY2tldDogJ0JvbGV0byAjJyxcbiAgcHJpemU6ICdQcmVtaW86Jyxcbn07XG4iXX0=
|