@design.estate/dees-catalog 1.0.173
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/dist_bundle/bundle.js +2704 -0
- package/dist_bundle/bundle.js.map +7 -0
- package/dist_ts_web/00_commitinfo_data.d.ts +8 -0
- package/dist_ts_web/00_commitinfo_data.js +9 -0
- package/dist_ts_web/elements/dees-button-exit.d.ts +7 -0
- package/dist_ts_web/elements/dees-button-exit.js +52 -0
- package/dist_ts_web/elements/dees-button.d.ts +20 -0
- package/dist_ts_web/elements/dees-button.js +215 -0
- package/dist_ts_web/elements/dees-chips.d.ts +18 -0
- package/dist_ts_web/elements/dees-chips.js +124 -0
- package/dist_ts_web/elements/dees-contextmenu.d.ts +18 -0
- package/dist_ts_web/elements/dees-contextmenu.js +173 -0
- package/dist_ts_web/elements/dees-dataview-codebox.d.ts +15 -0
- package/dist_ts_web/elements/dees-dataview-codebox.js +177 -0
- package/dist_ts_web/elements/dees-dataview-statusobject.d.ts +14 -0
- package/dist_ts_web/elements/dees-dataview-statusobject.js +163 -0
- package/dist_ts_web/elements/dees-form-submit.d.ts +17 -0
- package/dist_ts_web/elements/dees-form-submit.js +68 -0
- package/dist_ts_web/elements/dees-form.d.ts +29 -0
- package/dist_ts_web/elements/dees-form.js +173 -0
- package/dist_ts_web/elements/dees-icon.d.ts +76 -0
- package/dist_ts_web/elements/dees-icon.js +153 -0
- package/dist_ts_web/elements/dees-input-checkbox.d.ts +18 -0
- package/dist_ts_web/elements/dees-input-checkbox.js +178 -0
- package/dist_ts_web/elements/dees-input-dropdown.d.ts +30 -0
- package/dist_ts_web/elements/dees-input-dropdown.js +185 -0
- package/dist_ts_web/elements/dees-input-fileupload.d.ts +24 -0
- package/dist_ts_web/elements/dees-input-fileupload.js +196 -0
- package/dist_ts_web/elements/dees-input-quantityselector.d.ts +19 -0
- package/dist_ts_web/elements/dees-input-quantityselector.js +122 -0
- package/dist_ts_web/elements/dees-input-radio.d.ts +19 -0
- package/dist_ts_web/elements/dees-input-radio.js +136 -0
- package/dist_ts_web/elements/dees-input-text.d.ts +26 -0
- package/dist_ts_web/elements/dees-input-text.js +183 -0
- package/dist_ts_web/elements/dees-mobilenavigation.d.ts +27 -0
- package/dist_ts_web/elements/dees-mobilenavigation.js +185 -0
- package/dist_ts_web/elements/dees-pdf.d.ts +17 -0
- package/dist_ts_web/elements/dees-pdf.js +108 -0
- package/dist_ts_web/elements/dees-preview.d.ts +1 -0
- package/dist_ts_web/elements/dees-preview.js +2 -0
- package/dist_ts_web/elements/dees-search.d.ts +1 -0
- package/dist_ts_web/elements/dees-search.js +2 -0
- package/dist_ts_web/elements/dees-searchbox.d.ts +1 -0
- package/dist_ts_web/elements/dees-searchbox.js +2 -0
- package/dist_ts_web/elements/dees-speechbubble.d.ts +18 -0
- package/dist_ts_web/elements/dees-speechbubble.js +153 -0
- package/dist_ts_web/elements/dees-spinner.d.ts +15 -0
- package/dist_ts_web/elements/dees-spinner.js +130 -0
- package/dist_ts_web/elements/dees-stepper.d.ts +29 -0
- package/dist_ts_web/elements/dees-stepper.js +231 -0
- package/dist_ts_web/elements/dees-table.d.ts +28 -0
- package/dist_ts_web/elements/dees-table.js +348 -0
- package/dist_ts_web/elements/dees-toast.d.ts +10 -0
- package/dist_ts_web/elements/dees-toast.js +29 -0
- package/dist_ts_web/elements/dees-tooltip.d.ts +1 -0
- package/dist_ts_web/elements/dees-tooltip.js +2 -0
- package/dist_ts_web/elements/dees-updater.d.ts +16 -0
- package/dist_ts_web/elements/dees-updater.js +91 -0
- package/dist_ts_web/elements/dees-windowlayer.d.ts +17 -0
- package/dist_ts_web/elements/dees-windowlayer.js +85 -0
- package/dist_ts_web/elements/index.d.ts +24 -0
- package/dist_ts_web/elements/index.js +25 -0
- package/dist_ts_web/elements/plugins.d.ts +4 -0
- package/dist_ts_web/elements/plugins.js +7 -0
- package/dist_ts_web/index.d.ts +2 -0
- package/dist_ts_web/index.js +3 -0
- package/license +22 -0
- package/npmextra.json +18 -0
- package/package.json +55 -0
- package/readme.md +39 -0
- package/ts_web/00_commitinfo_data.ts +8 -0
- package/ts_web/elements/dees-button-exit.ts +48 -0
- package/ts_web/elements/dees-button.ts +218 -0
- package/ts_web/elements/dees-chips.ts +124 -0
- package/ts_web/elements/dees-contextmenu.ts +181 -0
- package/ts_web/elements/dees-dataview-codebox.ts +178 -0
- package/ts_web/elements/dees-dataview-statusobject.ts +170 -0
- package/ts_web/elements/dees-form-submit.ts +70 -0
- package/ts_web/elements/dees-form.ts +191 -0
- package/ts_web/elements/dees-icon.ts +204 -0
- package/ts_web/elements/dees-input-checkbox.ts +175 -0
- package/ts_web/elements/dees-input-dropdown.ts +173 -0
- package/ts_web/elements/dees-input-fileupload.ts +195 -0
- package/ts_web/elements/dees-input-quantityselector.ts +113 -0
- package/ts_web/elements/dees-input-radio.ts +125 -0
- package/ts_web/elements/dees-input-text.ts +171 -0
- package/ts_web/elements/dees-mobilenavigation.ts +189 -0
- package/ts_web/elements/dees-pdf.ts +119 -0
- package/ts_web/elements/dees-preview.ts +0 -0
- package/ts_web/elements/dees-search.ts +0 -0
- package/ts_web/elements/dees-searchbox.ts +0 -0
- package/ts_web/elements/dees-speechbubble.ts +157 -0
- package/ts_web/elements/dees-spinner.ts +131 -0
- package/ts_web/elements/dees-stepper.ts +262 -0
- package/ts_web/elements/dees-table.ts +360 -0
- package/ts_web/elements/dees-toast.ts +26 -0
- package/ts_web/elements/dees-tooltip.ts +1 -0
- package/ts_web/elements/dees-updater.ts +90 -0
- package/ts_web/elements/dees-windowlayer.ts +85 -0
- package/ts_web/elements/index.ts +24 -0
- package/ts_web/elements/plugins.ts +13 -0
- package/ts_web/index.ts +2 -0
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { DeesElement, customElement, html, css, unsafeCSS, cssManager, property, } from '@design.estate/dees-element';
|
|
11
|
+
import * as domtools from '@design.estate/dees-domtools';
|
|
12
|
+
export let DeesStepper = class DeesStepper extends DeesElement {
|
|
13
|
+
static { this.demo = () => html `
|
|
14
|
+
<dees-stepper
|
|
15
|
+
.steps=${[
|
|
16
|
+
{
|
|
17
|
+
title: 'Whats your name?',
|
|
18
|
+
content: html `
|
|
19
|
+
<dees-form>
|
|
20
|
+
<dees-input-text
|
|
21
|
+
key="email"
|
|
22
|
+
label="Your Email"
|
|
23
|
+
value="hello@something.com"
|
|
24
|
+
disabled
|
|
25
|
+
></dees-input-text>
|
|
26
|
+
<dees-input-text key="firstName" required label="Vorname"></dees-input-text>
|
|
27
|
+
<dees-input-text key="lastName" required label="Nachname"></dees-input-text>
|
|
28
|
+
<dees-form-submit>Next</dees-form-submit>
|
|
29
|
+
</dees-form>
|
|
30
|
+
`,
|
|
31
|
+
validationFunc: async (stepperArg, elementArg) => {
|
|
32
|
+
const deesForm = elementArg.querySelector('dees-form');
|
|
33
|
+
deesForm.addEventListener('formData', (eventArg) => {
|
|
34
|
+
stepperArg.goNext();
|
|
35
|
+
});
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
title: 'Whats your mobile number?',
|
|
40
|
+
content: html ``,
|
|
41
|
+
},
|
|
42
|
+
]}
|
|
43
|
+
></dees-stepper>
|
|
44
|
+
`; }
|
|
45
|
+
constructor() {
|
|
46
|
+
super();
|
|
47
|
+
this.steps = [];
|
|
48
|
+
this.getIndexOfStep = (stepArg) => {
|
|
49
|
+
return this.steps.findIndex((stepArg2) => stepArg === stepArg2);
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
static { this.styles = [
|
|
53
|
+
cssManager.defaultStyles,
|
|
54
|
+
css `
|
|
55
|
+
:host {
|
|
56
|
+
position: absolute;
|
|
57
|
+
width: 100%;
|
|
58
|
+
height: 100%;
|
|
59
|
+
}
|
|
60
|
+
.stepperContainer {
|
|
61
|
+
position: absolute;
|
|
62
|
+
width: 100%;
|
|
63
|
+
height: 100%;
|
|
64
|
+
background: ${cssManager.bdTheme('#eeeeeb', '#000')};
|
|
65
|
+
overflow: hidden;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.step {
|
|
69
|
+
position: relative;
|
|
70
|
+
pointer-events: none;
|
|
71
|
+
overflow: hidden;
|
|
72
|
+
transition: all 0.7s ease-in-out;
|
|
73
|
+
max-width: 500px;
|
|
74
|
+
min-height: 300px;
|
|
75
|
+
border-radius: 3px;
|
|
76
|
+
background: ${cssManager.bdTheme('#ffffff', '#181818')};
|
|
77
|
+
border-top: 1px solid ${cssManager.bdTheme('#ffffff', '#181818')};
|
|
78
|
+
color: ${cssManager.bdTheme('#333', '#fff')};
|
|
79
|
+
margin: auto;
|
|
80
|
+
margin-bottom: 20px;
|
|
81
|
+
filter: opacity(0.5) grayscale(1);
|
|
82
|
+
box-shadow: 0px 0px 3px #00000010;
|
|
83
|
+
user-select: none;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.step.selected {
|
|
87
|
+
border-top: 1px solid #e4002b;
|
|
88
|
+
pointer-events: all;
|
|
89
|
+
filter: opacity(1) grayscale(0);
|
|
90
|
+
box-shadow: 0px 0px 5px #00000010;
|
|
91
|
+
user-select: auto;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.step.hiddenStep {
|
|
95
|
+
filter: opacity(0);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.step:last-child {
|
|
99
|
+
margin-bottom: 100vh;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.step .stepCounter {
|
|
103
|
+
position: absolute;
|
|
104
|
+
top: 0px;
|
|
105
|
+
right: 0px;
|
|
106
|
+
padding: 10px 15px;
|
|
107
|
+
font-size: 12px;
|
|
108
|
+
border-bottom-left-radius: 3px;
|
|
109
|
+
background: ${cssManager.bdTheme('#00000008', '#ffffff08')};
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.step .goBack {
|
|
113
|
+
position: absolute;
|
|
114
|
+
top: 0px;
|
|
115
|
+
left: 0px;
|
|
116
|
+
padding: 10px 15px;
|
|
117
|
+
font-size: 12px;
|
|
118
|
+
border-bottom-right-radius: 3px;
|
|
119
|
+
background: ${cssManager.bdTheme('#00000008', '#ffffff08')};
|
|
120
|
+
cursor: pointer;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
.step .goBack:hover {
|
|
124
|
+
background: ${cssManager.bdTheme('#00000012', '#ffffff12')};
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.step .title {
|
|
128
|
+
text-align: center;
|
|
129
|
+
padding-top: 50px;
|
|
130
|
+
font-family: 'Mona Sans', 'Inter', sans-serif;
|
|
131
|
+
font-size: 25px;
|
|
132
|
+
font-weight: 300;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.step .content {
|
|
136
|
+
padding: 20px;
|
|
137
|
+
}
|
|
138
|
+
`,
|
|
139
|
+
]; }
|
|
140
|
+
render() {
|
|
141
|
+
return html `
|
|
142
|
+
<div class="stepperContainer">
|
|
143
|
+
${this.steps.map((stepArg) => html `<div
|
|
144
|
+
class="step ${stepArg === this.selectedStep
|
|
145
|
+
? 'selected'
|
|
146
|
+
: null} ${this.getIndexOfStep(stepArg) > this.getIndexOfStep(this.selectedStep)
|
|
147
|
+
? 'hiddenStep'
|
|
148
|
+
: ''}"
|
|
149
|
+
>
|
|
150
|
+
${this.getIndexOfStep(stepArg) > 0
|
|
151
|
+
? html `<div class="goBack" @click=${this.goBack}><- go to previous step</div>`
|
|
152
|
+
: ``}
|
|
153
|
+
<div class="stepCounter">
|
|
154
|
+
Step ${this.steps.findIndex((elementArg) => elementArg === stepArg) + 1} of
|
|
155
|
+
${this.steps.length}
|
|
156
|
+
</div>
|
|
157
|
+
<div class="title">${stepArg.title}</div>
|
|
158
|
+
<div class="content">${stepArg.content}</div>
|
|
159
|
+
</div> `)}
|
|
160
|
+
</div>
|
|
161
|
+
`;
|
|
162
|
+
}
|
|
163
|
+
async firstUpdated() {
|
|
164
|
+
await this.domtoolsPromise;
|
|
165
|
+
await this.domtools.convenience.smartdelay.delayFor(0);
|
|
166
|
+
this.selectedStep = this.steps[0];
|
|
167
|
+
this.setScrollStatus();
|
|
168
|
+
}
|
|
169
|
+
async updated() {
|
|
170
|
+
this.setScrollStatus();
|
|
171
|
+
}
|
|
172
|
+
async setScrollStatus() {
|
|
173
|
+
const stepperContainer = this.shadowRoot.querySelector('.stepperContainer');
|
|
174
|
+
const firstStepElement = this.shadowRoot.querySelector('.step');
|
|
175
|
+
const selectedStepElement = this.shadowRoot.querySelector('.selected');
|
|
176
|
+
if (!selectedStepElement) {
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
if (!stepperContainer.style.paddingTop) {
|
|
180
|
+
stepperContainer.style.paddingTop = `${stepperContainer.offsetHeight / 2 - selectedStepElement.offsetHeight / 2}px`;
|
|
181
|
+
}
|
|
182
|
+
console.log('Setting scroll status');
|
|
183
|
+
console.log(selectedStepElement);
|
|
184
|
+
const scrollPosition = selectedStepElement.offsetTop -
|
|
185
|
+
stepperContainer.offsetHeight / 2 +
|
|
186
|
+
selectedStepElement.offsetHeight / 2;
|
|
187
|
+
console.log(scrollPosition);
|
|
188
|
+
const domtoolsInstance = await domtools.DomTools.setupDomTools();
|
|
189
|
+
if (!this.scroller) {
|
|
190
|
+
this.scroller = new domtools.plugins.SweetScroll({
|
|
191
|
+
vertical: true,
|
|
192
|
+
horizontal: false,
|
|
193
|
+
easing: 'easeInOutExpo',
|
|
194
|
+
duration: 700,
|
|
195
|
+
}, stepperContainer);
|
|
196
|
+
}
|
|
197
|
+
if (!this.selectedStep.validationFuncCalled && this.selectedStep.validationFunc) {
|
|
198
|
+
this.selectedStep.validationFuncCalled = true;
|
|
199
|
+
await this.selectedStep.validationFunc(this, selectedStepElement);
|
|
200
|
+
}
|
|
201
|
+
this.scroller.to(scrollPosition);
|
|
202
|
+
}
|
|
203
|
+
async goBack() {
|
|
204
|
+
const currentIndex = this.steps.findIndex((stepArg) => stepArg === this.selectedStep);
|
|
205
|
+
this.selectedStep = this.steps[currentIndex - 1];
|
|
206
|
+
await this.domtoolsPromise;
|
|
207
|
+
await this.domtools.convenience.smartdelay.delayFor(100);
|
|
208
|
+
this.selectedStep.onReturnToStepFunc?.(this, this.shadowRoot.querySelector('.selected'));
|
|
209
|
+
}
|
|
210
|
+
goNext() {
|
|
211
|
+
const currentIndex = this.steps.findIndex((stepArg) => stepArg === this.selectedStep);
|
|
212
|
+
this.selectedStep = this.steps[currentIndex + 1];
|
|
213
|
+
}
|
|
214
|
+
};
|
|
215
|
+
__decorate([
|
|
216
|
+
property({
|
|
217
|
+
type: Array,
|
|
218
|
+
}),
|
|
219
|
+
__metadata("design:type", Array)
|
|
220
|
+
], DeesStepper.prototype, "steps", void 0);
|
|
221
|
+
__decorate([
|
|
222
|
+
property({
|
|
223
|
+
type: Object,
|
|
224
|
+
}),
|
|
225
|
+
__metadata("design:type", Object)
|
|
226
|
+
], DeesStepper.prototype, "selectedStep", void 0);
|
|
227
|
+
DeesStepper = __decorate([
|
|
228
|
+
customElement('dees-stepper'),
|
|
229
|
+
__metadata("design:paramtypes", [])
|
|
230
|
+
], DeesStepper);
|
|
231
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1zdGVwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHNfd2ViL2VsZW1lbnRzL2RlZXMtc3RlcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQ0wsV0FBVyxFQUNYLGFBQWEsRUFDYixJQUFJLEVBQ0osR0FBRyxFQUNILFNBQVMsRUFFVCxVQUFVLEVBQ1YsUUFBUSxHQUVULE1BQU0sNkJBQTZCLENBQUM7QUFFckMsT0FBTyxLQUFLLFFBQVEsTUFBTSw4QkFBOEIsQ0FBQztBQWlCbEQsV0FBTSxXQUFXLEdBQWpCLE1BQU0sV0FBWSxTQUFRLFdBQVc7YUFDNUIsU0FBSSxHQUFHLEdBQUcsRUFBRSxDQUN4QixJQUFJLENBQUE7O2lCQUVTO1FBQ1A7WUFDRSxLQUFLLEVBQUUsa0JBQWtCO1lBQ3pCLE9BQU8sRUFBRSxJQUFJLENBQUE7Ozs7Ozs7Ozs7OzthQVlaO1lBQ0QsY0FBYyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLEVBQUU7Z0JBQy9DLE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ3ZELFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRTtvQkFDakQsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUN0QixDQUFDLENBQUMsQ0FBQztZQUNMLENBQUM7U0FDRjtRQUNEO1lBQ0UsS0FBSyxFQUFFLDJCQUEyQjtZQUNsQyxPQUFPLEVBQUUsSUFBSSxDQUFBLEVBQUU7U0FDaEI7S0FDUzs7S0FFZixBQWhDZSxDQWdDZDtJQVlKO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUFSSCxVQUFLLEdBQVksRUFBRSxDQUFDO1FBK0hwQixtQkFBYyxHQUFHLENBQUMsT0FBYyxFQUFVLEVBQUU7WUFDakQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEs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
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { DeesElement, type TemplateResult, type CSSResult } from '@design.estate/dees-element';
|
|
2
|
+
declare global {
|
|
3
|
+
interface HTMLElementTagNameMap {
|
|
4
|
+
'dees-table': DeesTable<any>;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
export interface IDataAction<T = any> {
|
|
8
|
+
name: string;
|
|
9
|
+
iconName: string;
|
|
10
|
+
useTableBehaviour?: 'upload' | 'cancelUpload' | 'none';
|
|
11
|
+
actionFunc: (itemArg: T) => Promise<any>;
|
|
12
|
+
}
|
|
13
|
+
export declare class DeesTable<T> extends DeesElement {
|
|
14
|
+
static demo: () => TemplateResult<1>;
|
|
15
|
+
heading1: string;
|
|
16
|
+
heading2: string;
|
|
17
|
+
data: T[];
|
|
18
|
+
dataActions: IDataAction[];
|
|
19
|
+
selectedDataRow: T;
|
|
20
|
+
type: 'normal' | 'highlighted' | 'discreet' | 'big';
|
|
21
|
+
status: 'normal' | 'pending' | 'success' | 'error';
|
|
22
|
+
files: File[];
|
|
23
|
+
fileWeakMap: WeakMap<object, any>;
|
|
24
|
+
constructor();
|
|
25
|
+
static styles: CSSResult[];
|
|
26
|
+
render(): TemplateResult;
|
|
27
|
+
firstUpdated(): Promise<void>;
|
|
28
|
+
}
|
|
@@ -0,0 +1,348 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { customElement, html, DeesElement, property, cssManager, css, unsafeCSS, state, } from '@design.estate/dees-element';
|
|
11
|
+
import * as domtools from '@design.estate/dees-domtools';
|
|
12
|
+
export let DeesTable = class DeesTable extends DeesElement {
|
|
13
|
+
static { this.demo = () => html `
|
|
14
|
+
<style>
|
|
15
|
+
.demoWrapper {
|
|
16
|
+
box-sizing: border-box;
|
|
17
|
+
position: absolute;
|
|
18
|
+
width: 100%;
|
|
19
|
+
height: 100%;
|
|
20
|
+
padding: 60px;
|
|
21
|
+
background: #000000;
|
|
22
|
+
}
|
|
23
|
+
</style>
|
|
24
|
+
<div class="demoWrapper">
|
|
25
|
+
<dees-table
|
|
26
|
+
heading1="Current Account Statement"
|
|
27
|
+
heading2="Bunq - Payment Account 2 - April 2021"
|
|
28
|
+
.data=${[
|
|
29
|
+
{
|
|
30
|
+
date: '2021-04-01',
|
|
31
|
+
amount: '2464.65 €',
|
|
32
|
+
description: 'Printing Paper (Office Supplies) - STAPLES BREMEN',
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
date: '2021-04-02',
|
|
36
|
+
amount: '165.65 €',
|
|
37
|
+
description: 'Logitech Mouse (Hardware) - logi.com OnlineShop',
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
date: '2021-04-03',
|
|
41
|
+
amount: '2999,00 €',
|
|
42
|
+
description: 'Macbook Pro 16inch (Hardware) - Apple.de OnlineShop',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
date: '2021-04-01',
|
|
46
|
+
amount: '2464.65 €',
|
|
47
|
+
description: 'Office-Supplies - STAPLES BREMEN',
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
date: '2021-04-01',
|
|
51
|
+
amount: '2464.65 €',
|
|
52
|
+
description: 'Office-Supplies - STAPLES BREMEN',
|
|
53
|
+
},
|
|
54
|
+
]}
|
|
55
|
+
.dataActions="${[{
|
|
56
|
+
name: 'upload',
|
|
57
|
+
iconName: 'upload',
|
|
58
|
+
useTableBehaviour: 'upload',
|
|
59
|
+
actionFunc: async (itemArg) => {
|
|
60
|
+
},
|
|
61
|
+
}, {
|
|
62
|
+
name: 'visibility',
|
|
63
|
+
iconName: 'visibility',
|
|
64
|
+
useTableBehaviour: 'preview',
|
|
65
|
+
actionFunc: async (itemArg) => {
|
|
66
|
+
},
|
|
67
|
+
}]}"
|
|
68
|
+
>This is a slotted Text</dees-table>
|
|
69
|
+
</div>
|
|
70
|
+
`; }
|
|
71
|
+
constructor() {
|
|
72
|
+
super();
|
|
73
|
+
// INSTANCE
|
|
74
|
+
this.heading1 = 'heading 1';
|
|
75
|
+
this.heading2 = 'heading 2';
|
|
76
|
+
this.data = [];
|
|
77
|
+
this.dataActions = [];
|
|
78
|
+
this.type = 'normal';
|
|
79
|
+
this.status = 'normal';
|
|
80
|
+
this.files = [];
|
|
81
|
+
this.fileWeakMap = new WeakMap();
|
|
82
|
+
}
|
|
83
|
+
static { this.styles = [
|
|
84
|
+
cssManager.defaultStyles,
|
|
85
|
+
css `
|
|
86
|
+
.mainbox {
|
|
87
|
+
color: ${cssManager.bdTheme('#333', '#fff')};
|
|
88
|
+
font-family: 'Mona Sans', 'Inter', sans-serif;
|
|
89
|
+
font-weight: 400;
|
|
90
|
+
font-size: 16px;
|
|
91
|
+
padding: 16px;
|
|
92
|
+
display: block;
|
|
93
|
+
width: 100%;
|
|
94
|
+
min-height: 50px;
|
|
95
|
+
background: ${cssManager.bdTheme('#ffffff', '#333333')};
|
|
96
|
+
border-radius: 3px;
|
|
97
|
+
border-top: 1px solid ${cssManager.bdTheme('#fff', '#444')};
|
|
98
|
+
box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.3);
|
|
99
|
+
overflow-x: auto;
|
|
100
|
+
}
|
|
101
|
+
.headingSeparation {
|
|
102
|
+
margin-top: 7px;
|
|
103
|
+
border-bottom: 1px solid ${cssManager.bdTheme('#bcbcbc', '#bcbcbc')};
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
table,
|
|
107
|
+
.noDataSet {
|
|
108
|
+
margin-top: 16px;
|
|
109
|
+
color: ${cssManager.bdTheme('#333', '#fff')};
|
|
110
|
+
border-collapse: collapse;
|
|
111
|
+
width: 100%;
|
|
112
|
+
}
|
|
113
|
+
.noDataSet {
|
|
114
|
+
text-align: center;
|
|
115
|
+
}
|
|
116
|
+
tr {
|
|
117
|
+
border-bottom: 1px dashed ${cssManager.bdTheme('#999', '#808080')};
|
|
118
|
+
text-align: left;
|
|
119
|
+
}
|
|
120
|
+
tr:last-child {
|
|
121
|
+
border-bottom: none;
|
|
122
|
+
text-align: left;
|
|
123
|
+
}
|
|
124
|
+
tr:hover {
|
|
125
|
+
cursor: pointer;
|
|
126
|
+
}
|
|
127
|
+
tr:hover .innerCellContainer {
|
|
128
|
+
background: ${cssManager.bdTheme('#22222210', '#ffffff20')};
|
|
129
|
+
}
|
|
130
|
+
tr:first-child:hover {
|
|
131
|
+
cursor: auto;
|
|
132
|
+
}
|
|
133
|
+
tr:first-child:hover .innerCellContainer {
|
|
134
|
+
background: none;
|
|
135
|
+
}
|
|
136
|
+
tr.selected .innerCellContainer {
|
|
137
|
+
background: ${cssManager.bdTheme('#22222220', '#ffffff20')};
|
|
138
|
+
}
|
|
139
|
+
th {
|
|
140
|
+
text-transform: uppercase;
|
|
141
|
+
}
|
|
142
|
+
th,
|
|
143
|
+
td {
|
|
144
|
+
padding: 3px 0px;
|
|
145
|
+
border-right: 1px dashed ${cssManager.bdTheme('#999', '#808080')};
|
|
146
|
+
}
|
|
147
|
+
.innerCellContainer {
|
|
148
|
+
padding: 6px 8px;
|
|
149
|
+
}
|
|
150
|
+
th:first-child .innerCellContainer,
|
|
151
|
+
td:first-child .innerCellContainer {
|
|
152
|
+
padding-left: 0px;
|
|
153
|
+
}
|
|
154
|
+
th:last-child .innerCellContainer,
|
|
155
|
+
td:last-child .innerCellContainer {
|
|
156
|
+
padding-right: 0px;
|
|
157
|
+
}
|
|
158
|
+
th:last-child,
|
|
159
|
+
td:last-child {
|
|
160
|
+
border-right: none;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
.action {
|
|
164
|
+
margin: -8px 0px;
|
|
165
|
+
padding: 8px;
|
|
166
|
+
line-height: 16px;
|
|
167
|
+
display: inline-block;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
.action:first-child {
|
|
171
|
+
margin-left: -8px;
|
|
172
|
+
width: min-content;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
.action:hover {
|
|
176
|
+
background: ${cssManager.bdTheme('#CCC', '#111')};
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
.tableStatistics {
|
|
180
|
+
padding: 4px 16px;
|
|
181
|
+
font-size: 12px;
|
|
182
|
+
color: ${cssManager.bdTheme('#111', '#ffffff90')};
|
|
183
|
+
background: ${cssManager.bdTheme('#eeeeeb', '#00000050')};
|
|
184
|
+
margin: 16px -16px -16px -16px;
|
|
185
|
+
border-bottom-left-radius: 3px;
|
|
186
|
+
border-bottom-right-radius: 3px;
|
|
187
|
+
}
|
|
188
|
+
`,
|
|
189
|
+
]; }
|
|
190
|
+
render() {
|
|
191
|
+
return html `
|
|
192
|
+
<div class="mainbox">
|
|
193
|
+
<!-- the heading part -->
|
|
194
|
+
<div>${this.heading1}</div>
|
|
195
|
+
<div>${this.heading2}</div>
|
|
196
|
+
<div class="headingSeparation"></div>
|
|
197
|
+
|
|
198
|
+
<!-- the actual table -->
|
|
199
|
+
<style></style>
|
|
200
|
+
${this.data.length > 0
|
|
201
|
+
? (() => {
|
|
202
|
+
const headings = Object.keys(this.data[0]);
|
|
203
|
+
return html `
|
|
204
|
+
<table>
|
|
205
|
+
<tr>
|
|
206
|
+
${headings.map((headingArg) => html `
|
|
207
|
+
<th>
|
|
208
|
+
<div class="innerCellContainer">${headingArg}</div>
|
|
209
|
+
</th>
|
|
210
|
+
`)}
|
|
211
|
+
${(() => {
|
|
212
|
+
if (this.dataActions && this.dataActions.length > 0) {
|
|
213
|
+
return html `
|
|
214
|
+
<th>
|
|
215
|
+
<div class="innerCellContainer">Actions</div>
|
|
216
|
+
</th>
|
|
217
|
+
`;
|
|
218
|
+
}
|
|
219
|
+
})()}
|
|
220
|
+
</tr>
|
|
221
|
+
${this.data.map((itemArg) => html `
|
|
222
|
+
<tr
|
|
223
|
+
@click=${() => {
|
|
224
|
+
this.selectedDataRow = itemArg;
|
|
225
|
+
}}
|
|
226
|
+
@dragenter=${async (eventArg) => {
|
|
227
|
+
console.log(eventArg.target.tagName);
|
|
228
|
+
console.log('dragenter');
|
|
229
|
+
eventArg.preventDefault();
|
|
230
|
+
eventArg.stopPropagation();
|
|
231
|
+
eventArg.target.parentElement.style.background = '#800000';
|
|
232
|
+
}}
|
|
233
|
+
@dragleave=${async (eventArg) => {
|
|
234
|
+
console.log(eventArg.target.tagName);
|
|
235
|
+
console.log('dragleave');
|
|
236
|
+
eventArg.preventDefault();
|
|
237
|
+
eventArg.stopPropagation();
|
|
238
|
+
eventArg.target.parentElement.style.background = 'none';
|
|
239
|
+
}}
|
|
240
|
+
@dragover=${async (eventArg) => {
|
|
241
|
+
eventArg.preventDefault();
|
|
242
|
+
}}
|
|
243
|
+
@drop=${async (eventArg) => {
|
|
244
|
+
eventArg.preventDefault();
|
|
245
|
+
const newFiles = [];
|
|
246
|
+
for (const file of Array.from(eventArg.dataTransfer.files)) {
|
|
247
|
+
this.files.push(file);
|
|
248
|
+
newFiles.push(file);
|
|
249
|
+
this.requestUpdate();
|
|
250
|
+
}
|
|
251
|
+
const result = this.fileWeakMap.get(itemArg);
|
|
252
|
+
if (!result) {
|
|
253
|
+
this.fileWeakMap.set(itemArg, newFiles);
|
|
254
|
+
}
|
|
255
|
+
else {
|
|
256
|
+
result.push(...newFiles);
|
|
257
|
+
}
|
|
258
|
+
}}
|
|
259
|
+
class="${itemArg === this.selectedDataRow ? 'selected' : ''}"
|
|
260
|
+
>
|
|
261
|
+
${headings.map((headingArg) => html `
|
|
262
|
+
<td>
|
|
263
|
+
<div class="innerCellContainer">${itemArg[headingArg]}</div>
|
|
264
|
+
</td>
|
|
265
|
+
`)}
|
|
266
|
+
${(() => {
|
|
267
|
+
if (this.dataActions && this.dataActions.length > 0) {
|
|
268
|
+
return html `
|
|
269
|
+
<td>
|
|
270
|
+
<div class="innerCellContainer">
|
|
271
|
+
${(() => {
|
|
272
|
+
const actions = [];
|
|
273
|
+
for (const action of this.dataActions) {
|
|
274
|
+
actions.push(html `<div class="action">${action.iconName ? html `
|
|
275
|
+
<dees-icon .iconName=${'upload_file'}></dees-icon>
|
|
276
|
+
` : action.name}</div>`);
|
|
277
|
+
}
|
|
278
|
+
return actions;
|
|
279
|
+
})()}
|
|
280
|
+
</div>
|
|
281
|
+
</td>
|
|
282
|
+
`;
|
|
283
|
+
}
|
|
284
|
+
})()}
|
|
285
|
+
</tr>
|
|
286
|
+
`)}
|
|
287
|
+
</table>
|
|
288
|
+
`;
|
|
289
|
+
})()
|
|
290
|
+
: html ` <div class="noDataSet">No data set!</div> `}
|
|
291
|
+
<div class="tableStatistics">
|
|
292
|
+
${this.data.length} data rows (total) |
|
|
293
|
+
${this.selectedDataRow
|
|
294
|
+
? html `Row ${this.data.indexOf(this.selectedDataRow) + 1} selected`
|
|
295
|
+
: html `No row selected`}
|
|
296
|
+
</div>
|
|
297
|
+
</div>
|
|
298
|
+
`;
|
|
299
|
+
}
|
|
300
|
+
async firstUpdated() { }
|
|
301
|
+
};
|
|
302
|
+
__decorate([
|
|
303
|
+
property({
|
|
304
|
+
type: String,
|
|
305
|
+
}),
|
|
306
|
+
__metadata("design:type", String)
|
|
307
|
+
], DeesTable.prototype, "heading1", void 0);
|
|
308
|
+
__decorate([
|
|
309
|
+
property({
|
|
310
|
+
type: String,
|
|
311
|
+
}),
|
|
312
|
+
__metadata("design:type", String)
|
|
313
|
+
], DeesTable.prototype, "heading2", void 0);
|
|
314
|
+
__decorate([
|
|
315
|
+
property({
|
|
316
|
+
type: Array,
|
|
317
|
+
}),
|
|
318
|
+
__metadata("design:type", Array)
|
|
319
|
+
], DeesTable.prototype, "data", void 0);
|
|
320
|
+
__decorate([
|
|
321
|
+
property({
|
|
322
|
+
type: Array,
|
|
323
|
+
}),
|
|
324
|
+
__metadata("design:type", Array)
|
|
325
|
+
], DeesTable.prototype, "dataActions", void 0);
|
|
326
|
+
__decorate([
|
|
327
|
+
property({
|
|
328
|
+
type: Object,
|
|
329
|
+
}),
|
|
330
|
+
__metadata("design:type", Object)
|
|
331
|
+
], DeesTable.prototype, "selectedDataRow", void 0);
|
|
332
|
+
__decorate([
|
|
333
|
+
property({
|
|
334
|
+
type: String,
|
|
335
|
+
}),
|
|
336
|
+
__metadata("design:type", String)
|
|
337
|
+
], DeesTable.prototype, "type", void 0);
|
|
338
|
+
__decorate([
|
|
339
|
+
property({
|
|
340
|
+
type: String,
|
|
341
|
+
}),
|
|
342
|
+
__metadata("design:type", String)
|
|
343
|
+
], DeesTable.prototype, "status", void 0);
|
|
344
|
+
DeesTable = __decorate([
|
|
345
|
+
customElement('dees-table'),
|
|
346
|
+
__metadata("design:paramtypes", [])
|
|
347
|
+
], DeesTable);
|
|
348
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy10YWJsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX3dlYi9lbGVtZW50cy9kZWVzLXRhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFDTCxhQUFhLEVBQ2IsSUFBSSxFQUNKLFdBQVcsRUFDWCxRQUFRLEVBRVIsVUFBVSxFQUNWLEdBQUcsRUFDSCxTQUFTLEVBRVQsS0FBSyxHQUNOLE1BQU0sNkJBQTZCLENBQUM7QUFFckMsT0FBTyxLQUFLLFFBQVEsTUFBTSw4QkFBOEIsQ0FBQztBQWdCbEQsV0FBTSxTQUFTLEdBQWYsTUFBTSxTQUFhLFNBQVEsV0FBVzthQUM3QixTQUFJLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Z0JBZWpCO1FBQ047WUFDRSxJQUFJLEVBQUUsWUFBWTtZQUNsQixNQUFNLEVBQUUsV0FBVztZQUNuQixXQUFXLEVBQUUsbURBQW1EO1NBQ2pFO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsWUFBWTtZQUNsQixNQUFNLEVBQUUsVUFBVTtZQUNsQixXQUFXLEVBQUUsaURBQWlEO1NBQy9EO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsWUFBWTtZQUNsQixNQUFNLEVBQUUsV0FBVztZQUNuQixXQUFXLEVBQUUscURBQXFEO1NBQ25FO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsWUFBWTtZQUNsQixNQUFNLEVBQUUsV0FBVztZQUNuQixXQUFXLEVBQUUsa0NBQWtDO1NBQ2hEO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsWUFBWTtZQUNsQixNQUFNLEVBQUUsV0FBVztZQUNuQixXQUFXLEVBQUUsa0NBQWtDO1NBQ2hEO0tBQ0Y7d0JBQ2UsQ0FBQztZQUNmLElBQUksRUFBRSxRQUFRO1lBQ2QsUUFBUSxFQUFFLFFBQVE7WUFDbEIsaUJBQWlCLEVBQUUsUUFBUTtZQUMzQixVQUFVLEVBQUUsS0FBSyxFQUFFLE9BQVksRUFBRSxFQUFFO1lBRW5DLENBQUM7U0FDRixF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
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
|
2
|
+
declare global {
|
|
3
|
+
interface HTMLElementTagNameMap {
|
|
4
|
+
'dees-toast': DeesToast;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
export declare class DeesToast extends DeesElement {
|
|
8
|
+
constructor();
|
|
9
|
+
render(): TemplateResult;
|
|
10
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { customElement, DeesElement, html, } from '@design.estate/dees-element';
|
|
11
|
+
import * as domtools from '@design.estate/dees-domtools';
|
|
12
|
+
export let DeesToast = class DeesToast extends DeesElement {
|
|
13
|
+
constructor() {
|
|
14
|
+
super();
|
|
15
|
+
domtools.elementBasic.setup();
|
|
16
|
+
}
|
|
17
|
+
render() {
|
|
18
|
+
return html `
|
|
19
|
+
${domtools.elementBasic.styles}
|
|
20
|
+
<style></style>
|
|
21
|
+
|
|
22
|
+
`;
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
DeesToast = __decorate([
|
|
26
|
+
customElement('dees-toast'),
|
|
27
|
+
__metadata("design:paramtypes", [])
|
|
28
|
+
], DeesToast);
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy10b2FzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX3dlYi9lbGVtZW50cy9kZWVzLXRvYXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUF1QixJQUFJLEdBQW1CLE1BQU0sNkJBQTZCLENBQUM7QUFFckgsT0FBTyxLQUFLLFFBQVEsTUFBTSw4QkFBOEIsQ0FBQztBQVNsRCxXQUFNLFNBQVMsR0FBZixNQUFNLFNBQVUsU0FBUSxXQUFXO0lBRXhDO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUFDUixRQUFRLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFTSxNQUFNO1FBQ1gsT0FBTyxJQUFJLENBQUE7UUFDUCxRQUFRLENBQUMsWUFBWSxDQUFDLE1BQU07OztLQUcvQixDQUFDO0lBQ0osQ0FBQztDQUNGLENBQUE7QUFkWSxTQUFTO0lBRHJCLGFBQWEsQ0FBQyxZQUFZLENBQUM7O0dBQ2YsU0FBUyxDQWNyQiJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {} from '@design.estate/dees-element';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy10b29sdGlwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHNfd2ViL2VsZW1lbnRzL2RlZXMtdG9vbHRpcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQyJ9
|