@duskmoon-dev/el-input 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/README.md +147 -0
- package/dist/cjs/index.js +349 -0
- package/dist/cjs/index.js.map +11 -0
- package/dist/esm/index.js +317 -0
- package/dist/esm/index.js.map +11 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types/el-dm-input.d.ts +170 -0
- package/dist/types/el-dm-input.d.ts.map +1 -0
- package/dist/types/index.d.ts +19 -0
- package/dist/types/index.d.ts.map +1 -0
- package/package.json +46 -0
package/README.md
ADDED
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
# @duskmoon-dev/el-input
|
|
2
|
+
|
|
3
|
+
A text input component with label and validation states.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
bun add @duskmoon-dev/el-input
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```html
|
|
14
|
+
<script type="module">
|
|
15
|
+
import { register } from '@duskmoon-dev/el-input';
|
|
16
|
+
register();
|
|
17
|
+
</script>
|
|
18
|
+
|
|
19
|
+
<el-dm-input label="Username" placeholder="Enter username"></el-dm-input>
|
|
20
|
+
<el-dm-input label="Email" type="email" required></el-dm-input>
|
|
21
|
+
<el-dm-input
|
|
22
|
+
label="Password"
|
|
23
|
+
type="password"
|
|
24
|
+
validation-state="invalid"
|
|
25
|
+
error-message="Password is required"
|
|
26
|
+
></el-dm-input>
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Input Types
|
|
30
|
+
|
|
31
|
+
| Type | Description |
|
|
32
|
+
| ---------- | ----------------------------- |
|
|
33
|
+
| `text` | Standard text input (default) |
|
|
34
|
+
| `password` | Password input |
|
|
35
|
+
| `email` | Email input |
|
|
36
|
+
| `number` | Number input |
|
|
37
|
+
| `tel` | Telephone input |
|
|
38
|
+
| `url` | URL input |
|
|
39
|
+
| `search` | Search input |
|
|
40
|
+
|
|
41
|
+
## Sizes
|
|
42
|
+
|
|
43
|
+
| Size | Description |
|
|
44
|
+
| ---- | ---------------- |
|
|
45
|
+
| `sm` | Small |
|
|
46
|
+
| `md` | Medium (default) |
|
|
47
|
+
| `lg` | Large |
|
|
48
|
+
|
|
49
|
+
## Validation States
|
|
50
|
+
|
|
51
|
+
| State | Description |
|
|
52
|
+
| --------- | ------------------------------------------ |
|
|
53
|
+
| `valid` | Input is valid (green border) |
|
|
54
|
+
| `invalid` | Input is invalid (red border, shows error) |
|
|
55
|
+
| `pending` | Validation in progress (shows spinner) |
|
|
56
|
+
|
|
57
|
+
## Attributes
|
|
58
|
+
|
|
59
|
+
| Attribute | Type | Default | Description |
|
|
60
|
+
| ------------------ | ------- | ------- | ---------------- |
|
|
61
|
+
| `type` | string | `text` | Input type |
|
|
62
|
+
| `value` | string | `''` | Current value |
|
|
63
|
+
| `name` | string | | Form field name |
|
|
64
|
+
| `label` | string | | Label text |
|
|
65
|
+
| `placeholder` | string | | Placeholder text |
|
|
66
|
+
| `disabled` | boolean | `false` | Disable input |
|
|
67
|
+
| `readonly` | boolean | `false` | Make readonly |
|
|
68
|
+
| `required` | boolean | `false` | Mark as required |
|
|
69
|
+
| `size` | string | `md` | Input size |
|
|
70
|
+
| `validation-state` | string | | Validation state |
|
|
71
|
+
| `error-message` | string | | Error message |
|
|
72
|
+
| `helper-text` | string | | Helper text |
|
|
73
|
+
|
|
74
|
+
## Slots
|
|
75
|
+
|
|
76
|
+
| Slot | Description |
|
|
77
|
+
| -------- | -------------------- |
|
|
78
|
+
| `prefix` | Content before input |
|
|
79
|
+
| `suffix` | Content after input |
|
|
80
|
+
|
|
81
|
+
## CSS Parts
|
|
82
|
+
|
|
83
|
+
| Part | Description |
|
|
84
|
+
| --------------- | --------------------- |
|
|
85
|
+
| `container` | Outer container |
|
|
86
|
+
| `label` | Label element |
|
|
87
|
+
| `input-wrapper` | Wrapper around input |
|
|
88
|
+
| `input` | Native input element |
|
|
89
|
+
| `prefix` | Prefix slot wrapper |
|
|
90
|
+
| `suffix` | Suffix slot wrapper |
|
|
91
|
+
| `helper` | Helper text element |
|
|
92
|
+
| `error` | Error message element |
|
|
93
|
+
|
|
94
|
+
## Events
|
|
95
|
+
|
|
96
|
+
| Event | Detail | Description |
|
|
97
|
+
| ----------- | ------------------- | --------------- |
|
|
98
|
+
| `dm-input` | `{ value: string }` | Fired on input |
|
|
99
|
+
| `dm-change` | `{ value: string }` | Fired on change |
|
|
100
|
+
| `dm-focus` | | Fired on focus |
|
|
101
|
+
| `dm-blur` | | Fired on blur |
|
|
102
|
+
|
|
103
|
+
## CSS Custom Properties
|
|
104
|
+
|
|
105
|
+
| Property | Description |
|
|
106
|
+
| ------------------------------- | ------------------ |
|
|
107
|
+
| `--dm-input-height` | Input height |
|
|
108
|
+
| `--dm-input-padding-x` | Horizontal padding |
|
|
109
|
+
| `--dm-input-font-size` | Font size |
|
|
110
|
+
| `--dm-input-border-radius` | Border radius |
|
|
111
|
+
| `--dm-input-border-color` | Border color |
|
|
112
|
+
| `--dm-input-focus-border-color` | Focus border color |
|
|
113
|
+
|
|
114
|
+
## Examples
|
|
115
|
+
|
|
116
|
+
### With Icons
|
|
117
|
+
|
|
118
|
+
```html
|
|
119
|
+
<el-dm-input label="Search" type="search">
|
|
120
|
+
<span slot="prefix">🔍</span>
|
|
121
|
+
</el-dm-input>
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### With Validation
|
|
125
|
+
|
|
126
|
+
```html
|
|
127
|
+
<el-dm-input
|
|
128
|
+
label="Email"
|
|
129
|
+
type="email"
|
|
130
|
+
validation-state="invalid"
|
|
131
|
+
error-message="Please enter a valid email address"
|
|
132
|
+
></el-dm-input>
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### With Helper Text
|
|
136
|
+
|
|
137
|
+
```html
|
|
138
|
+
<el-dm-input
|
|
139
|
+
label="Password"
|
|
140
|
+
type="password"
|
|
141
|
+
helper-text="Must be at least 8 characters"
|
|
142
|
+
></el-dm-input>
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## License
|
|
146
|
+
|
|
147
|
+
MIT
|
|
@@ -0,0 +1,349 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __moduleCache = /* @__PURE__ */ new WeakMap;
|
|
6
|
+
var __toCommonJS = (from) => {
|
|
7
|
+
var entry = __moduleCache.get(from), desc;
|
|
8
|
+
if (entry)
|
|
9
|
+
return entry;
|
|
10
|
+
entry = __defProp({}, "__esModule", { value: true });
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function")
|
|
12
|
+
__getOwnPropNames(from).map((key) => !__hasOwnProp.call(entry, key) && __defProp(entry, key, {
|
|
13
|
+
get: () => from[key],
|
|
14
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
15
|
+
}));
|
|
16
|
+
__moduleCache.set(from, entry);
|
|
17
|
+
return entry;
|
|
18
|
+
};
|
|
19
|
+
var __export = (target, all) => {
|
|
20
|
+
for (var name in all)
|
|
21
|
+
__defProp(target, name, {
|
|
22
|
+
get: all[name],
|
|
23
|
+
enumerable: true,
|
|
24
|
+
configurable: true,
|
|
25
|
+
set: (newValue) => all[name] = () => newValue
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
// src/index.ts
|
|
30
|
+
var exports_src = {};
|
|
31
|
+
__export(exports_src, {
|
|
32
|
+
register: () => register,
|
|
33
|
+
ElDmInput: () => ElDmInput
|
|
34
|
+
});
|
|
35
|
+
module.exports = __toCommonJS(exports_src);
|
|
36
|
+
|
|
37
|
+
// src/el-dm-input.ts
|
|
38
|
+
var import_el_core = require("@duskmoon-dev/el-core");
|
|
39
|
+
var styles = import_el_core.css`
|
|
40
|
+
:host {
|
|
41
|
+
display: block;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
:host([hidden]) {
|
|
45
|
+
display: none !important;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.container {
|
|
49
|
+
display: flex;
|
|
50
|
+
flex-direction: column;
|
|
51
|
+
gap: var(--dm-spacing-xs, 0.25rem);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/* Label */
|
|
55
|
+
.label {
|
|
56
|
+
display: block;
|
|
57
|
+
font-size: var(--dm-font-size-sm, 0.875rem);
|
|
58
|
+
font-weight: var(--dm-font-weight-medium, 500);
|
|
59
|
+
color: var(--dm-gray-700, #374151);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.label.required::after {
|
|
63
|
+
content: ' *';
|
|
64
|
+
color: var(--dm-error, #ef4444);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/* Input wrapper */
|
|
68
|
+
.input-wrapper {
|
|
69
|
+
display: flex;
|
|
70
|
+
align-items: center;
|
|
71
|
+
gap: var(--dm-spacing-sm, 0.5rem);
|
|
72
|
+
border: 1px solid var(--dm-input-border-color, var(--dm-gray-300, #d1d5db));
|
|
73
|
+
border-radius: var(--dm-input-border-radius, var(--dm-radius-md, 0.5rem));
|
|
74
|
+
background-color: white;
|
|
75
|
+
transition:
|
|
76
|
+
border-color var(--dm-transition-fast, 150ms ease),
|
|
77
|
+
box-shadow var(--dm-transition-fast, 150ms ease);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.input-wrapper:hover:not(.disabled) {
|
|
81
|
+
border-color: var(--dm-gray-400, #9ca3af);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.input-wrapper.focused {
|
|
85
|
+
border-color: var(--dm-input-focus-border-color, var(--dm-primary, #3b82f6));
|
|
86
|
+
box-shadow: 0 0 0 3px color-mix(in srgb, var(--dm-primary, #3b82f6) 20%, transparent);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.input-wrapper.disabled {
|
|
90
|
+
background-color: var(--dm-gray-100, #f3f4f6);
|
|
91
|
+
cursor: not-allowed;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/* Validation states */
|
|
95
|
+
.input-wrapper.valid {
|
|
96
|
+
border-color: var(--dm-success, #22c55e);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.input-wrapper.valid.focused {
|
|
100
|
+
box-shadow: 0 0 0 3px color-mix(in srgb, var(--dm-success, #22c55e) 20%, transparent);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.input-wrapper.invalid {
|
|
104
|
+
border-color: var(--dm-error, #ef4444);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.input-wrapper.invalid.focused {
|
|
108
|
+
box-shadow: 0 0 0 3px color-mix(in srgb, var(--dm-error, #ef4444) 20%, transparent);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/* Size variants */
|
|
112
|
+
:host(:not([size])) .input-wrapper,
|
|
113
|
+
:host([size='md']) .input-wrapper {
|
|
114
|
+
min-height: var(--dm-input-height, 2.5rem);
|
|
115
|
+
padding: 0 var(--dm-input-padding-x, 0.75rem);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
:host([size='sm']) .input-wrapper {
|
|
119
|
+
min-height: var(--dm-input-height, 2rem);
|
|
120
|
+
padding: 0 var(--dm-input-padding-x, 0.5rem);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
:host([size='lg']) .input-wrapper {
|
|
124
|
+
min-height: var(--dm-input-height, 3rem);
|
|
125
|
+
padding: 0 var(--dm-input-padding-x, 1rem);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/* Native input */
|
|
129
|
+
input {
|
|
130
|
+
flex: 1;
|
|
131
|
+
min-width: 0;
|
|
132
|
+
border: none;
|
|
133
|
+
background: transparent;
|
|
134
|
+
font-family: inherit;
|
|
135
|
+
font-size: var(--dm-input-font-size, var(--dm-font-size-md, 1rem));
|
|
136
|
+
color: var(--dm-gray-900, #111827);
|
|
137
|
+
outline: none;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
:host([size='sm']) input {
|
|
141
|
+
font-size: var(--dm-input-font-size, var(--dm-font-size-sm, 0.875rem));
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
:host([size='lg']) input {
|
|
145
|
+
font-size: var(--dm-input-font-size, var(--dm-font-size-lg, 1.125rem));
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
input::placeholder {
|
|
149
|
+
color: var(--dm-gray-400, #9ca3af);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
input:disabled {
|
|
153
|
+
cursor: not-allowed;
|
|
154
|
+
color: var(--dm-gray-500, #6b7280);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
/* Prefix and suffix */
|
|
158
|
+
.prefix,
|
|
159
|
+
.suffix {
|
|
160
|
+
display: none;
|
|
161
|
+
flex-shrink: 0;
|
|
162
|
+
color: var(--dm-gray-500, #6b7280);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
.prefix.has-content,
|
|
166
|
+
.suffix.has-content {
|
|
167
|
+
display: flex;
|
|
168
|
+
align-items: center;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
/* Helper and error text */
|
|
172
|
+
.helper,
|
|
173
|
+
.error {
|
|
174
|
+
font-size: var(--dm-font-size-sm, 0.875rem);
|
|
175
|
+
margin-top: var(--dm-spacing-xs, 0.25rem);
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
.helper {
|
|
179
|
+
color: var(--dm-gray-500, #6b7280);
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
.error {
|
|
183
|
+
color: var(--dm-error, #ef4444);
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
/* Pending state spinner */
|
|
187
|
+
.pending-indicator {
|
|
188
|
+
display: none;
|
|
189
|
+
width: 1em;
|
|
190
|
+
height: 1em;
|
|
191
|
+
border: 2px solid var(--dm-gray-300, #d1d5db);
|
|
192
|
+
border-top-color: var(--dm-primary, #3b82f6);
|
|
193
|
+
border-radius: 50%;
|
|
194
|
+
animation: spin 0.6s linear infinite;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
:host([validation-state='pending']) .pending-indicator {
|
|
198
|
+
display: block;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
@keyframes spin {
|
|
202
|
+
to {
|
|
203
|
+
transform: rotate(360deg);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
`;
|
|
207
|
+
|
|
208
|
+
class ElDmInput extends import_el_core.BaseElement {
|
|
209
|
+
static properties = {
|
|
210
|
+
type: { type: String, reflect: true, default: "text" },
|
|
211
|
+
value: { type: String, reflect: true, default: "" },
|
|
212
|
+
name: { type: String, reflect: true },
|
|
213
|
+
label: { type: String, reflect: true },
|
|
214
|
+
placeholder: { type: String, reflect: true },
|
|
215
|
+
disabled: { type: Boolean, reflect: true },
|
|
216
|
+
readonly: { type: Boolean, reflect: true },
|
|
217
|
+
required: { type: Boolean, reflect: true },
|
|
218
|
+
size: { type: String, reflect: true },
|
|
219
|
+
validationState: { type: String, reflect: true, attribute: "validation-state" },
|
|
220
|
+
errorMessage: { type: String, reflect: true, attribute: "error-message" },
|
|
221
|
+
helperText: { type: String, reflect: true, attribute: "helper-text" }
|
|
222
|
+
};
|
|
223
|
+
_focused = false;
|
|
224
|
+
constructor() {
|
|
225
|
+
super();
|
|
226
|
+
this.attachStyles(styles);
|
|
227
|
+
}
|
|
228
|
+
connectedCallback() {
|
|
229
|
+
super.connectedCallback();
|
|
230
|
+
this.shadowRoot.addEventListener("slotchange", this._handleSlotChange.bind(this));
|
|
231
|
+
}
|
|
232
|
+
_handleSlotChange(event) {
|
|
233
|
+
const slot = event.target;
|
|
234
|
+
const wrapper = slot.parentElement;
|
|
235
|
+
if (wrapper) {
|
|
236
|
+
const hasContent = slot.assignedNodes().length > 0;
|
|
237
|
+
wrapper.classList.toggle("has-content", hasContent);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
_handleInput(event) {
|
|
241
|
+
const input = event.target;
|
|
242
|
+
this.value = input.value;
|
|
243
|
+
this.emit("dm-input", { value: this.value });
|
|
244
|
+
}
|
|
245
|
+
_handleChange(event) {
|
|
246
|
+
const input = event.target;
|
|
247
|
+
this.value = input.value;
|
|
248
|
+
this.emit("dm-change", { value: this.value });
|
|
249
|
+
}
|
|
250
|
+
_handleFocus() {
|
|
251
|
+
this._focused = true;
|
|
252
|
+
this.update();
|
|
253
|
+
this.emit("dm-focus");
|
|
254
|
+
}
|
|
255
|
+
_handleBlur() {
|
|
256
|
+
this._focused = false;
|
|
257
|
+
this.update();
|
|
258
|
+
this.emit("dm-blur");
|
|
259
|
+
}
|
|
260
|
+
focus() {
|
|
261
|
+
const input = this.shadowRoot.querySelector("input");
|
|
262
|
+
input?.focus();
|
|
263
|
+
}
|
|
264
|
+
blur() {
|
|
265
|
+
const input = this.shadowRoot.querySelector("input");
|
|
266
|
+
input?.blur();
|
|
267
|
+
}
|
|
268
|
+
select() {
|
|
269
|
+
const input = this.shadowRoot.querySelector("input");
|
|
270
|
+
input?.select();
|
|
271
|
+
}
|
|
272
|
+
update() {
|
|
273
|
+
super.update();
|
|
274
|
+
const input = this.shadowRoot.querySelector("input");
|
|
275
|
+
if (input) {
|
|
276
|
+
input.addEventListener("input", this._handleInput.bind(this));
|
|
277
|
+
input.addEventListener("change", this._handleChange.bind(this));
|
|
278
|
+
input.addEventListener("focus", this._handleFocus.bind(this));
|
|
279
|
+
input.addEventListener("blur", this._handleBlur.bind(this));
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
render() {
|
|
283
|
+
const wrapperClasses = [
|
|
284
|
+
"input-wrapper",
|
|
285
|
+
this._focused ? "focused" : "",
|
|
286
|
+
this.disabled ? "disabled" : "",
|
|
287
|
+
this.validationState || ""
|
|
288
|
+
].filter(Boolean).join(" ");
|
|
289
|
+
const labelClasses = ["label", this.required ? "required" : ""].filter(Boolean).join(" ");
|
|
290
|
+
const inputId = `input-${Math.random().toString(36).slice(2, 9)}`;
|
|
291
|
+
return `
|
|
292
|
+
<div class="container" part="container">
|
|
293
|
+
${this.label ? `
|
|
294
|
+
<label class="${labelClasses}" for="${inputId}" part="label">
|
|
295
|
+
${this.label}
|
|
296
|
+
</label>
|
|
297
|
+
` : ""}
|
|
298
|
+
|
|
299
|
+
<div class="${wrapperClasses}" part="input-wrapper">
|
|
300
|
+
<span class="prefix" part="prefix">
|
|
301
|
+
<slot name="prefix"></slot>
|
|
302
|
+
</span>
|
|
303
|
+
|
|
304
|
+
<input
|
|
305
|
+
id="${inputId}"
|
|
306
|
+
type="${this.type || "text"}"
|
|
307
|
+
name="${this.name || ""}"
|
|
308
|
+
value="${this.value || ""}"
|
|
309
|
+
placeholder="${this.placeholder || ""}"
|
|
310
|
+
${this.disabled ? "disabled" : ""}
|
|
311
|
+
${this.readonly ? "readonly" : ""}
|
|
312
|
+
${this.required ? "required" : ""}
|
|
313
|
+
aria-invalid="${this.validationState === "invalid" ? "true" : "false"}"
|
|
314
|
+
aria-describedby="${this.errorMessage ? "error" : this.helperText ? "helper" : ""}"
|
|
315
|
+
part="input"
|
|
316
|
+
/>
|
|
317
|
+
|
|
318
|
+
<span class="pending-indicator"></span>
|
|
319
|
+
|
|
320
|
+
<span class="suffix" part="suffix">
|
|
321
|
+
<slot name="suffix"></slot>
|
|
322
|
+
</span>
|
|
323
|
+
</div>
|
|
324
|
+
|
|
325
|
+
${this.validationState === "invalid" && this.errorMessage ? `
|
|
326
|
+
<span id="error" class="error" part="error" role="alert">
|
|
327
|
+
${this.errorMessage}
|
|
328
|
+
</span>
|
|
329
|
+
` : ""}
|
|
330
|
+
|
|
331
|
+
${this.helperText && this.validationState !== "invalid" ? `
|
|
332
|
+
<span id="helper" class="helper" part="helper">
|
|
333
|
+
${this.helperText}
|
|
334
|
+
</span>
|
|
335
|
+
` : ""}
|
|
336
|
+
</div>
|
|
337
|
+
`;
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
// src/index.ts
|
|
342
|
+
function register() {
|
|
343
|
+
if (!customElements.get("el-dm-input")) {
|
|
344
|
+
customElements.define("el-dm-input", ElDmInput);
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
//# debugId=ED31C0CC35F4FEEB64756E2164756E21
|
|
349
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/el-dm-input.ts", "../../src/index.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"/**\n * DuskMoon Input Element\n *\n * A text input component with label and validation states.\n *\n * @element el-dm-input\n *\n * @attr {string} type - Input type: text, password, email, number, tel, url, search\n * @attr {string} value - Current input value\n * @attr {string} name - Form field name\n * @attr {string} label - Label text\n * @attr {string} placeholder - Placeholder text\n * @attr {boolean} disabled - Whether the input is disabled\n * @attr {boolean} readonly - Whether the input is readonly\n * @attr {boolean} required - Whether the input is required\n * @attr {string} size - Input size: sm, md, lg\n * @attr {string} validation-state - Validation state: valid, invalid, pending\n * @attr {string} error-message - Error message to display\n * @attr {string} helper-text - Helper text to display\n *\n * @slot prefix - Content before the input\n * @slot suffix - Content after the input\n *\n * @csspart container - The outer container\n * @csspart label - The label element\n * @csspart input-wrapper - The wrapper around the input\n * @csspart input - The native input element\n * @csspart prefix - The prefix slot wrapper\n * @csspart suffix - The suffix slot wrapper\n * @csspart helper - The helper text element\n * @csspart error - The error message element\n *\n * @fires dm-input - Fired when value changes during input\n * @fires dm-change - Fired when value changes and input loses focus\n * @fires dm-focus - Fired when input gains focus\n * @fires dm-blur - Fired when input loses focus\n *\n * @cssprop --dm-input-height - Input height\n * @cssprop --dm-input-padding-x - Horizontal padding\n * @cssprop --dm-input-font-size - Font size\n * @cssprop --dm-input-border-radius - Border radius\n * @cssprop --dm-input-border-color - Border color\n * @cssprop --dm-input-focus-border-color - Border color when focused\n */\n\nimport { BaseElement, css } from '@duskmoon-dev/el-core';\nimport type { Size, ValidationState } from '@duskmoon-dev/el-core';\n\n/**\n * Supported input types\n */\nexport type InputType = 'text' | 'password' | 'email' | 'number' | 'tel' | 'url' | 'search';\n\nconst styles = css`\n :host {\n display: block;\n }\n\n :host([hidden]) {\n display: none !important;\n }\n\n .container {\n display: flex;\n flex-direction: column;\n gap: var(--dm-spacing-xs, 0.25rem);\n }\n\n /* Label */\n .label {\n display: block;\n font-size: var(--dm-font-size-sm, 0.875rem);\n font-weight: var(--dm-font-weight-medium, 500);\n color: var(--dm-gray-700, #374151);\n }\n\n .label.required::after {\n content: ' *';\n color: var(--dm-error, #ef4444);\n }\n\n /* Input wrapper */\n .input-wrapper {\n display: flex;\n align-items: center;\n gap: var(--dm-spacing-sm, 0.5rem);\n border: 1px solid var(--dm-input-border-color, var(--dm-gray-300, #d1d5db));\n border-radius: var(--dm-input-border-radius, var(--dm-radius-md, 0.5rem));\n background-color: white;\n transition:\n border-color var(--dm-transition-fast, 150ms ease),\n box-shadow var(--dm-transition-fast, 150ms ease);\n }\n\n .input-wrapper:hover:not(.disabled) {\n border-color: var(--dm-gray-400, #9ca3af);\n }\n\n .input-wrapper.focused {\n border-color: var(--dm-input-focus-border-color, var(--dm-primary, #3b82f6));\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--dm-primary, #3b82f6) 20%, transparent);\n }\n\n .input-wrapper.disabled {\n background-color: var(--dm-gray-100, #f3f4f6);\n cursor: not-allowed;\n }\n\n /* Validation states */\n .input-wrapper.valid {\n border-color: var(--dm-success, #22c55e);\n }\n\n .input-wrapper.valid.focused {\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--dm-success, #22c55e) 20%, transparent);\n }\n\n .input-wrapper.invalid {\n border-color: var(--dm-error, #ef4444);\n }\n\n .input-wrapper.invalid.focused {\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--dm-error, #ef4444) 20%, transparent);\n }\n\n /* Size variants */\n :host(:not([size])) .input-wrapper,\n :host([size='md']) .input-wrapper {\n min-height: var(--dm-input-height, 2.5rem);\n padding: 0 var(--dm-input-padding-x, 0.75rem);\n }\n\n :host([size='sm']) .input-wrapper {\n min-height: var(--dm-input-height, 2rem);\n padding: 0 var(--dm-input-padding-x, 0.5rem);\n }\n\n :host([size='lg']) .input-wrapper {\n min-height: var(--dm-input-height, 3rem);\n padding: 0 var(--dm-input-padding-x, 1rem);\n }\n\n /* Native input */\n input {\n flex: 1;\n min-width: 0;\n border: none;\n background: transparent;\n font-family: inherit;\n font-size: var(--dm-input-font-size, var(--dm-font-size-md, 1rem));\n color: var(--dm-gray-900, #111827);\n outline: none;\n }\n\n :host([size='sm']) input {\n font-size: var(--dm-input-font-size, var(--dm-font-size-sm, 0.875rem));\n }\n\n :host([size='lg']) input {\n font-size: var(--dm-input-font-size, var(--dm-font-size-lg, 1.125rem));\n }\n\n input::placeholder {\n color: var(--dm-gray-400, #9ca3af);\n }\n\n input:disabled {\n cursor: not-allowed;\n color: var(--dm-gray-500, #6b7280);\n }\n\n /* Prefix and suffix */\n .prefix,\n .suffix {\n display: none;\n flex-shrink: 0;\n color: var(--dm-gray-500, #6b7280);\n }\n\n .prefix.has-content,\n .suffix.has-content {\n display: flex;\n align-items: center;\n }\n\n /* Helper and error text */\n .helper,\n .error {\n font-size: var(--dm-font-size-sm, 0.875rem);\n margin-top: var(--dm-spacing-xs, 0.25rem);\n }\n\n .helper {\n color: var(--dm-gray-500, #6b7280);\n }\n\n .error {\n color: var(--dm-error, #ef4444);\n }\n\n /* Pending state spinner */\n .pending-indicator {\n display: none;\n width: 1em;\n height: 1em;\n border: 2px solid var(--dm-gray-300, #d1d5db);\n border-top-color: var(--dm-primary, #3b82f6);\n border-radius: 50%;\n animation: spin 0.6s linear infinite;\n }\n\n :host([validation-state='pending']) .pending-indicator {\n display: block;\n }\n\n @keyframes spin {\n to {\n transform: rotate(360deg);\n }\n }\n`;\n\nexport class ElDmInput extends BaseElement {\n static properties = {\n type: { type: String, reflect: true, default: 'text' },\n value: { type: String, reflect: true, default: '' },\n name: { type: String, reflect: true },\n label: { type: String, reflect: true },\n placeholder: { type: String, reflect: true },\n disabled: { type: Boolean, reflect: true },\n readonly: { type: Boolean, reflect: true },\n required: { type: Boolean, reflect: true },\n size: { type: String, reflect: true },\n validationState: { type: String, reflect: true, attribute: 'validation-state' },\n errorMessage: { type: String, reflect: true, attribute: 'error-message' },\n helperText: { type: String, reflect: true, attribute: 'helper-text' },\n };\n\n /** Input type */\n declare type: InputType;\n\n /** Current value */\n declare value: string;\n\n /** Form field name */\n declare name: string;\n\n /** Label text */\n declare label: string;\n\n /** Placeholder text */\n declare placeholder: string;\n\n /** Whether the input is disabled */\n declare disabled: boolean;\n\n /** Whether the input is readonly */\n declare readonly: boolean;\n\n /** Whether the input is required */\n declare required: boolean;\n\n /** Input size */\n declare size: Size;\n\n /** Validation state */\n declare validationState: ValidationState;\n\n /** Error message */\n declare errorMessage: string;\n\n /** Helper text */\n declare helperText: string;\n\n /** Whether the input is focused */\n private _focused = false;\n\n constructor() {\n super();\n this.attachStyles(styles);\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n this.shadowRoot.addEventListener('slotchange', this._handleSlotChange.bind(this));\n }\n\n /**\n * Handle slot content changes\n */\n private _handleSlotChange(event: Event): void {\n const slot = event.target as HTMLSlotElement;\n const wrapper = slot.parentElement;\n if (wrapper) {\n const hasContent = slot.assignedNodes().length > 0;\n wrapper.classList.toggle('has-content', hasContent);\n }\n }\n\n /**\n * Handle input events\n */\n private _handleInput(event: Event): void {\n const input = event.target as HTMLInputElement;\n this.value = input.value;\n\n this.emit('dm-input', { value: this.value });\n }\n\n /**\n * Handle change events\n */\n private _handleChange(event: Event): void {\n const input = event.target as HTMLInputElement;\n this.value = input.value;\n\n this.emit('dm-change', { value: this.value });\n }\n\n /**\n * Handle focus events\n */\n private _handleFocus(): void {\n this._focused = true;\n this.update();\n this.emit('dm-focus');\n }\n\n /**\n * Handle blur events\n */\n private _handleBlur(): void {\n this._focused = false;\n this.update();\n this.emit('dm-blur');\n }\n\n /**\n * Focus the input element\n */\n focus(): void {\n const input = this.shadowRoot.querySelector('input');\n input?.focus();\n }\n\n /**\n * Blur the input element\n */\n blur(): void {\n const input = this.shadowRoot.querySelector('input');\n input?.blur();\n }\n\n /**\n * Select all text in the input\n */\n select(): void {\n const input = this.shadowRoot.querySelector('input');\n input?.select();\n }\n\n protected update(): void {\n super.update();\n\n // Re-attach event listeners after render\n const input = this.shadowRoot.querySelector('input');\n if (input) {\n input.addEventListener('input', this._handleInput.bind(this));\n input.addEventListener('change', this._handleChange.bind(this));\n input.addEventListener('focus', this._handleFocus.bind(this));\n input.addEventListener('blur', this._handleBlur.bind(this));\n }\n }\n\n render(): string {\n const wrapperClasses = [\n 'input-wrapper',\n this._focused ? 'focused' : '',\n this.disabled ? 'disabled' : '',\n this.validationState || '',\n ]\n .filter(Boolean)\n .join(' ');\n\n const labelClasses = ['label', this.required ? 'required' : ''].filter(Boolean).join(' ');\n\n const inputId = `input-${Math.random().toString(36).slice(2, 9)}`;\n\n return `\n <div class=\"container\" part=\"container\">\n ${\n this.label\n ? `\n <label class=\"${labelClasses}\" for=\"${inputId}\" part=\"label\">\n ${this.label}\n </label>\n `\n : ''\n }\n\n <div class=\"${wrapperClasses}\" part=\"input-wrapper\">\n <span class=\"prefix\" part=\"prefix\">\n <slot name=\"prefix\"></slot>\n </span>\n\n <input\n id=\"${inputId}\"\n type=\"${this.type || 'text'}\"\n name=\"${this.name || ''}\"\n value=\"${this.value || ''}\"\n placeholder=\"${this.placeholder || ''}\"\n ${this.disabled ? 'disabled' : ''}\n ${this.readonly ? 'readonly' : ''}\n ${this.required ? 'required' : ''}\n aria-invalid=\"${this.validationState === 'invalid' ? 'true' : 'false'}\"\n aria-describedby=\"${this.errorMessage ? 'error' : this.helperText ? 'helper' : ''}\"\n part=\"input\"\n />\n\n <span class=\"pending-indicator\"></span>\n\n <span class=\"suffix\" part=\"suffix\">\n <slot name=\"suffix\"></slot>\n </span>\n </div>\n\n ${\n this.validationState === 'invalid' && this.errorMessage\n ? `\n <span id=\"error\" class=\"error\" part=\"error\" role=\"alert\">\n ${this.errorMessage}\n </span>\n `\n : ''\n }\n\n ${\n this.helperText && this.validationState !== 'invalid'\n ? `\n <span id=\"helper\" class=\"helper\" part=\"helper\">\n ${this.helperText}\n </span>\n `\n : ''\n }\n </div>\n `;\n }\n}\n",
|
|
6
|
+
"/**\n * @duskmoon-dev/el-input\n *\n * DuskMoon Input custom element\n */\n\nimport { ElDmInput } from './el-dm-input.js';\n\nexport { ElDmInput };\nexport type { InputType } from './el-dm-input.js';\n\n/**\n * Register the el-dm-input custom element\n *\n * @example\n * ```ts\n * import { register } from '@duskmoon-dev/el-input';\n * register();\n * ```\n */\nexport function register(): void {\n if (!customElements.get('el-dm-input')) {\n customElements.define('el-dm-input', ElDmInput);\n }\n}\n"
|
|
7
|
+
],
|
|
8
|
+
"mappings": "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",
|
|
9
|
+
"debugId": "ED31C0CC35F4FEEB64756E2164756E21",
|
|
10
|
+
"names": []
|
|
11
|
+
}
|
|
@@ -0,0 +1,317 @@
|
|
|
1
|
+
// src/el-dm-input.ts
|
|
2
|
+
import { BaseElement, css } from "@duskmoon-dev/el-core";
|
|
3
|
+
var styles = css`
|
|
4
|
+
:host {
|
|
5
|
+
display: block;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
:host([hidden]) {
|
|
9
|
+
display: none !important;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.container {
|
|
13
|
+
display: flex;
|
|
14
|
+
flex-direction: column;
|
|
15
|
+
gap: var(--dm-spacing-xs, 0.25rem);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/* Label */
|
|
19
|
+
.label {
|
|
20
|
+
display: block;
|
|
21
|
+
font-size: var(--dm-font-size-sm, 0.875rem);
|
|
22
|
+
font-weight: var(--dm-font-weight-medium, 500);
|
|
23
|
+
color: var(--dm-gray-700, #374151);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.label.required::after {
|
|
27
|
+
content: ' *';
|
|
28
|
+
color: var(--dm-error, #ef4444);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/* Input wrapper */
|
|
32
|
+
.input-wrapper {
|
|
33
|
+
display: flex;
|
|
34
|
+
align-items: center;
|
|
35
|
+
gap: var(--dm-spacing-sm, 0.5rem);
|
|
36
|
+
border: 1px solid var(--dm-input-border-color, var(--dm-gray-300, #d1d5db));
|
|
37
|
+
border-radius: var(--dm-input-border-radius, var(--dm-radius-md, 0.5rem));
|
|
38
|
+
background-color: white;
|
|
39
|
+
transition:
|
|
40
|
+
border-color var(--dm-transition-fast, 150ms ease),
|
|
41
|
+
box-shadow var(--dm-transition-fast, 150ms ease);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.input-wrapper:hover:not(.disabled) {
|
|
45
|
+
border-color: var(--dm-gray-400, #9ca3af);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.input-wrapper.focused {
|
|
49
|
+
border-color: var(--dm-input-focus-border-color, var(--dm-primary, #3b82f6));
|
|
50
|
+
box-shadow: 0 0 0 3px color-mix(in srgb, var(--dm-primary, #3b82f6) 20%, transparent);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.input-wrapper.disabled {
|
|
54
|
+
background-color: var(--dm-gray-100, #f3f4f6);
|
|
55
|
+
cursor: not-allowed;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/* Validation states */
|
|
59
|
+
.input-wrapper.valid {
|
|
60
|
+
border-color: var(--dm-success, #22c55e);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.input-wrapper.valid.focused {
|
|
64
|
+
box-shadow: 0 0 0 3px color-mix(in srgb, var(--dm-success, #22c55e) 20%, transparent);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.input-wrapper.invalid {
|
|
68
|
+
border-color: var(--dm-error, #ef4444);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.input-wrapper.invalid.focused {
|
|
72
|
+
box-shadow: 0 0 0 3px color-mix(in srgb, var(--dm-error, #ef4444) 20%, transparent);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/* Size variants */
|
|
76
|
+
:host(:not([size])) .input-wrapper,
|
|
77
|
+
:host([size='md']) .input-wrapper {
|
|
78
|
+
min-height: var(--dm-input-height, 2.5rem);
|
|
79
|
+
padding: 0 var(--dm-input-padding-x, 0.75rem);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
:host([size='sm']) .input-wrapper {
|
|
83
|
+
min-height: var(--dm-input-height, 2rem);
|
|
84
|
+
padding: 0 var(--dm-input-padding-x, 0.5rem);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
:host([size='lg']) .input-wrapper {
|
|
88
|
+
min-height: var(--dm-input-height, 3rem);
|
|
89
|
+
padding: 0 var(--dm-input-padding-x, 1rem);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/* Native input */
|
|
93
|
+
input {
|
|
94
|
+
flex: 1;
|
|
95
|
+
min-width: 0;
|
|
96
|
+
border: none;
|
|
97
|
+
background: transparent;
|
|
98
|
+
font-family: inherit;
|
|
99
|
+
font-size: var(--dm-input-font-size, var(--dm-font-size-md, 1rem));
|
|
100
|
+
color: var(--dm-gray-900, #111827);
|
|
101
|
+
outline: none;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
:host([size='sm']) input {
|
|
105
|
+
font-size: var(--dm-input-font-size, var(--dm-font-size-sm, 0.875rem));
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
:host([size='lg']) input {
|
|
109
|
+
font-size: var(--dm-input-font-size, var(--dm-font-size-lg, 1.125rem));
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
input::placeholder {
|
|
113
|
+
color: var(--dm-gray-400, #9ca3af);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
input:disabled {
|
|
117
|
+
cursor: not-allowed;
|
|
118
|
+
color: var(--dm-gray-500, #6b7280);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/* Prefix and suffix */
|
|
122
|
+
.prefix,
|
|
123
|
+
.suffix {
|
|
124
|
+
display: none;
|
|
125
|
+
flex-shrink: 0;
|
|
126
|
+
color: var(--dm-gray-500, #6b7280);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.prefix.has-content,
|
|
130
|
+
.suffix.has-content {
|
|
131
|
+
display: flex;
|
|
132
|
+
align-items: center;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/* Helper and error text */
|
|
136
|
+
.helper,
|
|
137
|
+
.error {
|
|
138
|
+
font-size: var(--dm-font-size-sm, 0.875rem);
|
|
139
|
+
margin-top: var(--dm-spacing-xs, 0.25rem);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
.helper {
|
|
143
|
+
color: var(--dm-gray-500, #6b7280);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
.error {
|
|
147
|
+
color: var(--dm-error, #ef4444);
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
/* Pending state spinner */
|
|
151
|
+
.pending-indicator {
|
|
152
|
+
display: none;
|
|
153
|
+
width: 1em;
|
|
154
|
+
height: 1em;
|
|
155
|
+
border: 2px solid var(--dm-gray-300, #d1d5db);
|
|
156
|
+
border-top-color: var(--dm-primary, #3b82f6);
|
|
157
|
+
border-radius: 50%;
|
|
158
|
+
animation: spin 0.6s linear infinite;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
:host([validation-state='pending']) .pending-indicator {
|
|
162
|
+
display: block;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
@keyframes spin {
|
|
166
|
+
to {
|
|
167
|
+
transform: rotate(360deg);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
`;
|
|
171
|
+
|
|
172
|
+
class ElDmInput extends BaseElement {
|
|
173
|
+
static properties = {
|
|
174
|
+
type: { type: String, reflect: true, default: "text" },
|
|
175
|
+
value: { type: String, reflect: true, default: "" },
|
|
176
|
+
name: { type: String, reflect: true },
|
|
177
|
+
label: { type: String, reflect: true },
|
|
178
|
+
placeholder: { type: String, reflect: true },
|
|
179
|
+
disabled: { type: Boolean, reflect: true },
|
|
180
|
+
readonly: { type: Boolean, reflect: true },
|
|
181
|
+
required: { type: Boolean, reflect: true },
|
|
182
|
+
size: { type: String, reflect: true },
|
|
183
|
+
validationState: { type: String, reflect: true, attribute: "validation-state" },
|
|
184
|
+
errorMessage: { type: String, reflect: true, attribute: "error-message" },
|
|
185
|
+
helperText: { type: String, reflect: true, attribute: "helper-text" }
|
|
186
|
+
};
|
|
187
|
+
_focused = false;
|
|
188
|
+
constructor() {
|
|
189
|
+
super();
|
|
190
|
+
this.attachStyles(styles);
|
|
191
|
+
}
|
|
192
|
+
connectedCallback() {
|
|
193
|
+
super.connectedCallback();
|
|
194
|
+
this.shadowRoot.addEventListener("slotchange", this._handleSlotChange.bind(this));
|
|
195
|
+
}
|
|
196
|
+
_handleSlotChange(event) {
|
|
197
|
+
const slot = event.target;
|
|
198
|
+
const wrapper = slot.parentElement;
|
|
199
|
+
if (wrapper) {
|
|
200
|
+
const hasContent = slot.assignedNodes().length > 0;
|
|
201
|
+
wrapper.classList.toggle("has-content", hasContent);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
_handleInput(event) {
|
|
205
|
+
const input = event.target;
|
|
206
|
+
this.value = input.value;
|
|
207
|
+
this.emit("dm-input", { value: this.value });
|
|
208
|
+
}
|
|
209
|
+
_handleChange(event) {
|
|
210
|
+
const input = event.target;
|
|
211
|
+
this.value = input.value;
|
|
212
|
+
this.emit("dm-change", { value: this.value });
|
|
213
|
+
}
|
|
214
|
+
_handleFocus() {
|
|
215
|
+
this._focused = true;
|
|
216
|
+
this.update();
|
|
217
|
+
this.emit("dm-focus");
|
|
218
|
+
}
|
|
219
|
+
_handleBlur() {
|
|
220
|
+
this._focused = false;
|
|
221
|
+
this.update();
|
|
222
|
+
this.emit("dm-blur");
|
|
223
|
+
}
|
|
224
|
+
focus() {
|
|
225
|
+
const input = this.shadowRoot.querySelector("input");
|
|
226
|
+
input?.focus();
|
|
227
|
+
}
|
|
228
|
+
blur() {
|
|
229
|
+
const input = this.shadowRoot.querySelector("input");
|
|
230
|
+
input?.blur();
|
|
231
|
+
}
|
|
232
|
+
select() {
|
|
233
|
+
const input = this.shadowRoot.querySelector("input");
|
|
234
|
+
input?.select();
|
|
235
|
+
}
|
|
236
|
+
update() {
|
|
237
|
+
super.update();
|
|
238
|
+
const input = this.shadowRoot.querySelector("input");
|
|
239
|
+
if (input) {
|
|
240
|
+
input.addEventListener("input", this._handleInput.bind(this));
|
|
241
|
+
input.addEventListener("change", this._handleChange.bind(this));
|
|
242
|
+
input.addEventListener("focus", this._handleFocus.bind(this));
|
|
243
|
+
input.addEventListener("blur", this._handleBlur.bind(this));
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
render() {
|
|
247
|
+
const wrapperClasses = [
|
|
248
|
+
"input-wrapper",
|
|
249
|
+
this._focused ? "focused" : "",
|
|
250
|
+
this.disabled ? "disabled" : "",
|
|
251
|
+
this.validationState || ""
|
|
252
|
+
].filter(Boolean).join(" ");
|
|
253
|
+
const labelClasses = ["label", this.required ? "required" : ""].filter(Boolean).join(" ");
|
|
254
|
+
const inputId = `input-${Math.random().toString(36).slice(2, 9)}`;
|
|
255
|
+
return `
|
|
256
|
+
<div class="container" part="container">
|
|
257
|
+
${this.label ? `
|
|
258
|
+
<label class="${labelClasses}" for="${inputId}" part="label">
|
|
259
|
+
${this.label}
|
|
260
|
+
</label>
|
|
261
|
+
` : ""}
|
|
262
|
+
|
|
263
|
+
<div class="${wrapperClasses}" part="input-wrapper">
|
|
264
|
+
<span class="prefix" part="prefix">
|
|
265
|
+
<slot name="prefix"></slot>
|
|
266
|
+
</span>
|
|
267
|
+
|
|
268
|
+
<input
|
|
269
|
+
id="${inputId}"
|
|
270
|
+
type="${this.type || "text"}"
|
|
271
|
+
name="${this.name || ""}"
|
|
272
|
+
value="${this.value || ""}"
|
|
273
|
+
placeholder="${this.placeholder || ""}"
|
|
274
|
+
${this.disabled ? "disabled" : ""}
|
|
275
|
+
${this.readonly ? "readonly" : ""}
|
|
276
|
+
${this.required ? "required" : ""}
|
|
277
|
+
aria-invalid="${this.validationState === "invalid" ? "true" : "false"}"
|
|
278
|
+
aria-describedby="${this.errorMessage ? "error" : this.helperText ? "helper" : ""}"
|
|
279
|
+
part="input"
|
|
280
|
+
/>
|
|
281
|
+
|
|
282
|
+
<span class="pending-indicator"></span>
|
|
283
|
+
|
|
284
|
+
<span class="suffix" part="suffix">
|
|
285
|
+
<slot name="suffix"></slot>
|
|
286
|
+
</span>
|
|
287
|
+
</div>
|
|
288
|
+
|
|
289
|
+
${this.validationState === "invalid" && this.errorMessage ? `
|
|
290
|
+
<span id="error" class="error" part="error" role="alert">
|
|
291
|
+
${this.errorMessage}
|
|
292
|
+
</span>
|
|
293
|
+
` : ""}
|
|
294
|
+
|
|
295
|
+
${this.helperText && this.validationState !== "invalid" ? `
|
|
296
|
+
<span id="helper" class="helper" part="helper">
|
|
297
|
+
${this.helperText}
|
|
298
|
+
</span>
|
|
299
|
+
` : ""}
|
|
300
|
+
</div>
|
|
301
|
+
`;
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
// src/index.ts
|
|
306
|
+
function register() {
|
|
307
|
+
if (!customElements.get("el-dm-input")) {
|
|
308
|
+
customElements.define("el-dm-input", ElDmInput);
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
export {
|
|
312
|
+
register,
|
|
313
|
+
ElDmInput
|
|
314
|
+
};
|
|
315
|
+
|
|
316
|
+
//# debugId=D1B62568EE40BF7E64756E2164756E21
|
|
317
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/el-dm-input.ts", "../../src/index.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"/**\n * DuskMoon Input Element\n *\n * A text input component with label and validation states.\n *\n * @element el-dm-input\n *\n * @attr {string} type - Input type: text, password, email, number, tel, url, search\n * @attr {string} value - Current input value\n * @attr {string} name - Form field name\n * @attr {string} label - Label text\n * @attr {string} placeholder - Placeholder text\n * @attr {boolean} disabled - Whether the input is disabled\n * @attr {boolean} readonly - Whether the input is readonly\n * @attr {boolean} required - Whether the input is required\n * @attr {string} size - Input size: sm, md, lg\n * @attr {string} validation-state - Validation state: valid, invalid, pending\n * @attr {string} error-message - Error message to display\n * @attr {string} helper-text - Helper text to display\n *\n * @slot prefix - Content before the input\n * @slot suffix - Content after the input\n *\n * @csspart container - The outer container\n * @csspart label - The label element\n * @csspart input-wrapper - The wrapper around the input\n * @csspart input - The native input element\n * @csspart prefix - The prefix slot wrapper\n * @csspart suffix - The suffix slot wrapper\n * @csspart helper - The helper text element\n * @csspart error - The error message element\n *\n * @fires dm-input - Fired when value changes during input\n * @fires dm-change - Fired when value changes and input loses focus\n * @fires dm-focus - Fired when input gains focus\n * @fires dm-blur - Fired when input loses focus\n *\n * @cssprop --dm-input-height - Input height\n * @cssprop --dm-input-padding-x - Horizontal padding\n * @cssprop --dm-input-font-size - Font size\n * @cssprop --dm-input-border-radius - Border radius\n * @cssprop --dm-input-border-color - Border color\n * @cssprop --dm-input-focus-border-color - Border color when focused\n */\n\nimport { BaseElement, css } from '@duskmoon-dev/el-core';\nimport type { Size, ValidationState } from '@duskmoon-dev/el-core';\n\n/**\n * Supported input types\n */\nexport type InputType = 'text' | 'password' | 'email' | 'number' | 'tel' | 'url' | 'search';\n\nconst styles = css`\n :host {\n display: block;\n }\n\n :host([hidden]) {\n display: none !important;\n }\n\n .container {\n display: flex;\n flex-direction: column;\n gap: var(--dm-spacing-xs, 0.25rem);\n }\n\n /* Label */\n .label {\n display: block;\n font-size: var(--dm-font-size-sm, 0.875rem);\n font-weight: var(--dm-font-weight-medium, 500);\n color: var(--dm-gray-700, #374151);\n }\n\n .label.required::after {\n content: ' *';\n color: var(--dm-error, #ef4444);\n }\n\n /* Input wrapper */\n .input-wrapper {\n display: flex;\n align-items: center;\n gap: var(--dm-spacing-sm, 0.5rem);\n border: 1px solid var(--dm-input-border-color, var(--dm-gray-300, #d1d5db));\n border-radius: var(--dm-input-border-radius, var(--dm-radius-md, 0.5rem));\n background-color: white;\n transition:\n border-color var(--dm-transition-fast, 150ms ease),\n box-shadow var(--dm-transition-fast, 150ms ease);\n }\n\n .input-wrapper:hover:not(.disabled) {\n border-color: var(--dm-gray-400, #9ca3af);\n }\n\n .input-wrapper.focused {\n border-color: var(--dm-input-focus-border-color, var(--dm-primary, #3b82f6));\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--dm-primary, #3b82f6) 20%, transparent);\n }\n\n .input-wrapper.disabled {\n background-color: var(--dm-gray-100, #f3f4f6);\n cursor: not-allowed;\n }\n\n /* Validation states */\n .input-wrapper.valid {\n border-color: var(--dm-success, #22c55e);\n }\n\n .input-wrapper.valid.focused {\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--dm-success, #22c55e) 20%, transparent);\n }\n\n .input-wrapper.invalid {\n border-color: var(--dm-error, #ef4444);\n }\n\n .input-wrapper.invalid.focused {\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--dm-error, #ef4444) 20%, transparent);\n }\n\n /* Size variants */\n :host(:not([size])) .input-wrapper,\n :host([size='md']) .input-wrapper {\n min-height: var(--dm-input-height, 2.5rem);\n padding: 0 var(--dm-input-padding-x, 0.75rem);\n }\n\n :host([size='sm']) .input-wrapper {\n min-height: var(--dm-input-height, 2rem);\n padding: 0 var(--dm-input-padding-x, 0.5rem);\n }\n\n :host([size='lg']) .input-wrapper {\n min-height: var(--dm-input-height, 3rem);\n padding: 0 var(--dm-input-padding-x, 1rem);\n }\n\n /* Native input */\n input {\n flex: 1;\n min-width: 0;\n border: none;\n background: transparent;\n font-family: inherit;\n font-size: var(--dm-input-font-size, var(--dm-font-size-md, 1rem));\n color: var(--dm-gray-900, #111827);\n outline: none;\n }\n\n :host([size='sm']) input {\n font-size: var(--dm-input-font-size, var(--dm-font-size-sm, 0.875rem));\n }\n\n :host([size='lg']) input {\n font-size: var(--dm-input-font-size, var(--dm-font-size-lg, 1.125rem));\n }\n\n input::placeholder {\n color: var(--dm-gray-400, #9ca3af);\n }\n\n input:disabled {\n cursor: not-allowed;\n color: var(--dm-gray-500, #6b7280);\n }\n\n /* Prefix and suffix */\n .prefix,\n .suffix {\n display: none;\n flex-shrink: 0;\n color: var(--dm-gray-500, #6b7280);\n }\n\n .prefix.has-content,\n .suffix.has-content {\n display: flex;\n align-items: center;\n }\n\n /* Helper and error text */\n .helper,\n .error {\n font-size: var(--dm-font-size-sm, 0.875rem);\n margin-top: var(--dm-spacing-xs, 0.25rem);\n }\n\n .helper {\n color: var(--dm-gray-500, #6b7280);\n }\n\n .error {\n color: var(--dm-error, #ef4444);\n }\n\n /* Pending state spinner */\n .pending-indicator {\n display: none;\n width: 1em;\n height: 1em;\n border: 2px solid var(--dm-gray-300, #d1d5db);\n border-top-color: var(--dm-primary, #3b82f6);\n border-radius: 50%;\n animation: spin 0.6s linear infinite;\n }\n\n :host([validation-state='pending']) .pending-indicator {\n display: block;\n }\n\n @keyframes spin {\n to {\n transform: rotate(360deg);\n }\n }\n`;\n\nexport class ElDmInput extends BaseElement {\n static properties = {\n type: { type: String, reflect: true, default: 'text' },\n value: { type: String, reflect: true, default: '' },\n name: { type: String, reflect: true },\n label: { type: String, reflect: true },\n placeholder: { type: String, reflect: true },\n disabled: { type: Boolean, reflect: true },\n readonly: { type: Boolean, reflect: true },\n required: { type: Boolean, reflect: true },\n size: { type: String, reflect: true },\n validationState: { type: String, reflect: true, attribute: 'validation-state' },\n errorMessage: { type: String, reflect: true, attribute: 'error-message' },\n helperText: { type: String, reflect: true, attribute: 'helper-text' },\n };\n\n /** Input type */\n declare type: InputType;\n\n /** Current value */\n declare value: string;\n\n /** Form field name */\n declare name: string;\n\n /** Label text */\n declare label: string;\n\n /** Placeholder text */\n declare placeholder: string;\n\n /** Whether the input is disabled */\n declare disabled: boolean;\n\n /** Whether the input is readonly */\n declare readonly: boolean;\n\n /** Whether the input is required */\n declare required: boolean;\n\n /** Input size */\n declare size: Size;\n\n /** Validation state */\n declare validationState: ValidationState;\n\n /** Error message */\n declare errorMessage: string;\n\n /** Helper text */\n declare helperText: string;\n\n /** Whether the input is focused */\n private _focused = false;\n\n constructor() {\n super();\n this.attachStyles(styles);\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n this.shadowRoot.addEventListener('slotchange', this._handleSlotChange.bind(this));\n }\n\n /**\n * Handle slot content changes\n */\n private _handleSlotChange(event: Event): void {\n const slot = event.target as HTMLSlotElement;\n const wrapper = slot.parentElement;\n if (wrapper) {\n const hasContent = slot.assignedNodes().length > 0;\n wrapper.classList.toggle('has-content', hasContent);\n }\n }\n\n /**\n * Handle input events\n */\n private _handleInput(event: Event): void {\n const input = event.target as HTMLInputElement;\n this.value = input.value;\n\n this.emit('dm-input', { value: this.value });\n }\n\n /**\n * Handle change events\n */\n private _handleChange(event: Event): void {\n const input = event.target as HTMLInputElement;\n this.value = input.value;\n\n this.emit('dm-change', { value: this.value });\n }\n\n /**\n * Handle focus events\n */\n private _handleFocus(): void {\n this._focused = true;\n this.update();\n this.emit('dm-focus');\n }\n\n /**\n * Handle blur events\n */\n private _handleBlur(): void {\n this._focused = false;\n this.update();\n this.emit('dm-blur');\n }\n\n /**\n * Focus the input element\n */\n focus(): void {\n const input = this.shadowRoot.querySelector('input');\n input?.focus();\n }\n\n /**\n * Blur the input element\n */\n blur(): void {\n const input = this.shadowRoot.querySelector('input');\n input?.blur();\n }\n\n /**\n * Select all text in the input\n */\n select(): void {\n const input = this.shadowRoot.querySelector('input');\n input?.select();\n }\n\n protected update(): void {\n super.update();\n\n // Re-attach event listeners after render\n const input = this.shadowRoot.querySelector('input');\n if (input) {\n input.addEventListener('input', this._handleInput.bind(this));\n input.addEventListener('change', this._handleChange.bind(this));\n input.addEventListener('focus', this._handleFocus.bind(this));\n input.addEventListener('blur', this._handleBlur.bind(this));\n }\n }\n\n render(): string {\n const wrapperClasses = [\n 'input-wrapper',\n this._focused ? 'focused' : '',\n this.disabled ? 'disabled' : '',\n this.validationState || '',\n ]\n .filter(Boolean)\n .join(' ');\n\n const labelClasses = ['label', this.required ? 'required' : ''].filter(Boolean).join(' ');\n\n const inputId = `input-${Math.random().toString(36).slice(2, 9)}`;\n\n return `\n <div class=\"container\" part=\"container\">\n ${\n this.label\n ? `\n <label class=\"${labelClasses}\" for=\"${inputId}\" part=\"label\">\n ${this.label}\n </label>\n `\n : ''\n }\n\n <div class=\"${wrapperClasses}\" part=\"input-wrapper\">\n <span class=\"prefix\" part=\"prefix\">\n <slot name=\"prefix\"></slot>\n </span>\n\n <input\n id=\"${inputId}\"\n type=\"${this.type || 'text'}\"\n name=\"${this.name || ''}\"\n value=\"${this.value || ''}\"\n placeholder=\"${this.placeholder || ''}\"\n ${this.disabled ? 'disabled' : ''}\n ${this.readonly ? 'readonly' : ''}\n ${this.required ? 'required' : ''}\n aria-invalid=\"${this.validationState === 'invalid' ? 'true' : 'false'}\"\n aria-describedby=\"${this.errorMessage ? 'error' : this.helperText ? 'helper' : ''}\"\n part=\"input\"\n />\n\n <span class=\"pending-indicator\"></span>\n\n <span class=\"suffix\" part=\"suffix\">\n <slot name=\"suffix\"></slot>\n </span>\n </div>\n\n ${\n this.validationState === 'invalid' && this.errorMessage\n ? `\n <span id=\"error\" class=\"error\" part=\"error\" role=\"alert\">\n ${this.errorMessage}\n </span>\n `\n : ''\n }\n\n ${\n this.helperText && this.validationState !== 'invalid'\n ? `\n <span id=\"helper\" class=\"helper\" part=\"helper\">\n ${this.helperText}\n </span>\n `\n : ''\n }\n </div>\n `;\n }\n}\n",
|
|
6
|
+
"/**\n * @duskmoon-dev/el-input\n *\n * DuskMoon Input custom element\n */\n\nimport { ElDmInput } from './el-dm-input.js';\n\nexport { ElDmInput };\nexport type { InputType } from './el-dm-input.js';\n\n/**\n * Register the el-dm-input custom element\n *\n * @example\n * ```ts\n * import { register } from '@duskmoon-dev/el-input';\n * register();\n * ```\n */\nexport function register(): void {\n if (!customElements.get('el-dm-input')) {\n customElements.define('el-dm-input', ElDmInput);\n }\n}\n"
|
|
7
|
+
],
|
|
8
|
+
"mappings": "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",
|
|
9
|
+
"debugId": "D1B62568EE40BF7E64756E2164756E21",
|
|
10
|
+
"names": []
|
|
11
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"fileNames":["../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.esnext.float16.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../packages/core/dist/types/base-element.d.ts","../../../packages/core/dist/types/styles.d.ts","../../../packages/core/dist/types/types.d.ts","../../../packages/core/dist/types/index.d.ts","../src/el-dm-input.ts","../src/index.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/utility.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/header.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/readable.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/globals.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/web-globals/blob.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/web-globals/console.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/web-globals/crypto.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/web-globals/encoding.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/web-globals/events.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/web-globals/importmeta.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/web-globals/messaging.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/web-globals/navigator.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/web-globals/performance.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/web-globals/storage.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/web-globals/streams.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/web-globals/timers.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/web-globals/url.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/assert.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/buffer.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/child_process.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/cluster.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/console.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/constants.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/crypto.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/dgram.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/dns.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/domain.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/events.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/fs.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/http.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/http2.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/https.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/inspector.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/inspector.generated.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/inspector/promises.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/module.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/net.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/os.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/path.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/path/posix.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/path/win32.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/process.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/punycode.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/querystring.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/quic.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/readline.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/repl.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/sea.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/sqlite.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/stream.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/test.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/test/reporters.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/timers.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/tls.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/tty.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/url.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/util.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/util/types.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/v8.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/vm.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/wasi.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/zlib.d.ts","../../../node_modules/.bun/@types+node@25.0.3/node_modules/@types/node/index.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/fetch.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/formdata.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/connector.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/client-stats.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/client.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/errors.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/dispatcher.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/global-origin.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/pool-stats.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/pool.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/handlers.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/h2c-client.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/agent.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/mock-call-history.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/mock-agent.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/mock-client.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/mock-pool.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/snapshot-agent.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/mock-errors.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/retry-handler.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/retry-agent.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/api.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/cache-interceptor.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/interceptors.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/util.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/cookies.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/patch.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/websocket.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/eventsource.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/content-type.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/cache.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/index.d.ts","../../../node_modules/.bun/bun-types@1.3.5/node_modules/bun-types/globals.d.ts","../../../node_modules/.bun/bun-types@1.3.5/node_modules/bun-types/s3.d.ts","../../../node_modules/.bun/bun-types@1.3.5/node_modules/bun-types/fetch.d.ts","../../../node_modules/.bun/bun-types@1.3.5/node_modules/bun-types/bun.d.ts","../../../node_modules/.bun/bun-types@1.3.5/node_modules/bun-types/extensions.d.ts","../../../node_modules/.bun/bun-types@1.3.5/node_modules/bun-types/devserver.d.ts","../../../node_modules/.bun/bun-types@1.3.5/node_modules/bun-types/ffi.d.ts","../../../node_modules/.bun/bun-types@1.3.5/node_modules/bun-types/html-rewriter.d.ts","../../../node_modules/.bun/bun-types@1.3.5/node_modules/bun-types/jsc.d.ts","../../../node_modules/.bun/bun-types@1.3.5/node_modules/bun-types/sqlite.d.ts","../../../node_modules/.bun/bun-types@1.3.5/node_modules/bun-types/vendor/expect-type/utils.d.ts","../../../node_modules/.bun/bun-types@1.3.5/node_modules/bun-types/vendor/expect-type/overloads.d.ts","../../../node_modules/.bun/bun-types@1.3.5/node_modules/bun-types/vendor/expect-type/branding.d.ts","../../../node_modules/.bun/bun-types@1.3.5/node_modules/bun-types/vendor/expect-type/messages.d.ts","../../../node_modules/.bun/bun-types@1.3.5/node_modules/bun-types/vendor/expect-type/index.d.ts","../../../node_modules/.bun/bun-types@1.3.5/node_modules/bun-types/test.d.ts","../../../node_modules/.bun/bun-types@1.3.5/node_modules/bun-types/wasm.d.ts","../../../node_modules/.bun/bun-types@1.3.5/node_modules/bun-types/overrides.d.ts","../../../node_modules/.bun/bun-types@1.3.5/node_modules/bun-types/deprecated.d.ts","../../../node_modules/.bun/bun-types@1.3.5/node_modules/bun-types/redis.d.ts","../../../node_modules/.bun/bun-types@1.3.5/node_modules/bun-types/shell.d.ts","../../../node_modules/.bun/bun-types@1.3.5/node_modules/bun-types/serve.d.ts","../../../node_modules/.bun/bun-types@1.3.5/node_modules/bun-types/sql.d.ts","../../../node_modules/.bun/bun-types@1.3.5/node_modules/bun-types/security.d.ts","../../../node_modules/.bun/bun-types@1.3.5/node_modules/bun-types/bundle.d.ts","../../../node_modules/.bun/bun-types@1.3.5/node_modules/bun-types/bun.ns.d.ts","../../../node_modules/.bun/bun-types@1.3.5/node_modules/bun-types/index.d.ts","../../../node_modules/.bun/@types+bun@1.3.5/node_modules/@types/bun/index.d.ts"],"fileIdsList":[[65,73,94,102,106,109,111,112,113,125,189,190,191,192,194,205,207,208,209,210,211,212],[66,73,94,102,106,109,111,112,113,125,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,189,190,191,192,194,205,207,208,209,210,211,212,215],[73,91,92,94,102,106,109,111,112,113,125,189,190,191,192,194,205,207,208,209,210,211,212],[73,93,94,102,106,109,111,112,113,125,189,190,191,192,194,205,207,208,209,210,211,212],[94,102,106,109,111,112,113,125,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,133,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,95,100,102,105,106,109,111,112,113,115,125,130,142,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,95,96,102,105,106,109,111,112,113,125,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,97,102,106,109,111,112,113,125,143,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,98,99,102,106,109,111,112,113,116,125,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,99,102,106,109,111,112,113,125,130,139,189,190,191,192,194,205,206,207,208,209,210,211,212],[73,94,100,102,105,106,109,111,112,113,115,125,189,190,191,192,194,205,207,208,209,210,211,212],[73,93,94,101,102,106,109,111,112,113,125,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,103,106,109,111,112,113,125,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,104,105,106,109,111,112,113,125,189,190,191,192,194,205,207,208,209,210,211,212],[73,93,94,102,105,106,109,111,112,113,125,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,105,106,107,109,111,112,113,125,130,142,189,190,191,192,194,205,206,207,208,209,210,211,212],[73,94,102,105,106,107,109,111,112,113,125,130,133,189,190,191,192,194,205,206,207,208,209,210,211,212],[73,94,102,105,106,108,109,111,112,113,115,125,130,142,188,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,105,106,108,109,111,112,113,115,125,130,139,142,189,190,191,192,194,205,206,207,208,209,210,211,212],[73,94,102,106,108,109,110,111,112,113,125,130,139,142,189,190,191,192,194,205,206,207,208,209,210,211,212],[71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,105,106,109,111,112,113,125,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,106,109,111,113,125,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,114,125,142,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,105,106,109,111,112,113,115,125,130,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,116,125,189,190,191,192,194,205,206,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,117,125,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,105,106,109,111,112,113,120,125,189,190,191,192,194,205,207,208,209,210,211,212],[73,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,189,190,191,192,194,205,206,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,122,125,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,123,125,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,99,102,106,109,111,112,113,115,125,133,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,105,106,109,111,112,113,125,126,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,127,143,146,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,105,106,109,111,112,113,125,130,132,133,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,131,133,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,133,143,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,134,189,190,191,192,194,205,207,208,209,210,211,212],[73,91,94,102,106,109,111,112,113,125,130,136,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,130,135,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,105,106,109,111,112,113,125,137,138,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,137,138,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,99,102,106,109,111,112,113,115,125,130,139,189,190,191,192,194,205,206,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,140,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,115,125,141,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,106,108,109,111,112,113,123,125,142,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,143,144,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,99,102,106,109,111,112,113,125,144,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,130,145,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,114,125,146,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,147,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,97,102,106,109,111,112,113,125,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,99,102,106,109,111,112,113,125,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,143,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,188,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,142,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,148,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,120,125,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,133,189,190,191,192,194,205,206,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,138,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,105,106,107,109,111,112,113,120,125,130,133,142,145,146,148,188,189,190,191,192,194,205,206,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,130,149,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,99,102,106,108,109,111,112,113,125,139,143,148,188,189,190,191,194,195,205,206,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,189,190,191,192,194,205,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,189,190,191,192,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,188,189,190,192,194,205,207,208,209,210,211,212],[73,94,99,102,106,109,111,112,113,120,125,130,133,139,143,148,188,190,191,192,194,205,206,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,150,189,190,191,192,193,194,195,196,197,198,204,205,206,207,208,209,210,211,212,213,214],[73,94,97,99,102,106,107,109,111,112,113,116,125,133,139,142,149,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,189,190,191,192,194,205,207,209,210,211,212],[73,94,102,106,109,111,112,113,125,189,191,192,194,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,189,190,191,192,194,205,207,208,209,210,211],[73,94,102,106,109,111,112,113,125,189,190,191,192,194,205,207,208,209,211,212],[73,94,102,106,109,111,112,113,125,189,190,191,192,194,205,207,208,210,211,212],[73,94,102,106,109,111,112,113,125,189,190,191,192,194,198,205,207,208,209,210,212],[73,94,102,106,109,111,112,113,125,189,190,191,192,194,203,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,189,190,191,192,194,199,200,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,189,190,191,192,194,199,200,201,202,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,189,190,191,192,194,199,201,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,189,190,191,192,194,199,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,189,190,191,192,194,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,142,154,157,160,161,189,190,191,192,194,205,206,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,130,142,157,189,190,191,192,194,205,206,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,142,157,161,189,190,191,192,194,205,206,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,130,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,151,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,155,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,142,153,154,157,189,190,191,192,194,205,206,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,115,125,139,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,150,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,150,151,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,115,125,142,153,157,189,190,191,192,194,205,206,207,208,209,210,211,212],[68,69,70,73,94,102,105,106,109,111,112,113,125,130,142,152,156,189,190,191,192,194,205,206,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,157,165,173,189,190,191,192,194,205,207,208,209,210,211,212],[69,73,94,102,106,109,111,112,113,125,155,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,157,182,183,189,190,191,192,194,205,207,208,209,210,211,212],[69,73,94,102,106,109,111,112,113,125,133,142,150,152,157,189,190,191,192,194,205,206,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,150,151,189,190,191,192,194,205,206,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,157,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,142,153,157,189,190,191,192,194,205,206,207,208,209,210,211,212],[68,73,94,102,106,109,111,112,113,125,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,151,152,153,155,156,157,158,159,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,183,184,185,186,187,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,157,175,178,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,157,165,166,167,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,155,157,166,168,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,156,189,190,191,192,194,205,207,208,209,210,211,212],[69,73,94,102,106,109,111,112,113,125,151,157,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,157,161,166,168,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,161,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,142,155,157,160,189,190,191,192,194,205,206,207,208,209,210,211,212],[69,73,94,102,106,109,111,112,113,125,153,157,165,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,130,189,190,191,192,194,205,206,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,157,175,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,168,189,190,191,192,194,205,207,208,209,210,211,212],[73,94,102,106,109,111,112,113,125,133,148,150,151,157,182,189,190,191,192,194,205,206,207,208,209,210,211,212],[62,63,64,73,94,102,106,109,111,112,113,125,189,190,191,192,194,205,207,208,209,210,211,212]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"196cb558a13d4533a5163286f30b0509ce0210e4b316c56c38d4c0fd2fb38405","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},"d4a48751b4227ab81b82552c7d5efcfc4810bcca247298010215d874c3ab5191","aa3212178492041452dd5bee7abc648e3d0e533e900ae3de0bae6d33002a2f56","d3a328c0eccf652bc8b6c14515a8b848a558b9d684e15a7c0c2e15de5016df57","3d80d8bcd5166b8b8b5c5e1c7d6261fdacfcbf7c876412610dc7b1742bb39df3",{"version":"591c38b1e704cf93bdc8c6e3723a8eee14d3b6597f73b6820174511eac46f3ec","signature":"1bb133dca3184c1ad084950e1a7ac9c578f12dd86607c136a37828d51d04726a"},{"version":"b64ae20bff13db5657470a071381a0fdc9203d427328ce94940052f644424808","signature":"34858bf7db2e90176df7b68cec8d2219e9496e5ae3f3dccdcc5898e92084d21c"},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"23cd712e2ce083d68afe69224587438e5914b457b8acf87073c22494d706a3d0","impliedFormat":1},{"version":"487b694c3de27ddf4ad107d4007ad304d29effccf9800c8ae23c2093638d906a","impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"0ccdaa19852d25ecd84eec365c3bfa16e7859cadecf6e9ca6d0dbbbee439743f","affectsGlobalScope":true,"impliedFormat":1},{"version":"438b41419b1df9f1fbe33b5e1b18f5853432be205991d1b19f5b7f351675541e","affectsGlobalScope":true,"impliedFormat":1},{"version":"096116f8fedc1765d5bd6ef360c257b4a9048e5415054b3bf3c41b07f8951b0b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5e01375c9e124a83b52ee4b3244ed1a4d214a6cfb54ac73e164a823a4a7860a","affectsGlobalScope":true,"impliedFormat":1},{"version":"f90ae2bbce1505e67f2f6502392e318f5714bae82d2d969185c4a6cecc8af2fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b58e207b93a8f1c88bbf2a95ddc686ac83962b13830fe8ad3f404ffc7051fb4","affectsGlobalScope":true,"impliedFormat":1},{"version":"1fefabcb2b06736a66d2904074d56268753654805e829989a46a0161cd8412c5","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"c18a99f01eb788d849ad032b31cafd49de0b19e083fe775370834c5675d7df8e","affectsGlobalScope":true,"impliedFormat":1},{"version":"5247874c2a23b9a62d178ae84f2db6a1d54e6c9a2e7e057e178cc5eea13757fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"dd0109710de4cd93e245121ab86d8c66d20f3ead80074b68e9c3e349c4f53342","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3275d55fac10b799c9546804126239baf020d220136163f763b55a74e50e750","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa68a0a3b7cb32c00e39ee3cd31f8f15b80cac97dce51b6ee7fc14a1e8deb30b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1cf059eaf468efcc649f8cf6075d3cb98e9a35a0fe9c44419ec3d2f5428d7123","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c36e755bced82df7fb6ce8169265d0a7bb046ab4e2cb6d0da0cb72b22033e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"7a93de4ff8a63bafe62ba86b89af1df0ccb5e40bb85b0c67d6bbcfdcf96bf3d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"90e85f9bc549dfe2b5749b45fe734144e96cd5d04b38eae244028794e142a77e","affectsGlobalScope":true,"impliedFormat":1},{"version":"e0a5deeb610b2a50a6350bd23df6490036a1773a8a71d70f2f9549ab009e67ee","affectsGlobalScope":true,"impliedFormat":1},{"version":"435b3711465425770ed2ee2f1cf00ce071835265e0851a7dc4600ab4b007550e","impliedFormat":1},{"version":"7e49f52a159435fc8df4de9dc377ef5860732ca2dc9efec1640531d3cf5da7a3","impliedFormat":1},{"version":"dd4bde4bdc2e5394aed6855e98cf135dfdf5dd6468cad842e03116d31bbcc9bc","impliedFormat":1},{"version":"4d4e879009a84a47c05350b8dca823036ba3a29a3038efed1be76c9f81e45edf","affectsGlobalScope":true,"impliedFormat":1},{"version":"cf83d90d5faf27b994c2e79af02e32b555dbfe42cd9bd1571445f2168d1f4e2d","impliedFormat":1},{"version":"9ba13b47cb450a438e3076c4a3f6afb9dc85e17eae50f26d4b2d72c0688c9251","impliedFormat":1},{"version":"b64cd4401633ea4ecadfd700ddc8323a13b63b106ac7127c1d2726f32424622c","impliedFormat":1},{"version":"37c6e5fe5715814412b43cc9b50b24c67a63c4e04e753e0d1305970d65417a60","impliedFormat":1},{"version":"0e28335ac43f4d94dd2fe6d9e6fa6813570640839addd10d309d7985f33a6308","impliedFormat":1},{"version":"ee0e4946247f842c6dd483cbb60a5e6b484fee07996e3a7bc7343dfb68a04c5d","impliedFormat":1},{"version":"ef051f42b7e0ef5ca04552f54c4552eac84099d64b6c5ad0ef4033574b6035b8","impliedFormat":1},{"version":"853a43154f1d01b0173d9cbd74063507ece57170bad7a3b68f3fa1229ad0a92f","impliedFormat":1},{"version":"56231e3c39a031bfb0afb797690b20ed4537670c93c0318b72d5180833d98b72","impliedFormat":1},{"version":"5cc7c39031bfd8b00ad58f32143d59eb6ffc24f5d41a20931269011dccd36c5e","impliedFormat":1},{"version":"b0b69c61b0f0ec8ca15db4c8c41f6e77f4cacb784d42bca948f42dea33e8757e","affectsGlobalScope":true,"impliedFormat":1},{"version":"961cf7535b9c521cd634055b1b6ac49b94d055f0b573ce7fdc4cfaddab080b7c","impliedFormat":1},{"version":"806a8c6daae69e5695e7200d9eca6bc1e4298f38d90edda3ce67a794da31a24f","impliedFormat":1},{"version":"ac86245c2f31335bfd52cbe7fc760f9fc4f165387875869a478a6d9616a95e72","impliedFormat":1},{"version":"01ff95aa1443e3f7248974e5a771f513cb2ac158c8898f470a1792f817bee497","impliedFormat":1},{"version":"9d96a7ce809392ff2cb99691acf7c62e632fe56897356ba013b689277aca3619","impliedFormat":1},{"version":"42a05d8f239f74587d4926aba8cc54792eed8e8a442c7adc9b38b516642aadfe","impliedFormat":1},{"version":"5d21b58d60383cc6ab9ad3d3e265d7d25af24a2c9b506247e0e50b0a884920be","impliedFormat":1},{"version":"101f482fd48cb4c7c0468dcc6d62c843d842977aea6235644b1edd05e81fbf22","impliedFormat":1},{"version":"ae6757460f37078884b1571a3de3ebaf724d827d7e1d53626c02b3c2a408ac63","affectsGlobalScope":true,"impliedFormat":1},{"version":"27c0a08e343c6a0ae17bd13ba6d44a9758236dc904cd5e4b43456996cd51f520","impliedFormat":1},{"version":"3ef397f12387eff17f550bc484ea7c27d21d43816bbe609d495107f44b97e933","impliedFormat":1},{"version":"1023282e2ba810bc07905d3668349fbd37a26411f0c8f94a70ef3c05fe523fcf","impliedFormat":1},{"version":"b214ebcf76c51b115453f69729ee8aa7b7f8eccdae2a922b568a45c2d7ff52f7","impliedFormat":1},{"version":"429c9cdfa7d126255779efd7e6d9057ced2d69c81859bbab32073bad52e9ba76","impliedFormat":1},{"version":"6f80e51ba310608cd71bcdc09a171d7bbfb3b316048601c9ec215ce16a8dcfbc","impliedFormat":1},{"version":"a3bdc774995d56caaac759a424831091bb22450ca3590f34dae53d98323be191","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f2c62938251b45715fd2a9887060ec4fbc8724727029d1cbce373747252bdd7","impliedFormat":1},{"version":"e3ace08b6bbd84655d41e244677b474fd995923ffef7149ddb68af8848b60b05","impliedFormat":1},{"version":"132580b0e86c48fab152bab850fc57a4b74fe915c8958d2ccb052b809a44b61c","impliedFormat":1},{"version":"af4ab0aa8908fc9a655bb833d3bc28e117c4f0e1038c5a891546158beb25accb","impliedFormat":1},{"version":"69c9a5a9392e8564bd81116e1ed93b13205201fb44cb35a7fde8c9f9e21c4b23","impliedFormat":1},{"version":"5f8fc37f8434691ffac1bfd8fc2634647da2c0e84253ab5d2dd19a7718915b35","impliedFormat":1},{"version":"5981c2340fd8b076cae8efbae818d42c11ffc615994cb060b1cd390795f1be2b","impliedFormat":1},{"version":"2ca2bca6845a7234eff5c3d192727a068fca72ac565f3c819c6b04ccc83dadc0","impliedFormat":1},{"version":"ed4f674fc8c0c993cc7e145069ac44129e03519b910c62be206a0cc777bdc60b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0250da3eb85c99624f974e77ef355cdf86f43980251bc371475c2b397ba55bcd","impliedFormat":1},{"version":"f1c93e046fb3d9b7f8249629f4b63dc068dd839b824dd0aa39a5e68476dc9420","impliedFormat":1},{"version":"3d3a5f27ffbc06c885dd4d5f9ee20de61faf877fe2c3a7051c4825903d9a7fdc","impliedFormat":1},{"version":"12806f9f085598ef930edaf2467a5fa1789a878fba077cd27e85dc5851e11834","impliedFormat":1},{"version":"17d06eb5709839c7ce719f0c38ada6f308fb433f2cd6d8c87b35856e07400950","impliedFormat":1},{"version":"a43fe41c33d0a192a0ecaf9b92e87bef3709c9972e6d53c42c49251ccb962d69","impliedFormat":1},{"version":"a177959203c017fad3ecc4f3d96c8757a840957a4959a3ae00dab9d35961ca6c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6fc727ccf9b36e257ff982ea0badeffbfc2c151802f741bddff00c6af3b784cf","impliedFormat":1},{"version":"6c00f77f0335ae0c18bd45a6c7c9c97c9625fb7e5dd6d5936eadf70718bce52e","impliedFormat":1},{"version":"4844a4c9b4b1e812b257676ed8a80b3f3be0e29bf05e742cc2ea9c3c6865e6c6","impliedFormat":1},{"version":"064878a60367e0407c42fb7ba02a2ea4d83257357dc20088e549bd4d89433e9c","impliedFormat":1},{"version":"14d4bd22d1b05824971b98f7e91b2484c90f1a684805c330476641417c3d9735","impliedFormat":1},{"version":"586eaf66bace2e731cee0ddfbfac326ad74a83c1acfeac4afb2db85ad23226c7","impliedFormat":1},{"version":"b484ec11ba00e3a2235562a41898d55372ccabe607986c6fa4f4aba72093749f","impliedFormat":1},{"version":"d1a14d87cedcf4f0b8173720d6eb29cc02878bf2b6dabf9c9d9cee742f275368","impliedFormat":1},{"version":"e60efae9fe48a2955f66bf4cbf0f082516185b877daf50d9c5e2a009660a7714","impliedFormat":1},{"version":"041a7781b9127ab568d2cdcce62c58fdea7c7407f40b8c50045d7866a2727130","impliedFormat":1},{"version":"cd9189eacf0f9143b8830e9d6769335aa6d902c04195f04145bcbf19e7f26fcb","impliedFormat":1},{"version":"e1cb68f3ef3a8dd7b2a9dfb3de482ed6c0f1586ba0db4e7d73c1d2147b6ffc51","impliedFormat":1},{"version":"55cdbeebe76a1fa18bbd7e7bf73350a2173926bd3085bb050cf5a5397025ee4e","impliedFormat":1},{"version":"3a80bc85f38526ca3b08007ee80712e7bb0601df178b23fbf0bf87036fce40ce","impliedFormat":1},{"version":"ccf4552357ce3c159ef75f0f0114e80401702228f1898bdc9402214c9499e8c0","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"2931540c47ee0ff8a62860e61782eb17b155615db61e36986e54645ec67f67c2","impliedFormat":1},{"version":"ccab02f3920fc75c01174c47fcf67882a11daf16baf9e81701d0a94636e94556","impliedFormat":1},{"version":"f6faf5f74e4c4cc309a6c6a6c4da02dbb840be5d3e92905a23dcd7b2b0bd1986","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"33e981bf6376e939f99bd7f89abec757c64897d33c005036b9a10d9587d80187","impliedFormat":1},{"version":"7fd1b31fd35876b0aa650811c25ec2c97a3c6387e5473eb18004bed86cdd76b6","impliedFormat":1},{"version":"b41767d372275c154c7ea6c9d5449d9a741b8ce080f640155cc88ba1763e35b3","impliedFormat":1},{"version":"3bacf516d686d08682751a3bd2519ea3b8041a164bfb4f1d35728993e70a2426","impliedFormat":1},{"version":"7fb266686238369442bd1719bc0d7edd0199da4fb8540354e1ff7f16669b4323","impliedFormat":1},{"version":"0a60a292b89ca7218b8616f78e5bbd1c96b87e048849469cccb4355e98af959a","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"40cd35c95e9cf22cfa5bd84e96408b6fcbca55295f4ff822390abb11afbc3dca","impliedFormat":1},{"version":"b1616b8959bf557feb16369c6124a97a0e74ed6f49d1df73bb4b9ddf68acf3f3","impliedFormat":1},{"version":"5b03a034c72146b61573aab280f295b015b9168470f2df05f6080a2122f9b4df","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"249b9cab7f5d628b71308c7d9bb0a808b50b091e640ba3ed6e2d0516f4a8d91d","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"54c3e2371e3d016469ad959697fd257e5621e16296fa67082c2575d0bf8eced0","impliedFormat":1},{"version":"beb8233b2c220cfa0feea31fbe9218d89fa02faa81ef744be8dce5acb89bb1fd","impliedFormat":1},{"version":"c183b931b68ad184bc8e8372bf663f3d33304772fb482f29fb91b3c391031f3e","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"48cc3ec153b50985fb95153258a710782b25975b10dd4ac8a4f3920632d10790","impliedFormat":1},{"version":"adf27937dba6af9f08a68c5b1d3fce0ca7d4b960c57e6d6c844e7d1a8e53adae","impliedFormat":1},{"version":"e1528ca65ac90f6fa0e4a247eb656b4263c470bb22d9033e466463e13395e599","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"866078923a56d026e39243b4392e282c1c63159723996fa89243140e1388a98d","impliedFormat":1},{"version":"6e215dac8b234548d91b718f9c07d5b09473cd5cabb29053fcd8be0af190acb6","affectsGlobalScope":true,"impliedFormat":1},{"version":"0da1adb8d70eba31791b5f9203a384a628f9a1b03162bc68306838e842eff203","impliedFormat":1},{"version":"f3d3e999a323c85c8a63ce90c6e4624ff89fe137a0e2508fddc08e0556d08abf","impliedFormat":1},{"version":"a1fdda024d346cd1906d4a1f66c2804217ef88b554946ac7d9b7bcbadcc75f11","impliedFormat":1},{"version":"49ae37a1b5de16f762c8a151eeaec6b558ce3c27251052ef7a361144af42cad4","impliedFormat":1},{"version":"fc9e630f9302d0414ccd6c8ed2706659cff5ae454a56560c6122fa4a3fac5bbd","affectsGlobalScope":true,"impliedFormat":1},{"version":"aa0a44af370a2d7c1aac988a17836f57910a6c52689f52f5b3ac1d4c6cadcb23","impliedFormat":1},{"version":"0ac74c7586880e26b6a599c710b59284a284e084a2bbc82cd40fb3fbfdea71ae","affectsGlobalScope":true,"impliedFormat":1},{"version":"2ce12357dadbb8efc4e4ec4dab709c8071bf992722fc9adfea2fe0bd5b50923f","impliedFormat":1},{"version":"31bd1a31f935276adf90384a35edbd4614018ff008f57d62ffb57ac538e94e51","impliedFormat":1},{"version":"ffd344731abee98a0a85a735b19052817afd2156d97d1410819cd9bcd1bd575e","impliedFormat":1},{"version":"475e07c959f4766f90678425b45cf58ac9b95e50de78367759c1e5118e85d5c3","impliedFormat":1},{"version":"a524ae401b30a1b0814f1bbcdae459da97fa30ae6e22476e506bb3f82e3d9456","impliedFormat":1},{"version":"7375e803c033425e27cb33bae21917c106cb37b508fd242cccd978ef2ee244c7","impliedFormat":1},{"version":"eeb890c7e9218afdad2f30ad8a76b0b0b5161d11ce13b6723879de408e6bc47a","impliedFormat":1},{"version":"561c795984d06b91091780cebeac616e9e41d83240770e1af14e6ec083b713d5","impliedFormat":1},{"version":"dfbcc400ac6d20b941ccc7bd9031b9d9f54e4d495dd79117334e771959df4805","affectsGlobalScope":true,"impliedFormat":1},{"version":"944d65951e33a13068be5cd525ec42bf9bc180263ba0b723fa236970aa21f611","affectsGlobalScope":true,"impliedFormat":1},{"version":"6b386c7b6ce6f369d18246904fa5eac73566167c88fb6508feba74fa7501a384","affectsGlobalScope":true,"impliedFormat":1},{"version":"592a109e67b907ffd2078cd6f727d5c326e06eaada169eef8fb18546d96f6797","impliedFormat":1},{"version":"f2eb1e35cae499d57e34b4ac3650248776fe7dbd9a3ec34b23754cfd8c22fceb","impliedFormat":1},{"version":"fbed43a6fcf5b675f5ec6fc960328114777862b58a2bb19c109e8fc1906caa09","impliedFormat":1},{"version":"9e98bd421e71f70c75dae7029e316745c89fa7b8bc8b43a91adf9b82c206099c","impliedFormat":1},{"version":"fc803e6b01f4365f71f51f9ce13f71396766848204d4f7a1b2b6154434b84b15","impliedFormat":1},{"version":"f3afcc0d6f77a9ca2d2c5c92eb4b89cd38d6fa4bdc1410d626bd701760a977ec","impliedFormat":1},{"version":"c8109fe76467db6e801d0edfbc50e6826934686467c9418ce6b246232ce7f109","affectsGlobalScope":true,"impliedFormat":1},{"version":"e6f803e4e45915d58e721c04ec17830c6e6678d1e3e00e28edf3d52720909cea","affectsGlobalScope":true,"impliedFormat":1},{"version":"37be812b06e518320ba82e2aff3ac2ca37370a9df917db708f081b9043fa3315","impliedFormat":1}],"root":[66,67],"options":{"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"module":99,"outDir":"./types","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9},"referencedMap":[[66,1],[67,2],[216,3],[91,4],[92,4],[93,5],[73,6],[94,7],[95,8],[96,9],[71,10],[97,11],[98,12],[99,13],[100,14],[101,15],[102,16],[103,16],[104,17],[105,18],[106,19],[107,20],[74,10],[72,10],[108,21],[109,22],[110,23],[150,24],[111,25],[112,26],[113,25],[114,27],[115,28],[116,29],[117,30],[118,30],[119,30],[120,31],[121,32],[122,33],[123,34],[124,35],[125,36],[126,36],[127,37],[128,10],[129,10],[130,38],[131,39],[132,38],[133,40],[134,41],[135,42],[136,43],[137,44],[138,45],[139,46],[140,47],[141,48],[142,49],[143,50],[144,51],[145,52],[146,53],[147,54],[75,25],[76,10],[77,55],[78,56],[79,10],[80,57],[81,10],[82,58],[83,59],[84,60],[85,60],[86,61],[87,10],[88,62],[89,63],[90,59],[148,64],[149,65],[192,66],[214,10],[213,10],[207,67],[194,68],[193,10],[191,69],[195,10],[189,70],[196,10],[215,71],[197,10],[206,72],[208,73],[190,74],[212,75],[210,76],[209,77],[211,78],[198,10],[204,79],[201,80],[203,81],[202,82],[200,83],[199,10],[205,84],[60,10],[61,10],[10,10],[11,10],[13,10],[12,10],[2,10],[14,10],[15,10],[16,10],[17,10],[18,10],[19,10],[20,10],[21,10],[3,10],[22,10],[23,10],[4,10],[24,10],[28,10],[25,10],[26,10],[27,10],[29,10],[30,10],[31,10],[5,10],[32,10],[33,10],[34,10],[35,10],[6,10],[39,10],[36,10],[37,10],[38,10],[40,10],[7,10],[41,10],[46,10],[47,10],[42,10],[43,10],[44,10],[45,10],[8,10],[51,10],[48,10],[49,10],[50,10],[52,10],[9,10],[53,10],[54,10],[55,10],[57,10],[56,10],[1,10],[58,10],[59,10],[165,85],[177,86],[163,87],[178,88],[187,89],[154,90],[155,91],[153,92],[186,93],[181,94],[185,95],[157,96],[174,97],[156,98],[184,99],[151,100],[152,101],[158,102],[159,10],[164,103],[162,102],[69,104],[188,105],[179,106],[168,107],[167,102],[169,108],[172,109],[166,110],[170,111],[182,93],[160,112],[161,113],[173,114],[70,115],[176,116],[175,102],[171,117],[180,10],[68,10],[183,118],[62,10],[65,119],[63,10],[64,10]],"latestChangedDtsFile":"./types/index.d.ts","version":"5.9.3"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DuskMoon Input Element
|
|
3
|
+
*
|
|
4
|
+
* A text input component with label and validation states.
|
|
5
|
+
*
|
|
6
|
+
* @element el-dm-input
|
|
7
|
+
*
|
|
8
|
+
* @attr {string} type - Input type: text, password, email, number, tel, url, search
|
|
9
|
+
* @attr {string} value - Current input value
|
|
10
|
+
* @attr {string} name - Form field name
|
|
11
|
+
* @attr {string} label - Label text
|
|
12
|
+
* @attr {string} placeholder - Placeholder text
|
|
13
|
+
* @attr {boolean} disabled - Whether the input is disabled
|
|
14
|
+
* @attr {boolean} readonly - Whether the input is readonly
|
|
15
|
+
* @attr {boolean} required - Whether the input is required
|
|
16
|
+
* @attr {string} size - Input size: sm, md, lg
|
|
17
|
+
* @attr {string} validation-state - Validation state: valid, invalid, pending
|
|
18
|
+
* @attr {string} error-message - Error message to display
|
|
19
|
+
* @attr {string} helper-text - Helper text to display
|
|
20
|
+
*
|
|
21
|
+
* @slot prefix - Content before the input
|
|
22
|
+
* @slot suffix - Content after the input
|
|
23
|
+
*
|
|
24
|
+
* @csspart container - The outer container
|
|
25
|
+
* @csspart label - The label element
|
|
26
|
+
* @csspart input-wrapper - The wrapper around the input
|
|
27
|
+
* @csspart input - The native input element
|
|
28
|
+
* @csspart prefix - The prefix slot wrapper
|
|
29
|
+
* @csspart suffix - The suffix slot wrapper
|
|
30
|
+
* @csspart helper - The helper text element
|
|
31
|
+
* @csspart error - The error message element
|
|
32
|
+
*
|
|
33
|
+
* @fires dm-input - Fired when value changes during input
|
|
34
|
+
* @fires dm-change - Fired when value changes and input loses focus
|
|
35
|
+
* @fires dm-focus - Fired when input gains focus
|
|
36
|
+
* @fires dm-blur - Fired when input loses focus
|
|
37
|
+
*
|
|
38
|
+
* @cssprop --dm-input-height - Input height
|
|
39
|
+
* @cssprop --dm-input-padding-x - Horizontal padding
|
|
40
|
+
* @cssprop --dm-input-font-size - Font size
|
|
41
|
+
* @cssprop --dm-input-border-radius - Border radius
|
|
42
|
+
* @cssprop --dm-input-border-color - Border color
|
|
43
|
+
* @cssprop --dm-input-focus-border-color - Border color when focused
|
|
44
|
+
*/
|
|
45
|
+
import { BaseElement } from '@duskmoon-dev/el-core';
|
|
46
|
+
import type { Size, ValidationState } from '@duskmoon-dev/el-core';
|
|
47
|
+
/**
|
|
48
|
+
* Supported input types
|
|
49
|
+
*/
|
|
50
|
+
export type InputType = 'text' | 'password' | 'email' | 'number' | 'tel' | 'url' | 'search';
|
|
51
|
+
export declare class ElDmInput extends BaseElement {
|
|
52
|
+
static properties: {
|
|
53
|
+
type: {
|
|
54
|
+
type: StringConstructor;
|
|
55
|
+
reflect: boolean;
|
|
56
|
+
default: string;
|
|
57
|
+
};
|
|
58
|
+
value: {
|
|
59
|
+
type: StringConstructor;
|
|
60
|
+
reflect: boolean;
|
|
61
|
+
default: string;
|
|
62
|
+
};
|
|
63
|
+
name: {
|
|
64
|
+
type: StringConstructor;
|
|
65
|
+
reflect: boolean;
|
|
66
|
+
};
|
|
67
|
+
label: {
|
|
68
|
+
type: StringConstructor;
|
|
69
|
+
reflect: boolean;
|
|
70
|
+
};
|
|
71
|
+
placeholder: {
|
|
72
|
+
type: StringConstructor;
|
|
73
|
+
reflect: boolean;
|
|
74
|
+
};
|
|
75
|
+
disabled: {
|
|
76
|
+
type: BooleanConstructor;
|
|
77
|
+
reflect: boolean;
|
|
78
|
+
};
|
|
79
|
+
readonly: {
|
|
80
|
+
type: BooleanConstructor;
|
|
81
|
+
reflect: boolean;
|
|
82
|
+
};
|
|
83
|
+
required: {
|
|
84
|
+
type: BooleanConstructor;
|
|
85
|
+
reflect: boolean;
|
|
86
|
+
};
|
|
87
|
+
size: {
|
|
88
|
+
type: StringConstructor;
|
|
89
|
+
reflect: boolean;
|
|
90
|
+
};
|
|
91
|
+
validationState: {
|
|
92
|
+
type: StringConstructor;
|
|
93
|
+
reflect: boolean;
|
|
94
|
+
attribute: string;
|
|
95
|
+
};
|
|
96
|
+
errorMessage: {
|
|
97
|
+
type: StringConstructor;
|
|
98
|
+
reflect: boolean;
|
|
99
|
+
attribute: string;
|
|
100
|
+
};
|
|
101
|
+
helperText: {
|
|
102
|
+
type: StringConstructor;
|
|
103
|
+
reflect: boolean;
|
|
104
|
+
attribute: string;
|
|
105
|
+
};
|
|
106
|
+
};
|
|
107
|
+
/** Input type */
|
|
108
|
+
type: InputType;
|
|
109
|
+
/** Current value */
|
|
110
|
+
value: string;
|
|
111
|
+
/** Form field name */
|
|
112
|
+
name: string;
|
|
113
|
+
/** Label text */
|
|
114
|
+
label: string;
|
|
115
|
+
/** Placeholder text */
|
|
116
|
+
placeholder: string;
|
|
117
|
+
/** Whether the input is disabled */
|
|
118
|
+
disabled: boolean;
|
|
119
|
+
/** Whether the input is readonly */
|
|
120
|
+
readonly: boolean;
|
|
121
|
+
/** Whether the input is required */
|
|
122
|
+
required: boolean;
|
|
123
|
+
/** Input size */
|
|
124
|
+
size: Size;
|
|
125
|
+
/** Validation state */
|
|
126
|
+
validationState: ValidationState;
|
|
127
|
+
/** Error message */
|
|
128
|
+
errorMessage: string;
|
|
129
|
+
/** Helper text */
|
|
130
|
+
helperText: string;
|
|
131
|
+
/** Whether the input is focused */
|
|
132
|
+
private _focused;
|
|
133
|
+
constructor();
|
|
134
|
+
connectedCallback(): void;
|
|
135
|
+
/**
|
|
136
|
+
* Handle slot content changes
|
|
137
|
+
*/
|
|
138
|
+
private _handleSlotChange;
|
|
139
|
+
/**
|
|
140
|
+
* Handle input events
|
|
141
|
+
*/
|
|
142
|
+
private _handleInput;
|
|
143
|
+
/**
|
|
144
|
+
* Handle change events
|
|
145
|
+
*/
|
|
146
|
+
private _handleChange;
|
|
147
|
+
/**
|
|
148
|
+
* Handle focus events
|
|
149
|
+
*/
|
|
150
|
+
private _handleFocus;
|
|
151
|
+
/**
|
|
152
|
+
* Handle blur events
|
|
153
|
+
*/
|
|
154
|
+
private _handleBlur;
|
|
155
|
+
/**
|
|
156
|
+
* Focus the input element
|
|
157
|
+
*/
|
|
158
|
+
focus(): void;
|
|
159
|
+
/**
|
|
160
|
+
* Blur the input element
|
|
161
|
+
*/
|
|
162
|
+
blur(): void;
|
|
163
|
+
/**
|
|
164
|
+
* Select all text in the input
|
|
165
|
+
*/
|
|
166
|
+
select(): void;
|
|
167
|
+
protected update(): void;
|
|
168
|
+
render(): string;
|
|
169
|
+
}
|
|
170
|
+
//# sourceMappingURL=el-dm-input.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"el-dm-input.d.ts","sourceRoot":"","sources":["../../src/el-dm-input.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,OAAO,EAAE,WAAW,EAAO,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAEnE;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAC;AA2K5F,qBAAa,SAAU,SAAQ,WAAW;IACxC,MAAM,CAAC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAaf;IAEF,iBAAiB;IACT,IAAI,EAAE,SAAS,CAAC;IAExB,oBAAoB;IACZ,KAAK,EAAE,MAAM,CAAC;IAEtB,sBAAsB;IACd,IAAI,EAAE,MAAM,CAAC;IAErB,iBAAiB;IACT,KAAK,EAAE,MAAM,CAAC;IAEtB,uBAAuB;IACf,WAAW,EAAE,MAAM,CAAC;IAE5B,oCAAoC;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAE1B,oCAAoC;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAE1B,oCAAoC;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAE1B,iBAAiB;IACT,IAAI,EAAE,IAAI,CAAC;IAEnB,uBAAuB;IACf,eAAe,EAAE,eAAe,CAAC;IAEzC,oBAAoB;IACZ,YAAY,EAAE,MAAM,CAAC;IAE7B,kBAAkB;IACV,UAAU,EAAE,MAAM,CAAC;IAE3B,mCAAmC;IACnC,OAAO,CAAC,QAAQ,CAAS;;IAOzB,iBAAiB,IAAI,IAAI;IAKzB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IASzB;;OAEG;IACH,OAAO,CAAC,YAAY;IAOpB;;OAEG;IACH,OAAO,CAAC,aAAa;IAOrB;;OAEG;IACH,OAAO,CAAC,YAAY;IAMpB;;OAEG;IACH,OAAO,CAAC,WAAW;IAMnB;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,IAAI,IAAI,IAAI;IAKZ;;OAEG;IACH,MAAM,IAAI,IAAI;IAKd,SAAS,CAAC,MAAM,IAAI,IAAI;IAaxB,MAAM,IAAI,MAAM;CA0EjB"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @duskmoon-dev/el-input
|
|
3
|
+
*
|
|
4
|
+
* DuskMoon Input custom element
|
|
5
|
+
*/
|
|
6
|
+
import { ElDmInput } from './el-dm-input.js';
|
|
7
|
+
export { ElDmInput };
|
|
8
|
+
export type { InputType } from './el-dm-input.js';
|
|
9
|
+
/**
|
|
10
|
+
* Register the el-dm-input custom element
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts
|
|
14
|
+
* import { register } from '@duskmoon-dev/el-input';
|
|
15
|
+
* register();
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export declare function register(): void;
|
|
19
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAE,CAAC;AACrB,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,IAAI,IAAI,CAI/B"}
|
package/package.json
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@duskmoon-dev/el-input",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "./dist/cjs/index.js",
|
|
6
|
+
"module": "./dist/esm/index.js",
|
|
7
|
+
"types": "./dist/types/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/types/index.d.ts",
|
|
11
|
+
"import": "./dist/esm/index.js",
|
|
12
|
+
"require": "./dist/cjs/index.js"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"files": [
|
|
16
|
+
"dist"
|
|
17
|
+
],
|
|
18
|
+
"scripts": {
|
|
19
|
+
"prebuild": "bun run clean",
|
|
20
|
+
"build": "bun run build:esm && bun run build:cjs && bun run build:types",
|
|
21
|
+
"build:esm": "bun build ./src/index.ts --outdir ./dist/esm --format esm --sourcemap --external @duskmoon-dev/el-core",
|
|
22
|
+
"build:cjs": "bun build ./src/index.ts --outdir ./dist/cjs --format cjs --sourcemap --external @duskmoon-dev/el-core",
|
|
23
|
+
"build:types": "tsc --emitDeclarationOnly --outDir ./dist/types",
|
|
24
|
+
"dev": "bun build ./src/index.ts --outdir ./dist/esm --format esm --sourcemap --external @duskmoon-dev/el-core --watch",
|
|
25
|
+
"clean": "del-cli dist",
|
|
26
|
+
"test": "bun test",
|
|
27
|
+
"typecheck": "tsc --noEmit",
|
|
28
|
+
"format": "prettier --write 'src/**/*.ts' '*.json' '*.md'",
|
|
29
|
+
"format:check": "prettier --check 'src/**/*.ts' '*.json' '*.md'",
|
|
30
|
+
"lint": "eslint src",
|
|
31
|
+
"lint:check": "eslint src --max-warnings 0",
|
|
32
|
+
"lint:fix": "eslint src --fix",
|
|
33
|
+
"release": "bun publish",
|
|
34
|
+
"release:dry-run": "bun publish --dry-run"
|
|
35
|
+
},
|
|
36
|
+
"dependencies": {
|
|
37
|
+
"@duskmoon-dev/el-core": "0.1.0"
|
|
38
|
+
},
|
|
39
|
+
"devDependencies": {
|
|
40
|
+
"typescript": "^5.7.2"
|
|
41
|
+
},
|
|
42
|
+
"publishConfig": {
|
|
43
|
+
"access": "public"
|
|
44
|
+
},
|
|
45
|
+
"customElements": "custom-elements.json"
|
|
46
|
+
}
|