@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 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">&#128269;</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
+ }