@zentto/studio 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/designer/zs-app-wizard.d.ts +33 -0
- package/dist/designer/zs-app-wizard.d.ts.map +1 -0
- package/dist/designer/zs-app-wizard.js +493 -0
- package/dist/designer/zs-app-wizard.js.map +1 -0
- package/dist/designer/zs-page-designer.d.ts +30 -0
- package/dist/designer/zs-page-designer.d.ts.map +1 -0
- package/dist/designer/zs-page-designer.js +466 -0
- package/dist/designer/zs-page-designer.js.map +1 -0
- package/dist/fields/zs-field-address.d.ts +28 -0
- package/dist/fields/zs-field-address.d.ts.map +1 -0
- package/dist/fields/zs-field-address.js +129 -0
- package/dist/fields/zs-field-address.js.map +1 -0
- package/dist/fields/zs-field-chart.d.ts +27 -0
- package/dist/fields/zs-field-chart.d.ts.map +1 -0
- package/dist/fields/zs-field-chart.js +192 -0
- package/dist/fields/zs-field-chart.js.map +1 -0
- package/dist/fields/zs-field-checkbox.d.ts +33 -0
- package/dist/fields/zs-field-checkbox.d.ts.map +1 -0
- package/dist/fields/zs-field-checkbox.js +172 -0
- package/dist/fields/zs-field-checkbox.js.map +1 -0
- package/dist/fields/zs-field-chips.d.ts +38 -0
- package/dist/fields/zs-field-chips.d.ts.map +1 -0
- package/dist/fields/zs-field-chips.js +257 -0
- package/dist/fields/zs-field-chips.js.map +1 -0
- package/dist/fields/zs-field-date.d.ts +23 -0
- package/dist/fields/zs-field-date.d.ts.map +1 -0
- package/dist/fields/zs-field-date.js +98 -0
- package/dist/fields/zs-field-date.js.map +1 -0
- package/dist/fields/zs-field-file.d.ts +26 -0
- package/dist/fields/zs-field-file.d.ts.map +1 -0
- package/dist/fields/zs-field-file.js +190 -0
- package/dist/fields/zs-field-file.js.map +1 -0
- package/dist/fields/zs-field-heading.d.ts +14 -0
- package/dist/fields/zs-field-heading.d.ts.map +1 -0
- package/dist/fields/zs-field-heading.js +54 -0
- package/dist/fields/zs-field-heading.js.map +1 -0
- package/dist/fields/zs-field-html.d.ts +12 -0
- package/dist/fields/zs-field-html.d.ts.map +1 -0
- package/dist/fields/zs-field-html.js +38 -0
- package/dist/fields/zs-field-html.js.map +1 -0
- package/dist/fields/zs-field-lookup.d.ts +37 -0
- package/dist/fields/zs-field-lookup.d.ts.map +1 -0
- package/dist/fields/zs-field-lookup.js +204 -0
- package/dist/fields/zs-field-lookup.js.map +1 -0
- package/dist/fields/zs-field-media.d.ts +15 -0
- package/dist/fields/zs-field-media.d.ts.map +1 -0
- package/dist/fields/zs-field-media.js +59 -0
- package/dist/fields/zs-field-media.js.map +1 -0
- package/dist/fields/zs-field-number.d.ts +35 -0
- package/dist/fields/zs-field-number.d.ts.map +1 -0
- package/dist/fields/zs-field-number.js +192 -0
- package/dist/fields/zs-field-number.js.map +1 -0
- package/dist/fields/zs-field-select.d.ts +34 -0
- package/dist/fields/zs-field-select.d.ts.map +1 -0
- package/dist/fields/zs-field-select.js +237 -0
- package/dist/fields/zs-field-select.js.map +1 -0
- package/dist/fields/zs-field-separator.d.ts +12 -0
- package/dist/fields/zs-field-separator.d.ts.map +1 -0
- package/dist/fields/zs-field-separator.js +37 -0
- package/dist/fields/zs-field-separator.js.map +1 -0
- package/dist/fields/zs-field-signature.d.ts +34 -0
- package/dist/fields/zs-field-signature.d.ts.map +1 -0
- package/dist/fields/zs-field-signature.js +191 -0
- package/dist/fields/zs-field-signature.js.map +1 -0
- package/dist/fields/zs-field-switch.d.ts +19 -0
- package/dist/fields/zs-field-switch.d.ts.map +1 -0
- package/dist/fields/zs-field-switch.js +100 -0
- package/dist/fields/zs-field-switch.js.map +1 -0
- package/dist/fields/zs-field-text.d.ts +24 -0
- package/dist/fields/zs-field-text.d.ts.map +1 -0
- package/dist/fields/zs-field-text.js +115 -0
- package/dist/fields/zs-field-text.js.map +1 -0
- package/dist/fields/zs-field-treeview.d.ts +37 -0
- package/dist/fields/zs-field-treeview.d.ts.map +1 -0
- package/dist/fields/zs-field-treeview.js +234 -0
- package/dist/fields/zs-field-treeview.js.map +1 -0
- package/dist/styles/tokens.d.ts +3 -0
- package/dist/styles/tokens.d.ts.map +1 -0
- package/dist/styles/tokens.js +159 -0
- package/dist/styles/tokens.js.map +1 -0
- package/dist/zentto-studio-app.d.ts +55 -0
- package/dist/zentto-studio-app.d.ts.map +1 -0
- package/dist/zentto-studio-app.js +748 -0
- package/dist/zentto-studio-app.js.map +1 -0
- package/dist/zentto-studio-designer.d.ts +13 -0
- package/dist/zentto-studio-designer.d.ts.map +1 -0
- package/dist/zentto-studio-designer.js +75 -0
- package/dist/zentto-studio-designer.js.map +1 -0
- package/dist/zentto-studio-renderer.d.ts +53 -0
- package/dist/zentto-studio-renderer.d.ts.map +1 -0
- package/dist/zentto-studio-renderer.js +636 -0
- package/dist/zentto-studio-renderer.js.map +1 -0
- package/package.json +56 -0
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
// @zentto/studio — Chips/pills input field
|
|
2
|
+
// Modern chip input with autocomplete, colors, removable, draggable
|
|
3
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
4
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
5
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
6
|
+
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;
|
|
7
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
8
|
+
};
|
|
9
|
+
import { LitElement, html, css } from 'lit';
|
|
10
|
+
import { customElement, property, state } from 'lit/decorators.js';
|
|
11
|
+
import { fieldBaseStyles } from '../styles/tokens.js';
|
|
12
|
+
let ZsFieldChips = class ZsFieldChips extends LitElement {
|
|
13
|
+
constructor() {
|
|
14
|
+
super(...arguments);
|
|
15
|
+
this.fieldId = '';
|
|
16
|
+
this.label = '';
|
|
17
|
+
this.placeholder = 'Escriba y presione Enter...';
|
|
18
|
+
this.helpText = '';
|
|
19
|
+
this.value = [];
|
|
20
|
+
this.options = [];
|
|
21
|
+
this.required = false;
|
|
22
|
+
this.disabled = false;
|
|
23
|
+
this.allowCustom = true;
|
|
24
|
+
this.maxChips = 0; // 0 = unlimited
|
|
25
|
+
this.colorMode = 'default';
|
|
26
|
+
this.errors = [];
|
|
27
|
+
this.inputValue = '';
|
|
28
|
+
this.showSuggestions = false;
|
|
29
|
+
}
|
|
30
|
+
static { this.styles = [fieldBaseStyles, css `
|
|
31
|
+
:host { display: block; }
|
|
32
|
+
.zs-chips-wrapper {
|
|
33
|
+
display: flex; flex-wrap: wrap; gap: 6px;
|
|
34
|
+
padding: 6px 8px; min-height: var(--zs-input-height, 38px);
|
|
35
|
+
border: var(--zs-input-border, 1px solid #dee2e6);
|
|
36
|
+
border-radius: var(--zs-radius, 6px);
|
|
37
|
+
background: var(--zs-input-bg, white);
|
|
38
|
+
align-items: center; cursor: text;
|
|
39
|
+
transition: border-color var(--zs-transition, 150ms);
|
|
40
|
+
}
|
|
41
|
+
.zs-chips-wrapper:focus-within {
|
|
42
|
+
border-color: var(--zs-primary, #e67e22);
|
|
43
|
+
box-shadow: 0 0 0 3px var(--zs-primary-light, #fdebd0);
|
|
44
|
+
}
|
|
45
|
+
.zs-chip {
|
|
46
|
+
display: inline-flex; align-items: center; gap: 4px;
|
|
47
|
+
padding: 3px 10px; border-radius: 16px;
|
|
48
|
+
font-size: 13px; font-weight: 500;
|
|
49
|
+
background: var(--zs-bg-secondary, #f8f9fa);
|
|
50
|
+
color: var(--zs-text, #212529);
|
|
51
|
+
border: 1px solid var(--zs-border, #dee2e6);
|
|
52
|
+
transition: all var(--zs-transition, 150ms);
|
|
53
|
+
max-width: 200px;
|
|
54
|
+
}
|
|
55
|
+
.zs-chip:hover { background: var(--zs-bg-hover, #f1f3f5); }
|
|
56
|
+
.zs-chip--primary {
|
|
57
|
+
background: var(--zs-primary-light, #fdebd0);
|
|
58
|
+
color: var(--zs-primary, #e67e22);
|
|
59
|
+
border-color: transparent;
|
|
60
|
+
}
|
|
61
|
+
.zs-chip--success {
|
|
62
|
+
background: #d4edda; color: #155724; border-color: transparent;
|
|
63
|
+
}
|
|
64
|
+
.zs-chip--danger {
|
|
65
|
+
background: #f8d7da; color: #721c24; border-color: transparent;
|
|
66
|
+
}
|
|
67
|
+
.zs-chip--info {
|
|
68
|
+
background: #d1ecf1; color: #0c5460; border-color: transparent;
|
|
69
|
+
}
|
|
70
|
+
.zs-chip-icon { font-size: 14px; }
|
|
71
|
+
.zs-chip-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
72
|
+
.zs-chip-remove {
|
|
73
|
+
cursor: pointer; font-size: 14px; line-height: 1;
|
|
74
|
+
opacity: 0.6; transition: opacity 100ms;
|
|
75
|
+
border: none; background: none; padding: 0;
|
|
76
|
+
color: inherit;
|
|
77
|
+
}
|
|
78
|
+
.zs-chip-remove:hover { opacity: 1; }
|
|
79
|
+
.zs-chips-input {
|
|
80
|
+
border: none; outline: none; flex: 1; min-width: 80px;
|
|
81
|
+
font-family: var(--zs-font-family, sans-serif);
|
|
82
|
+
font-size: var(--zs-font-size, 14px);
|
|
83
|
+
background: transparent; color: var(--zs-text, #212529);
|
|
84
|
+
padding: 2px 4px;
|
|
85
|
+
}
|
|
86
|
+
.zs-chips-suggestions {
|
|
87
|
+
position: relative;
|
|
88
|
+
}
|
|
89
|
+
.zs-chips-dropdown {
|
|
90
|
+
position: absolute; top: 100%; left: 0; right: 0;
|
|
91
|
+
background: var(--zs-bg, white); border: 1px solid var(--zs-border, #dee2e6);
|
|
92
|
+
border-radius: var(--zs-radius, 6px);
|
|
93
|
+
box-shadow: 0 4px 12px var(--zs-shadow, rgba(0,0,0,0.08));
|
|
94
|
+
max-height: 200px; overflow-y: auto; z-index: 100;
|
|
95
|
+
margin-top: 2px;
|
|
96
|
+
}
|
|
97
|
+
.zs-chips-option {
|
|
98
|
+
padding: 8px 12px; cursor: pointer;
|
|
99
|
+
font-size: 13px; transition: background 100ms;
|
|
100
|
+
}
|
|
101
|
+
.zs-chips-option:hover { background: var(--zs-bg-hover, #f1f3f5); }
|
|
102
|
+
.zs-chips-option--disabled { opacity: 0.5; cursor: not-allowed; }
|
|
103
|
+
.zs-chip-count {
|
|
104
|
+
font-size: 11px; color: var(--zs-text-muted, #adb5bd);
|
|
105
|
+
margin-top: 4px;
|
|
106
|
+
}
|
|
107
|
+
`]; }
|
|
108
|
+
get filteredOptions() {
|
|
109
|
+
if (!this.inputValue)
|
|
110
|
+
return this.options.filter(o => !this.value.includes(o.value));
|
|
111
|
+
const q = this.inputValue.toLowerCase();
|
|
112
|
+
return this.options
|
|
113
|
+
.filter(o => !this.value.includes(o.value) && o.label.toLowerCase().includes(q));
|
|
114
|
+
}
|
|
115
|
+
addChip(chipValue) {
|
|
116
|
+
if (!chipValue.trim())
|
|
117
|
+
return;
|
|
118
|
+
if (this.maxChips > 0 && this.value.length >= this.maxChips)
|
|
119
|
+
return;
|
|
120
|
+
if (this.value.includes(chipValue))
|
|
121
|
+
return;
|
|
122
|
+
const newValue = [...this.value, chipValue];
|
|
123
|
+
this.inputValue = '';
|
|
124
|
+
this.showSuggestions = false;
|
|
125
|
+
this.dispatchEvent(new CustomEvent('field-change', {
|
|
126
|
+
detail: { fieldId: this.fieldId, value: newValue },
|
|
127
|
+
bubbles: true, composed: true,
|
|
128
|
+
}));
|
|
129
|
+
}
|
|
130
|
+
removeChip(chipValue) {
|
|
131
|
+
if (this.disabled)
|
|
132
|
+
return;
|
|
133
|
+
const newValue = this.value.filter(v => v !== chipValue);
|
|
134
|
+
this.dispatchEvent(new CustomEvent('field-change', {
|
|
135
|
+
detail: { fieldId: this.fieldId, value: newValue },
|
|
136
|
+
bubbles: true, composed: true,
|
|
137
|
+
}));
|
|
138
|
+
}
|
|
139
|
+
handleKeydown(e) {
|
|
140
|
+
if (e.key === 'Enter' || e.key === ',') {
|
|
141
|
+
e.preventDefault();
|
|
142
|
+
if (this.filteredOptions.length > 0) {
|
|
143
|
+
this.addChip(this.filteredOptions[0].value);
|
|
144
|
+
}
|
|
145
|
+
else if (this.allowCustom && this.inputValue.trim()) {
|
|
146
|
+
this.addChip(this.inputValue.trim());
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
else if (e.key === 'Backspace' && !this.inputValue && this.value.length > 0) {
|
|
150
|
+
this.removeChip(this.value[this.value.length - 1]);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
getChipClass(chipValue) {
|
|
154
|
+
if (this.colorMode === 'default')
|
|
155
|
+
return 'zs-chip';
|
|
156
|
+
if (this.colorMode !== 'auto')
|
|
157
|
+
return `zs-chip zs-chip--${this.colorMode}`;
|
|
158
|
+
// Auto: cycle through colors
|
|
159
|
+
const colors = ['primary', 'success', 'info', 'danger'];
|
|
160
|
+
const idx = this.value.indexOf(chipValue) % colors.length;
|
|
161
|
+
return `zs-chip zs-chip--${colors[idx]}`;
|
|
162
|
+
}
|
|
163
|
+
getChipLabel(chipValue) {
|
|
164
|
+
return this.options.find(o => o.value === chipValue)?.label ?? chipValue;
|
|
165
|
+
}
|
|
166
|
+
render() {
|
|
167
|
+
const hasError = this.errors.length > 0;
|
|
168
|
+
const labelClass = `zs-label ${this.required ? 'zs-label--required' : ''}`;
|
|
169
|
+
return html `
|
|
170
|
+
<div class="zs-field">
|
|
171
|
+
${this.label ? html `<label class="${labelClass}">${this.label}</label>` : ''}
|
|
172
|
+
<div class="zs-chips-suggestions">
|
|
173
|
+
<div class="zs-chips-wrapper" @click="${() => this.shadowRoot?.querySelector('.zs-chips-input')?.focus()}">
|
|
174
|
+
${this.value.map(v => html `
|
|
175
|
+
<span class="${this.getChipClass(v)}">
|
|
176
|
+
<span class="zs-chip-label">${this.getChipLabel(v)}</span>
|
|
177
|
+
${!this.disabled ? html `
|
|
178
|
+
<button class="zs-chip-remove" @click="${(e) => { e.stopPropagation(); this.removeChip(v); }}">×</button>
|
|
179
|
+
` : ''}
|
|
180
|
+
</span>
|
|
181
|
+
`)}
|
|
182
|
+
<input class="zs-chips-input"
|
|
183
|
+
.value="${this.inputValue}"
|
|
184
|
+
placeholder="${this.value.length === 0 ? this.placeholder : ''}"
|
|
185
|
+
?disabled="${this.disabled}"
|
|
186
|
+
@input="${(e) => { this.inputValue = e.target.value; this.showSuggestions = true; }}"
|
|
187
|
+
@keydown="${this.handleKeydown}"
|
|
188
|
+
@focus="${() => { this.showSuggestions = true; }}"
|
|
189
|
+
@blur="${() => { setTimeout(() => { this.showSuggestions = false; }, 200); }}"
|
|
190
|
+
/>
|
|
191
|
+
</div>
|
|
192
|
+
${this.showSuggestions && this.filteredOptions.length > 0 ? html `
|
|
193
|
+
<div class="zs-chips-dropdown">
|
|
194
|
+
${this.filteredOptions.slice(0, 20).map(opt => html `
|
|
195
|
+
<div class="zs-chips-option" @mousedown="${() => this.addChip(opt.value)}">
|
|
196
|
+
${opt.icon ? html `<span>${opt.icon} </span>` : ''}${opt.label}
|
|
197
|
+
</div>
|
|
198
|
+
`)}
|
|
199
|
+
</div>
|
|
200
|
+
` : ''}
|
|
201
|
+
</div>
|
|
202
|
+
${this.maxChips > 0 ? html `
|
|
203
|
+
<div class="zs-chip-count">${this.value.length} / ${this.maxChips}</div>
|
|
204
|
+
` : ''}
|
|
205
|
+
${hasError ? html `<span class="zs-error">${this.errors[0]}</span>` : ''}
|
|
206
|
+
${this.helpText && !hasError ? html `<span class="zs-help">${this.helpText}</span>` : ''}
|
|
207
|
+
</div>
|
|
208
|
+
`;
|
|
209
|
+
}
|
|
210
|
+
};
|
|
211
|
+
__decorate([
|
|
212
|
+
property()
|
|
213
|
+
], ZsFieldChips.prototype, "fieldId", void 0);
|
|
214
|
+
__decorate([
|
|
215
|
+
property()
|
|
216
|
+
], ZsFieldChips.prototype, "label", void 0);
|
|
217
|
+
__decorate([
|
|
218
|
+
property()
|
|
219
|
+
], ZsFieldChips.prototype, "placeholder", void 0);
|
|
220
|
+
__decorate([
|
|
221
|
+
property()
|
|
222
|
+
], ZsFieldChips.prototype, "helpText", void 0);
|
|
223
|
+
__decorate([
|
|
224
|
+
property({ type: Array })
|
|
225
|
+
], ZsFieldChips.prototype, "value", void 0);
|
|
226
|
+
__decorate([
|
|
227
|
+
property({ type: Array })
|
|
228
|
+
], ZsFieldChips.prototype, "options", void 0);
|
|
229
|
+
__decorate([
|
|
230
|
+
property({ type: Boolean })
|
|
231
|
+
], ZsFieldChips.prototype, "required", void 0);
|
|
232
|
+
__decorate([
|
|
233
|
+
property({ type: Boolean })
|
|
234
|
+
], ZsFieldChips.prototype, "disabled", void 0);
|
|
235
|
+
__decorate([
|
|
236
|
+
property({ type: Boolean })
|
|
237
|
+
], ZsFieldChips.prototype, "allowCustom", void 0);
|
|
238
|
+
__decorate([
|
|
239
|
+
property({ type: Number })
|
|
240
|
+
], ZsFieldChips.prototype, "maxChips", void 0);
|
|
241
|
+
__decorate([
|
|
242
|
+
property()
|
|
243
|
+
], ZsFieldChips.prototype, "colorMode", void 0);
|
|
244
|
+
__decorate([
|
|
245
|
+
property({ type: Array })
|
|
246
|
+
], ZsFieldChips.prototype, "errors", void 0);
|
|
247
|
+
__decorate([
|
|
248
|
+
state()
|
|
249
|
+
], ZsFieldChips.prototype, "inputValue", void 0);
|
|
250
|
+
__decorate([
|
|
251
|
+
state()
|
|
252
|
+
], ZsFieldChips.prototype, "showSuggestions", void 0);
|
|
253
|
+
ZsFieldChips = __decorate([
|
|
254
|
+
customElement('zs-field-chips')
|
|
255
|
+
], ZsFieldChips);
|
|
256
|
+
export { ZsFieldChips };
|
|
257
|
+
//# sourceMappingURL=zs-field-chips.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zs-field-chips.js","sourceRoot":"","sources":["../../src/fields/zs-field-chips.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
export declare class ZsFieldDate extends LitElement {
|
|
3
|
+
static styles: import("lit").CSSResult[];
|
|
4
|
+
fieldId: string;
|
|
5
|
+
label: string;
|
|
6
|
+
value: string;
|
|
7
|
+
helpText: string;
|
|
8
|
+
mode: 'date' | 'time' | 'datetime';
|
|
9
|
+
required: boolean;
|
|
10
|
+
disabled: boolean;
|
|
11
|
+
readOnly: boolean;
|
|
12
|
+
min: string;
|
|
13
|
+
max: string;
|
|
14
|
+
errors: string[];
|
|
15
|
+
private handleInput;
|
|
16
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
17
|
+
}
|
|
18
|
+
declare global {
|
|
19
|
+
interface HTMLElementTagNameMap {
|
|
20
|
+
'zs-field-date': ZsFieldDate;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=zs-field-date.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zs-field-date.d.ts","sourceRoot":"","sources":["../../src/fields/zs-field-date.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAI5C,qBACa,WAAY,SAAQ,UAAU;IACzC,MAAM,CAAC,MAAM,4BAEV;IAES,OAAO,SAAM;IACb,KAAK,SAAM;IACX,KAAK,SAAM;IACX,QAAQ,SAAM;IACd,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAAU;IAC3B,QAAQ,UAAS;IACjB,QAAQ,UAAS;IACjB,QAAQ,UAAS;IAClC,GAAG,SAAM;IACT,GAAG,SAAM;IACM,MAAM,EAAE,MAAM,EAAE,CAAM;IAEjD,OAAO,CAAC,WAAW;IAQnB,MAAM;CAyBP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,eAAe,EAAE,WAAW,CAAC;KAC9B;CACF"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
// @zentto/studio — Date field web component
|
|
2
|
+
// Handles: date, time, datetime
|
|
3
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
4
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
5
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
6
|
+
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;
|
|
7
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
8
|
+
};
|
|
9
|
+
import { LitElement, html, css } from 'lit';
|
|
10
|
+
import { customElement, property } from 'lit/decorators.js';
|
|
11
|
+
import { fieldBaseStyles } from '../styles/tokens.js';
|
|
12
|
+
let ZsFieldDate = class ZsFieldDate extends LitElement {
|
|
13
|
+
constructor() {
|
|
14
|
+
super(...arguments);
|
|
15
|
+
this.fieldId = '';
|
|
16
|
+
this.label = '';
|
|
17
|
+
this.value = '';
|
|
18
|
+
this.helpText = '';
|
|
19
|
+
this.mode = 'date';
|
|
20
|
+
this.required = false;
|
|
21
|
+
this.disabled = false;
|
|
22
|
+
this.readOnly = false;
|
|
23
|
+
this.min = '';
|
|
24
|
+
this.max = '';
|
|
25
|
+
this.errors = [];
|
|
26
|
+
}
|
|
27
|
+
static { this.styles = [fieldBaseStyles, css `
|
|
28
|
+
:host { display: block; }
|
|
29
|
+
`]; }
|
|
30
|
+
handleInput(e) {
|
|
31
|
+
const input = e.target;
|
|
32
|
+
this.dispatchEvent(new CustomEvent('field-change', {
|
|
33
|
+
detail: { fieldId: this.fieldId, value: input.value },
|
|
34
|
+
bubbles: true, composed: true,
|
|
35
|
+
}));
|
|
36
|
+
}
|
|
37
|
+
render() {
|
|
38
|
+
const hasError = this.errors.length > 0;
|
|
39
|
+
const inputClass = `zs-input ${hasError ? 'zs-input--error' : ''}`;
|
|
40
|
+
const labelClass = `zs-label ${this.required ? 'zs-label--required' : ''}`;
|
|
41
|
+
const inputType = this.mode === 'datetime' ? 'datetime-local' : this.mode;
|
|
42
|
+
return html `
|
|
43
|
+
<div class="zs-field">
|
|
44
|
+
${this.label ? html `<label class="${labelClass}">${this.label}</label>` : ''}
|
|
45
|
+
<input
|
|
46
|
+
class="${inputClass}"
|
|
47
|
+
type="${inputType}"
|
|
48
|
+
.value="${this.value ?? ''}"
|
|
49
|
+
min="${this.min}"
|
|
50
|
+
max="${this.max}"
|
|
51
|
+
?disabled="${this.disabled}"
|
|
52
|
+
?readonly="${this.readOnly}"
|
|
53
|
+
@input="${this.handleInput}"
|
|
54
|
+
/>
|
|
55
|
+
${hasError ? html `<span class="zs-error">${this.errors[0]}</span>` : ''}
|
|
56
|
+
${this.helpText && !hasError ? html `<span class="zs-help">${this.helpText}</span>` : ''}
|
|
57
|
+
</div>
|
|
58
|
+
`;
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
__decorate([
|
|
62
|
+
property()
|
|
63
|
+
], ZsFieldDate.prototype, "fieldId", void 0);
|
|
64
|
+
__decorate([
|
|
65
|
+
property()
|
|
66
|
+
], ZsFieldDate.prototype, "label", void 0);
|
|
67
|
+
__decorate([
|
|
68
|
+
property()
|
|
69
|
+
], ZsFieldDate.prototype, "value", void 0);
|
|
70
|
+
__decorate([
|
|
71
|
+
property()
|
|
72
|
+
], ZsFieldDate.prototype, "helpText", void 0);
|
|
73
|
+
__decorate([
|
|
74
|
+
property()
|
|
75
|
+
], ZsFieldDate.prototype, "mode", void 0);
|
|
76
|
+
__decorate([
|
|
77
|
+
property({ type: Boolean })
|
|
78
|
+
], ZsFieldDate.prototype, "required", void 0);
|
|
79
|
+
__decorate([
|
|
80
|
+
property({ type: Boolean })
|
|
81
|
+
], ZsFieldDate.prototype, "disabled", void 0);
|
|
82
|
+
__decorate([
|
|
83
|
+
property({ type: Boolean })
|
|
84
|
+
], ZsFieldDate.prototype, "readOnly", void 0);
|
|
85
|
+
__decorate([
|
|
86
|
+
property()
|
|
87
|
+
], ZsFieldDate.prototype, "min", void 0);
|
|
88
|
+
__decorate([
|
|
89
|
+
property()
|
|
90
|
+
], ZsFieldDate.prototype, "max", void 0);
|
|
91
|
+
__decorate([
|
|
92
|
+
property({ type: Array })
|
|
93
|
+
], ZsFieldDate.prototype, "errors", void 0);
|
|
94
|
+
ZsFieldDate = __decorate([
|
|
95
|
+
customElement('zs-field-date')
|
|
96
|
+
], ZsFieldDate);
|
|
97
|
+
export { ZsFieldDate };
|
|
98
|
+
//# sourceMappingURL=zs-field-date.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zs-field-date.js","sourceRoot":"","sources":["../../src/fields/zs-field-date.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
export declare class ZsFieldFile extends LitElement {
|
|
3
|
+
static styles: import("lit").CSSResult[];
|
|
4
|
+
fieldId: string;
|
|
5
|
+
label: string;
|
|
6
|
+
helpText: string;
|
|
7
|
+
accept: string;
|
|
8
|
+
required: boolean;
|
|
9
|
+
disabled: boolean;
|
|
10
|
+
multiple: boolean;
|
|
11
|
+
errors: string[];
|
|
12
|
+
private files;
|
|
13
|
+
private preview;
|
|
14
|
+
private dragover;
|
|
15
|
+
private handleFiles;
|
|
16
|
+
private handleDrop;
|
|
17
|
+
private removeFile;
|
|
18
|
+
private formatSize;
|
|
19
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
20
|
+
}
|
|
21
|
+
declare global {
|
|
22
|
+
interface HTMLElementTagNameMap {
|
|
23
|
+
'zs-field-file': ZsFieldFile;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=zs-field-file.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zs-field-file.d.ts","sourceRoot":"","sources":["../../src/fields/zs-field-file.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAI5C,qBACa,WAAY,SAAQ,UAAU;IACzC,MAAM,CAAC,MAAM,4BA2CV;IAES,OAAO,SAAM;IACb,KAAK,SAAM;IACX,QAAQ,SAAM;IACd,MAAM,SAAM;IACK,QAAQ,UAAS;IACjB,QAAQ,UAAS;IACjB,QAAQ,UAAS;IACnB,MAAM,EAAE,MAAM,EAAE,CAAM;IACxC,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,OAAO,CAAM;IACrB,OAAO,CAAC,QAAQ,CAAS;IAElC,OAAO,CAAC,WAAW;IAqBnB,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,UAAU;IAMlB,MAAM;CA2CP;AAED,OAAO,CAAC,MAAM,CAAC;IAAE,UAAU,qBAAqB;QAAG,eAAe,EAAE,WAAW,CAAC;KAAE;CAAE"}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
// @zentto/studio — File upload field
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
import { LitElement, html, css } from 'lit';
|
|
9
|
+
import { customElement, property, state } from 'lit/decorators.js';
|
|
10
|
+
import { fieldBaseStyles } from '../styles/tokens.js';
|
|
11
|
+
let ZsFieldFile = class ZsFieldFile extends LitElement {
|
|
12
|
+
constructor() {
|
|
13
|
+
super(...arguments);
|
|
14
|
+
this.fieldId = '';
|
|
15
|
+
this.label = '';
|
|
16
|
+
this.helpText = '';
|
|
17
|
+
this.accept = '';
|
|
18
|
+
this.required = false;
|
|
19
|
+
this.disabled = false;
|
|
20
|
+
this.multiple = false;
|
|
21
|
+
this.errors = [];
|
|
22
|
+
this.files = [];
|
|
23
|
+
this.preview = '';
|
|
24
|
+
this.dragover = false;
|
|
25
|
+
}
|
|
26
|
+
static { this.styles = [fieldBaseStyles, css `
|
|
27
|
+
:host { display: block; }
|
|
28
|
+
.zs-dropzone {
|
|
29
|
+
border: 2px dashed var(--zs-border);
|
|
30
|
+
border-radius: var(--zs-radius-lg);
|
|
31
|
+
padding: 24px;
|
|
32
|
+
text-align: center;
|
|
33
|
+
cursor: pointer;
|
|
34
|
+
transition: all var(--zs-transition);
|
|
35
|
+
background: var(--zs-bg-secondary);
|
|
36
|
+
}
|
|
37
|
+
.zs-dropzone:hover, .zs-dropzone--dragover {
|
|
38
|
+
border-color: var(--zs-primary);
|
|
39
|
+
background: var(--zs-primary-light);
|
|
40
|
+
}
|
|
41
|
+
.zs-dropzone-icon { font-size: 32px; margin-bottom: 8px; }
|
|
42
|
+
.zs-dropzone-text {
|
|
43
|
+
font-size: var(--zs-font-size);
|
|
44
|
+
color: var(--zs-text-secondary);
|
|
45
|
+
}
|
|
46
|
+
.zs-dropzone-hint {
|
|
47
|
+
font-size: var(--zs-font-size-sm);
|
|
48
|
+
color: var(--zs-text-muted);
|
|
49
|
+
margin-top: 4px;
|
|
50
|
+
}
|
|
51
|
+
.zs-file-list { margin-top: 8px; }
|
|
52
|
+
.zs-file-item {
|
|
53
|
+
display: flex; align-items: center; gap: 8px;
|
|
54
|
+
padding: 6px 10px; border-radius: var(--zs-radius);
|
|
55
|
+
background: var(--zs-bg-secondary); margin-bottom: 4px;
|
|
56
|
+
font-size: var(--zs-font-size-sm);
|
|
57
|
+
}
|
|
58
|
+
.zs-file-name { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
59
|
+
.zs-file-size { color: var(--zs-text-muted); }
|
|
60
|
+
.zs-file-remove {
|
|
61
|
+
cursor: pointer; color: var(--zs-danger); font-size: 16px;
|
|
62
|
+
border: none; background: none; padding: 0;
|
|
63
|
+
}
|
|
64
|
+
.zs-preview-img {
|
|
65
|
+
width: 100%; max-height: 200px; object-fit: contain;
|
|
66
|
+
border-radius: var(--zs-radius); margin-top: 8px;
|
|
67
|
+
}
|
|
68
|
+
input[type="file"] { display: none; }
|
|
69
|
+
`]; }
|
|
70
|
+
handleFiles(fileList) {
|
|
71
|
+
if (!fileList)
|
|
72
|
+
return;
|
|
73
|
+
const newFiles = Array.from(fileList);
|
|
74
|
+
this.files = this.multiple ? [...this.files, ...newFiles] : newFiles;
|
|
75
|
+
// Preview for images
|
|
76
|
+
if (this.accept.includes('image') && newFiles[0]) {
|
|
77
|
+
const reader = new FileReader();
|
|
78
|
+
reader.onload = () => { this.preview = reader.result; };
|
|
79
|
+
reader.readAsDataURL(newFiles[0]);
|
|
80
|
+
}
|
|
81
|
+
this.dispatchEvent(new CustomEvent('field-change', {
|
|
82
|
+
detail: {
|
|
83
|
+
fieldId: this.fieldId,
|
|
84
|
+
value: this.multiple ? this.files : this.files[0] ?? null,
|
|
85
|
+
},
|
|
86
|
+
bubbles: true, composed: true,
|
|
87
|
+
}));
|
|
88
|
+
}
|
|
89
|
+
handleDrop(e) {
|
|
90
|
+
e.preventDefault();
|
|
91
|
+
this.dragover = false;
|
|
92
|
+
this.handleFiles(e.dataTransfer?.files ?? null);
|
|
93
|
+
}
|
|
94
|
+
removeFile(index) {
|
|
95
|
+
this.files = this.files.filter((_, i) => i !== index);
|
|
96
|
+
if (this.files.length === 0)
|
|
97
|
+
this.preview = '';
|
|
98
|
+
this.dispatchEvent(new CustomEvent('field-change', {
|
|
99
|
+
detail: { fieldId: this.fieldId, value: this.multiple ? this.files : null },
|
|
100
|
+
bubbles: true, composed: true,
|
|
101
|
+
}));
|
|
102
|
+
}
|
|
103
|
+
formatSize(bytes) {
|
|
104
|
+
if (bytes < 1024)
|
|
105
|
+
return `${bytes} B`;
|
|
106
|
+
if (bytes < 1048576)
|
|
107
|
+
return `${(bytes / 1024).toFixed(1)} KB`;
|
|
108
|
+
return `${(bytes / 1048576).toFixed(1)} MB`;
|
|
109
|
+
}
|
|
110
|
+
render() {
|
|
111
|
+
const hasError = this.errors.length > 0;
|
|
112
|
+
const labelClass = `zs-label ${this.required ? 'zs-label--required' : ''}`;
|
|
113
|
+
const dropzoneClass = `zs-dropzone ${this.dragover ? 'zs-dropzone--dragover' : ''}`;
|
|
114
|
+
return html `
|
|
115
|
+
<div class="zs-field">
|
|
116
|
+
${this.label ? html `<label class="${labelClass}">${this.label}</label>` : ''}
|
|
117
|
+
<div
|
|
118
|
+
class="${dropzoneClass}"
|
|
119
|
+
@click="${() => this.shadowRoot?.querySelector('input')?.click()}"
|
|
120
|
+
@dragover="${(e) => { e.preventDefault(); this.dragover = true; }}"
|
|
121
|
+
@dragleave="${() => { this.dragover = false; }}"
|
|
122
|
+
@drop="${this.handleDrop}"
|
|
123
|
+
>
|
|
124
|
+
<div class="zs-dropzone-icon">📁</div>
|
|
125
|
+
<div class="zs-dropzone-text">Haga clic o arrastre archivos aqui</div>
|
|
126
|
+
${this.accept ? html `<div class="zs-dropzone-hint">Formatos: ${this.accept}</div>` : ''}
|
|
127
|
+
</div>
|
|
128
|
+
<input
|
|
129
|
+
type="file"
|
|
130
|
+
accept="${this.accept}"
|
|
131
|
+
?multiple="${this.multiple}"
|
|
132
|
+
?disabled="${this.disabled}"
|
|
133
|
+
@change="${(e) => this.handleFiles(e.target.files)}"
|
|
134
|
+
/>
|
|
135
|
+
${this.preview ? html `<img class="zs-preview-img" src="${this.preview}" alt="Preview" />` : ''}
|
|
136
|
+
${this.files.length > 0 ? html `
|
|
137
|
+
<div class="zs-file-list">
|
|
138
|
+
${this.files.map((f, i) => html `
|
|
139
|
+
<div class="zs-file-item">
|
|
140
|
+
<span class="zs-file-name">${f.name}</span>
|
|
141
|
+
<span class="zs-file-size">${this.formatSize(f.size)}</span>
|
|
142
|
+
<button class="zs-file-remove" @click="${() => this.removeFile(i)}">×</button>
|
|
143
|
+
</div>
|
|
144
|
+
`)}
|
|
145
|
+
</div>
|
|
146
|
+
` : ''}
|
|
147
|
+
${hasError ? html `<span class="zs-error">${this.errors[0]}</span>` : ''}
|
|
148
|
+
${this.helpText && !hasError ? html `<span class="zs-help">${this.helpText}</span>` : ''}
|
|
149
|
+
</div>
|
|
150
|
+
`;
|
|
151
|
+
}
|
|
152
|
+
};
|
|
153
|
+
__decorate([
|
|
154
|
+
property()
|
|
155
|
+
], ZsFieldFile.prototype, "fieldId", void 0);
|
|
156
|
+
__decorate([
|
|
157
|
+
property()
|
|
158
|
+
], ZsFieldFile.prototype, "label", void 0);
|
|
159
|
+
__decorate([
|
|
160
|
+
property()
|
|
161
|
+
], ZsFieldFile.prototype, "helpText", void 0);
|
|
162
|
+
__decorate([
|
|
163
|
+
property()
|
|
164
|
+
], ZsFieldFile.prototype, "accept", void 0);
|
|
165
|
+
__decorate([
|
|
166
|
+
property({ type: Boolean })
|
|
167
|
+
], ZsFieldFile.prototype, "required", void 0);
|
|
168
|
+
__decorate([
|
|
169
|
+
property({ type: Boolean })
|
|
170
|
+
], ZsFieldFile.prototype, "disabled", void 0);
|
|
171
|
+
__decorate([
|
|
172
|
+
property({ type: Boolean })
|
|
173
|
+
], ZsFieldFile.prototype, "multiple", void 0);
|
|
174
|
+
__decorate([
|
|
175
|
+
property({ type: Array })
|
|
176
|
+
], ZsFieldFile.prototype, "errors", void 0);
|
|
177
|
+
__decorate([
|
|
178
|
+
state()
|
|
179
|
+
], ZsFieldFile.prototype, "files", void 0);
|
|
180
|
+
__decorate([
|
|
181
|
+
state()
|
|
182
|
+
], ZsFieldFile.prototype, "preview", void 0);
|
|
183
|
+
__decorate([
|
|
184
|
+
state()
|
|
185
|
+
], ZsFieldFile.prototype, "dragover", void 0);
|
|
186
|
+
ZsFieldFile = __decorate([
|
|
187
|
+
customElement('zs-field-file')
|
|
188
|
+
], ZsFieldFile);
|
|
189
|
+
export { ZsFieldFile };
|
|
190
|
+
//# sourceMappingURL=zs-field-file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zs-field-file.js","sourceRoot":"","sources":["../../src/fields/zs-field-file.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
export declare class ZsFieldHeading extends LitElement {
|
|
3
|
+
static styles: import("lit").CSSResult;
|
|
4
|
+
label: string;
|
|
5
|
+
helpText: string;
|
|
6
|
+
level: 'h1' | 'h2' | 'h3' | 'h4';
|
|
7
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
8
|
+
}
|
|
9
|
+
declare global {
|
|
10
|
+
interface HTMLElementTagNameMap {
|
|
11
|
+
'zs-field-heading': ZsFieldHeading;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=zs-field-heading.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zs-field-heading.d.ts","sourceRoot":"","sources":["../../src/fields/zs-field-heading.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAG5C,qBACa,cAAe,SAAQ,UAAU;IAC5C,MAAM,CAAC,MAAM,0BAgBX;IAEU,KAAK,SAAM;IACX,QAAQ,SAAM;IACd,KAAK,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAQ;IAEpD,MAAM;CAMP;AAED,OAAO,CAAC,MAAM,CAAC;IAAE,UAAU,qBAAqB;QAAG,kBAAkB,EAAE,cAAc,CAAC;KAAE;CAAE"}
|