juxscript 1.1.333 → 1.1.334
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/blocks/menu.d.ts +62 -0
- package/dist/components/blocks/menu.d.ts.map +1 -0
- package/dist/components/blocks/menu.js +149 -0
- package/dist/components/blocks/menu.js.map +1 -0
- package/dist/components/button.d.ts +33 -0
- package/dist/components/button.d.ts.map +1 -0
- package/dist/components/button.js +108 -0
- package/dist/components/button.js.map +1 -0
- package/dist/components/checkbox.d.ts +62 -0
- package/dist/components/checkbox.d.ts.map +1 -0
- package/dist/components/checkbox.js +179 -0
- package/dist/components/checkbox.js.map +1 -0
- package/dist/components/container.d.ts +58 -0
- package/dist/components/container.d.ts.map +1 -0
- package/dist/components/container.js +152 -0
- package/dist/components/container.js.map +1 -0
- package/dist/components/data.d.ts +58 -0
- package/dist/components/data.d.ts.map +1 -0
- package/dist/components/data.js +131 -0
- package/dist/components/data.js.map +1 -0
- package/dist/components/grid.d.ts +58 -0
- package/dist/components/grid.d.ts.map +1 -0
- package/dist/components/grid.js +128 -0
- package/dist/components/grid.js.map +1 -0
- package/dist/components/include.d.ts +86 -0
- package/dist/components/include.d.ts.map +1 -0
- package/dist/components/include.js +239 -0
- package/dist/components/include.js.map +1 -0
- package/dist/components/input.d.ts +58 -0
- package/dist/components/input.d.ts.map +1 -0
- package/dist/components/input.js +162 -0
- package/dist/components/input.js.map +1 -0
- package/dist/components/link.d.ts +35 -0
- package/dist/components/link.d.ts.map +1 -0
- package/dist/components/link.js +136 -0
- package/dist/components/link.js.map +1 -0
- package/dist/components/list.d.ts +48 -0
- package/dist/components/list.d.ts.map +1 -0
- package/dist/components/list.js +179 -0
- package/dist/components/list.js.map +1 -0
- package/dist/components/nav.d.ts +46 -0
- package/dist/components/nav.d.ts.map +1 -0
- package/dist/components/nav.js +190 -0
- package/dist/components/nav.js.map +1 -0
- package/dist/components/radio.d.ts +40 -0
- package/dist/components/radio.d.ts.map +1 -0
- package/dist/components/radio.js +113 -0
- package/dist/components/radio.js.map +1 -0
- package/dist/components/select.d.ts +41 -0
- package/dist/components/select.d.ts.map +1 -0
- package/dist/components/select.js +112 -0
- package/dist/components/select.js.map +1 -0
- package/dist/components/store.d.ts +78 -0
- package/dist/components/store.d.ts.map +1 -0
- package/dist/components/store.js +249 -0
- package/dist/components/store.js.map +1 -0
- package/dist/components/style.d.ts +27 -0
- package/dist/components/style.d.ts.map +1 -0
- package/dist/components/style.js +53 -0
- package/dist/components/style.js.map +1 -0
- package/dist/components/table.d.ts +56 -0
- package/dist/components/table.d.ts.map +1 -0
- package/dist/components/table.js +200 -0
- package/dist/components/table.js.map +1 -0
- package/dist/components/tabs.d.ts +52 -0
- package/dist/components/tabs.d.ts.map +1 -0
- package/dist/components/tabs.js +207 -0
- package/dist/components/tabs.js.map +1 -0
- package/dist/components/tag.d.ts +41 -0
- package/dist/components/tag.d.ts.map +1 -0
- package/dist/components/tag.js +104 -0
- package/dist/components/tag.js.map +1 -0
- package/dist/devtools/devtools.d.ts +3 -0
- package/dist/devtools/devtools.d.ts.map +1 -0
- package/dist/devtools/devtools.js +182 -0
- package/dist/devtools/devtools.js.map +1 -0
- package/dist/index.d.ts +71 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +66 -0
- package/dist/index.js.map +1 -0
- package/dist/state/pageState.d.ts +19 -0
- package/dist/state/pageState.d.ts.map +1 -0
- package/dist/state/pageState.js +361 -0
- package/dist/state/pageState.js.map +1 -0
- package/dist/utils/codeHighlight.d.ts +7 -0
- package/dist/utils/codeHighlight.d.ts.map +1 -0
- package/dist/utils/codeHighlight.js +106 -0
- package/dist/utils/codeHighlight.js.map +1 -0
- package/dist/utils/codeparser.d.ts +29 -0
- package/dist/utils/codeparser.d.ts.map +1 -0
- package/dist/utils/codeparser.js +385 -0
- package/dist/utils/codeparser.js.map +1 -0
- package/dist/utils/fetch.d.ts +176 -0
- package/dist/utils/fetch.d.ts.map +1 -0
- package/dist/utils/fetch.js +428 -0
- package/dist/utils/fetch.js.map +1 -0
- package/dist/utils/formatId.d.ts +16 -0
- package/dist/utils/formatId.d.ts.map +1 -0
- package/dist/utils/formatId.js +28 -0
- package/dist/utils/formatId.js.map +1 -0
- package/dist/utils/idgen.d.ts +2 -0
- package/dist/utils/idgen.d.ts.map +1 -0
- package/dist/utils/idgen.js +5 -0
- package/dist/utils/idgen.js.map +1 -0
- package/dist/utils/niceName.d.ts +14 -0
- package/dist/utils/niceName.d.ts.map +1 -0
- package/dist/utils/niceName.js +23 -0
- package/dist/utils/niceName.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Include - Simplified resource injection for bundled and external resources
|
|
3
|
+
* Supports page-specific scoping and cleanup
|
|
4
|
+
*/
|
|
5
|
+
type ResourceType = 'css' | 'js' | 'module';
|
|
6
|
+
interface IncludeOptions {
|
|
7
|
+
type?: ResourceType;
|
|
8
|
+
target?: string;
|
|
9
|
+
async?: boolean;
|
|
10
|
+
defer?: boolean;
|
|
11
|
+
crossOrigin?: 'anonymous' | 'use-credentials';
|
|
12
|
+
integrity?: string;
|
|
13
|
+
pageScoped?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export declare class Include {
|
|
16
|
+
private url;
|
|
17
|
+
private options;
|
|
18
|
+
private element;
|
|
19
|
+
private pageId;
|
|
20
|
+
constructor(url: string, options?: IncludeOptions);
|
|
21
|
+
css(): this;
|
|
22
|
+
js(): this;
|
|
23
|
+
module(): this;
|
|
24
|
+
async(): this;
|
|
25
|
+
defer(): this;
|
|
26
|
+
/**
|
|
27
|
+
* Inject into specific container instead of <head>
|
|
28
|
+
* Useful for page-specific styles
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* jux.include('/css/page1.css').into('#page1-container');
|
|
32
|
+
*/
|
|
33
|
+
into(selector: string): this;
|
|
34
|
+
/**
|
|
35
|
+
* Mark as page-scoped for automatic cleanup
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* jux.include('/css/dashboard.css').forPage('dashboard');
|
|
39
|
+
* // Later: Include.cleanupPage('dashboard');
|
|
40
|
+
*/
|
|
41
|
+
forPage(pageId: string): this;
|
|
42
|
+
render(): this;
|
|
43
|
+
private createStylesheet;
|
|
44
|
+
private createScript;
|
|
45
|
+
private getContainer;
|
|
46
|
+
private isAlreadyLoaded;
|
|
47
|
+
remove(): this;
|
|
48
|
+
/**
|
|
49
|
+
* Remove all resources for a specific page
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* Include.cleanupPage('dashboard');
|
|
53
|
+
*/
|
|
54
|
+
static cleanupPage(pageId: string): void;
|
|
55
|
+
/**
|
|
56
|
+
* Remove all page-scoped resources
|
|
57
|
+
*/
|
|
58
|
+
static cleanupAll(): void;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Factory function - simplified usage
|
|
62
|
+
*
|
|
63
|
+
* Usage:
|
|
64
|
+
* // Basic (auto-detects from extension)
|
|
65
|
+
* jux.include('/css/styles.css');
|
|
66
|
+
* jux.include('/js/app.js');
|
|
67
|
+
*
|
|
68
|
+
* // Page-specific with cleanup
|
|
69
|
+
* jux.include('/css/dashboard.css').forPage('dashboard');
|
|
70
|
+
* jux.include('/js/dashboard.js').forPage('dashboard');
|
|
71
|
+
*
|
|
72
|
+
* // Later cleanup:
|
|
73
|
+
* Include.cleanupPage('dashboard');
|
|
74
|
+
*
|
|
75
|
+
* // Inject into specific container
|
|
76
|
+
* jux.include('/css/widget.css').into('#widget-container');
|
|
77
|
+
*
|
|
78
|
+
* // External CDN
|
|
79
|
+
* jux.include('https://cdn.tailwindcss.com').js();
|
|
80
|
+
*
|
|
81
|
+
* // Module
|
|
82
|
+
* jux.include('/js/app.mjs').module();
|
|
83
|
+
*/
|
|
84
|
+
export declare function include(url: string, options?: IncludeOptions): Include;
|
|
85
|
+
export {};
|
|
86
|
+
//# sourceMappingURL=include.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"include.d.ts","sourceRoot":"","sources":["../../lib/components/include.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,KAAK,YAAY,GAAG,KAAK,GAAG,IAAI,GAAG,QAAQ,CAAC;AAE5C,UAAU,cAAc;IACpB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,WAAW,GAAG,iBAAiB,CAAC;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAKD,qBAAa,OAAO;IAChB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,MAAM,CAAuB;gBAEzB,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB;IAoBrD,GAAG,IAAI,IAAI;IAKX,EAAE,IAAI,IAAI;IAKV,MAAM,IAAI,IAAI;IAKd,KAAK,IAAI,IAAI;IAKb,KAAK,IAAI,IAAI;IAKb;;;;;;OAMG;IACH,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAK5B;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAU7B,MAAM,IAAI,IAAI;IAoDd,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,YAAY;IAuBpB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,eAAe;IAKvB,MAAM,IAAI,IAAI;IAYd;;;;;OAKG;IACH,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAYxC;;OAEG;IACH,MAAM,CAAC,UAAU,IAAI,IAAI;CAS5B;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAItE"}
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Include - Simplified resource injection for bundled and external resources
|
|
3
|
+
* Supports page-specific scoping and cleanup
|
|
4
|
+
*/
|
|
5
|
+
// Global registry for page-scoped resources
|
|
6
|
+
const scopedResources = new Map();
|
|
7
|
+
export class Include {
|
|
8
|
+
constructor(url, options = {}) {
|
|
9
|
+
this.element = null;
|
|
10
|
+
this.pageId = null;
|
|
11
|
+
this.url = url;
|
|
12
|
+
this.options = options;
|
|
13
|
+
// Auto-detect type from extension if not provided
|
|
14
|
+
if (!options.type) {
|
|
15
|
+
if (url.endsWith('.css')) {
|
|
16
|
+
this.options.type = 'css';
|
|
17
|
+
}
|
|
18
|
+
else if (url.endsWith('.mjs') || url.endsWith('.module.js')) {
|
|
19
|
+
this.options.type = 'module';
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
this.options.type = 'js';
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/* -------------------------
|
|
27
|
+
* Fluent API
|
|
28
|
+
* ------------------------- */
|
|
29
|
+
css() {
|
|
30
|
+
this.options.type = 'css';
|
|
31
|
+
return this;
|
|
32
|
+
}
|
|
33
|
+
js() {
|
|
34
|
+
this.options.type = 'js';
|
|
35
|
+
return this;
|
|
36
|
+
}
|
|
37
|
+
module() {
|
|
38
|
+
this.options.type = 'module';
|
|
39
|
+
return this;
|
|
40
|
+
}
|
|
41
|
+
async() {
|
|
42
|
+
this.options.async = true;
|
|
43
|
+
return this;
|
|
44
|
+
}
|
|
45
|
+
defer() {
|
|
46
|
+
this.options.defer = true;
|
|
47
|
+
return this;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Inject into specific container instead of <head>
|
|
51
|
+
* Useful for page-specific styles
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* jux.include('/css/page1.css').into('#page1-container');
|
|
55
|
+
*/
|
|
56
|
+
into(selector) {
|
|
57
|
+
this.options.target = selector;
|
|
58
|
+
return this;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Mark as page-scoped for automatic cleanup
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* jux.include('/css/dashboard.css').forPage('dashboard');
|
|
65
|
+
* // Later: Include.cleanupPage('dashboard');
|
|
66
|
+
*/
|
|
67
|
+
forPage(pageId) {
|
|
68
|
+
this.pageId = pageId;
|
|
69
|
+
this.options.pageScoped = true;
|
|
70
|
+
return this;
|
|
71
|
+
}
|
|
72
|
+
/* -------------------------
|
|
73
|
+
* Render
|
|
74
|
+
* ------------------------- */
|
|
75
|
+
render() {
|
|
76
|
+
if (typeof document === 'undefined')
|
|
77
|
+
return this;
|
|
78
|
+
try {
|
|
79
|
+
// Check if already loaded
|
|
80
|
+
if (this.isAlreadyLoaded()) {
|
|
81
|
+
console.log(`⚠️ Resource already loaded: ${this.url}`);
|
|
82
|
+
return this;
|
|
83
|
+
}
|
|
84
|
+
// Create element based on type
|
|
85
|
+
let element;
|
|
86
|
+
switch (this.options.type) {
|
|
87
|
+
case 'css':
|
|
88
|
+
element = this.createStylesheet();
|
|
89
|
+
break;
|
|
90
|
+
case 'js':
|
|
91
|
+
case 'module':
|
|
92
|
+
element = this.createScript();
|
|
93
|
+
break;
|
|
94
|
+
default:
|
|
95
|
+
throw new Error(`Unknown resource type: ${this.options.type}`);
|
|
96
|
+
}
|
|
97
|
+
// Get target container
|
|
98
|
+
const container = this.getContainer();
|
|
99
|
+
container.appendChild(element);
|
|
100
|
+
this.element = element;
|
|
101
|
+
// Register for page cleanup if needed
|
|
102
|
+
if (this.options.pageScoped && this.pageId) {
|
|
103
|
+
if (!scopedResources.has(this.pageId)) {
|
|
104
|
+
scopedResources.set(this.pageId, new Set());
|
|
105
|
+
}
|
|
106
|
+
scopedResources.get(this.pageId).add(element);
|
|
107
|
+
}
|
|
108
|
+
console.log(`✓ Loaded ${this.options.type}: ${this.url}`);
|
|
109
|
+
}
|
|
110
|
+
catch (error) {
|
|
111
|
+
console.error(`✗ Failed to load ${this.options.type}: ${this.url}`, error);
|
|
112
|
+
throw error;
|
|
113
|
+
}
|
|
114
|
+
return this;
|
|
115
|
+
}
|
|
116
|
+
/* -------------------------
|
|
117
|
+
* Element Creation
|
|
118
|
+
* ------------------------- */
|
|
119
|
+
createStylesheet() {
|
|
120
|
+
const link = document.createElement('link');
|
|
121
|
+
link.rel = 'stylesheet';
|
|
122
|
+
link.href = this.url;
|
|
123
|
+
link.dataset.juxInclude = this.url;
|
|
124
|
+
if (this.options.crossOrigin)
|
|
125
|
+
link.crossOrigin = this.options.crossOrigin;
|
|
126
|
+
if (this.options.integrity)
|
|
127
|
+
link.integrity = this.options.integrity;
|
|
128
|
+
link.onload = () => console.log(`✓ Stylesheet loaded: ${this.url}`);
|
|
129
|
+
link.onerror = () => {
|
|
130
|
+
throw new Error(`Failed to load stylesheet: ${this.url}`);
|
|
131
|
+
};
|
|
132
|
+
return link;
|
|
133
|
+
}
|
|
134
|
+
createScript() {
|
|
135
|
+
const script = document.createElement('script');
|
|
136
|
+
script.src = this.url;
|
|
137
|
+
script.dataset.juxInclude = this.url;
|
|
138
|
+
if (this.options.type === 'module')
|
|
139
|
+
script.type = 'module';
|
|
140
|
+
if (this.options.async)
|
|
141
|
+
script.async = true;
|
|
142
|
+
if (this.options.defer)
|
|
143
|
+
script.defer = true;
|
|
144
|
+
if (this.options.crossOrigin)
|
|
145
|
+
script.crossOrigin = this.options.crossOrigin;
|
|
146
|
+
if (this.options.integrity)
|
|
147
|
+
script.integrity = this.options.integrity;
|
|
148
|
+
script.onload = () => console.log(`✓ Script loaded: ${this.url}`);
|
|
149
|
+
script.onerror = () => {
|
|
150
|
+
throw new Error(`Failed to load script: ${this.url}`);
|
|
151
|
+
};
|
|
152
|
+
return script;
|
|
153
|
+
}
|
|
154
|
+
/* -------------------------
|
|
155
|
+
* Helpers
|
|
156
|
+
* ------------------------- */
|
|
157
|
+
getContainer() {
|
|
158
|
+
if (this.options.target) {
|
|
159
|
+
const container = document.querySelector(this.options.target);
|
|
160
|
+
if (!container) {
|
|
161
|
+
throw new Error(`Target container not found: ${this.options.target}`);
|
|
162
|
+
}
|
|
163
|
+
return container;
|
|
164
|
+
}
|
|
165
|
+
return document.head;
|
|
166
|
+
}
|
|
167
|
+
isAlreadyLoaded() {
|
|
168
|
+
const selector = `[data-jux-include="${this.url}"]`;
|
|
169
|
+
return document.querySelector(selector) !== null;
|
|
170
|
+
}
|
|
171
|
+
remove() {
|
|
172
|
+
if (this.element?.parentNode) {
|
|
173
|
+
this.element.parentNode.removeChild(this.element);
|
|
174
|
+
this.element = null;
|
|
175
|
+
}
|
|
176
|
+
return this;
|
|
177
|
+
}
|
|
178
|
+
/* -------------------------
|
|
179
|
+
* Static Page Cleanup
|
|
180
|
+
* ------------------------- */
|
|
181
|
+
/**
|
|
182
|
+
* Remove all resources for a specific page
|
|
183
|
+
*
|
|
184
|
+
* @example
|
|
185
|
+
* Include.cleanupPage('dashboard');
|
|
186
|
+
*/
|
|
187
|
+
static cleanupPage(pageId) {
|
|
188
|
+
const resources = scopedResources.get(pageId);
|
|
189
|
+
if (!resources)
|
|
190
|
+
return;
|
|
191
|
+
resources.forEach(element => {
|
|
192
|
+
element.parentNode?.removeChild(element);
|
|
193
|
+
});
|
|
194
|
+
scopedResources.delete(pageId);
|
|
195
|
+
console.log(`✓ Cleaned up page resources: ${pageId}`);
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Remove all page-scoped resources
|
|
199
|
+
*/
|
|
200
|
+
static cleanupAll() {
|
|
201
|
+
scopedResources.forEach((resources, pageId) => {
|
|
202
|
+
resources.forEach(element => {
|
|
203
|
+
element.parentNode?.removeChild(element);
|
|
204
|
+
});
|
|
205
|
+
});
|
|
206
|
+
scopedResources.clear();
|
|
207
|
+
console.log('✓ Cleaned up all page-scoped resources');
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Factory function - simplified usage
|
|
212
|
+
*
|
|
213
|
+
* Usage:
|
|
214
|
+
* // Basic (auto-detects from extension)
|
|
215
|
+
* jux.include('/css/styles.css');
|
|
216
|
+
* jux.include('/js/app.js');
|
|
217
|
+
*
|
|
218
|
+
* // Page-specific with cleanup
|
|
219
|
+
* jux.include('/css/dashboard.css').forPage('dashboard');
|
|
220
|
+
* jux.include('/js/dashboard.js').forPage('dashboard');
|
|
221
|
+
*
|
|
222
|
+
* // Later cleanup:
|
|
223
|
+
* Include.cleanupPage('dashboard');
|
|
224
|
+
*
|
|
225
|
+
* // Inject into specific container
|
|
226
|
+
* jux.include('/css/widget.css').into('#widget-container');
|
|
227
|
+
*
|
|
228
|
+
* // External CDN
|
|
229
|
+
* jux.include('https://cdn.tailwindcss.com').js();
|
|
230
|
+
*
|
|
231
|
+
* // Module
|
|
232
|
+
* jux.include('/js/app.mjs').module();
|
|
233
|
+
*/
|
|
234
|
+
export function include(url, options) {
|
|
235
|
+
const inc = new Include(url, options);
|
|
236
|
+
inc.render();
|
|
237
|
+
return inc;
|
|
238
|
+
}
|
|
239
|
+
//# sourceMappingURL=include.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"include.js","sourceRoot":"","sources":["../../lib/components/include.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
type InputType = 'text' | 'email' | 'password' | 'number' | 'tel' | 'url' | 'search' | 'date' | 'time' | 'datetime-local' | 'color' | 'range' | 'file' | 'hidden';
|
|
2
|
+
interface InputOptions {
|
|
3
|
+
type?: InputType;
|
|
4
|
+
label?: string;
|
|
5
|
+
placeholder?: string;
|
|
6
|
+
value?: string;
|
|
7
|
+
name?: string;
|
|
8
|
+
required?: boolean;
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
readonly?: boolean;
|
|
11
|
+
min?: string | number;
|
|
12
|
+
max?: string | number;
|
|
13
|
+
step?: string | number;
|
|
14
|
+
pattern?: string;
|
|
15
|
+
autocomplete?: string;
|
|
16
|
+
class?: string;
|
|
17
|
+
style?: string;
|
|
18
|
+
}
|
|
19
|
+
declare class Input {
|
|
20
|
+
id: string;
|
|
21
|
+
options: InputOptions;
|
|
22
|
+
private _element;
|
|
23
|
+
private _wrapper;
|
|
24
|
+
private _onChange;
|
|
25
|
+
constructor(id: string, options?: InputOptions);
|
|
26
|
+
type(value: InputType): this;
|
|
27
|
+
label(value: string): this;
|
|
28
|
+
placeholder(value: string): this;
|
|
29
|
+
value(value: string): this;
|
|
30
|
+
name(value: string): this;
|
|
31
|
+
required(value?: boolean): this;
|
|
32
|
+
disabled(value?: boolean): this;
|
|
33
|
+
readonly(value?: boolean): this;
|
|
34
|
+
style(value: string): this;
|
|
35
|
+
class(value: string): this;
|
|
36
|
+
onChange(fn: (value: string, event: Event) => void): this;
|
|
37
|
+
getValue(): string;
|
|
38
|
+
getFiles(): FileList | null;
|
|
39
|
+
setValue(val: string): this;
|
|
40
|
+
setContent(val: string): this;
|
|
41
|
+
render(target?: string | HTMLElement): this;
|
|
42
|
+
}
|
|
43
|
+
export declare function input(id: string, options?: InputOptions): Input;
|
|
44
|
+
export declare function email(id: string, options?: InputOptions): Input;
|
|
45
|
+
export declare function password(id: string, options?: InputOptions): Input;
|
|
46
|
+
export declare function number(id: string, options?: InputOptions): Input;
|
|
47
|
+
export declare function tel(id: string, options?: InputOptions): Input;
|
|
48
|
+
export declare function url(id: string, options?: InputOptions): Input;
|
|
49
|
+
export declare function search(id: string, options?: InputOptions): Input;
|
|
50
|
+
export declare function date(id: string, options?: InputOptions): Input;
|
|
51
|
+
export declare function time(id: string, options?: InputOptions): Input;
|
|
52
|
+
export declare function datetime(id: string, options?: InputOptions): Input;
|
|
53
|
+
export declare function color(id: string, options?: InputOptions): Input;
|
|
54
|
+
export declare function range(id: string, options?: InputOptions): Input;
|
|
55
|
+
export declare function file(id: string, options?: InputOptions): Input;
|
|
56
|
+
export declare function hidden(id: string, options?: InputOptions): Input;
|
|
57
|
+
export { Input, InputOptions };
|
|
58
|
+
//# sourceMappingURL=input.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../lib/components/input.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import generateId from '../utils/idgen.js';
|
|
2
|
+
import niceName from '../utils/niceName.js';
|
|
3
|
+
import { pageState } from '../state/pageState.js';
|
|
4
|
+
class Input {
|
|
5
|
+
constructor(id, options = {}) {
|
|
6
|
+
this._element = null;
|
|
7
|
+
this._wrapper = null;
|
|
8
|
+
this._onChange = null;
|
|
9
|
+
this.id = id || generateId();
|
|
10
|
+
this.options = {
|
|
11
|
+
type: 'text',
|
|
12
|
+
...options
|
|
13
|
+
};
|
|
14
|
+
// Auto-generate label from ID if not provided
|
|
15
|
+
if (!this.options.label && this.id) {
|
|
16
|
+
this.options.label = niceName(this.id);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
// Fluent API
|
|
20
|
+
type(value) { this.options.type = value; return this; }
|
|
21
|
+
label(value) { this.options.label = value; return this; }
|
|
22
|
+
placeholder(value) { this.options.placeholder = value; return this; }
|
|
23
|
+
value(value) { this.options.value = value; if (this._element)
|
|
24
|
+
this._element.value = value; return this; }
|
|
25
|
+
name(value) { this.options.name = value; return this; }
|
|
26
|
+
required(value = true) { this.options.required = value; return this; }
|
|
27
|
+
disabled(value = true) { this.options.disabled = value; if (this._element)
|
|
28
|
+
this._element.disabled = value; return this; }
|
|
29
|
+
readonly(value = true) { this.options.readonly = value; return this; }
|
|
30
|
+
style(value) { this.options.style = value; return this; }
|
|
31
|
+
class(value) { this.options.class = value; return this; }
|
|
32
|
+
onChange(fn) {
|
|
33
|
+
this._onChange = fn;
|
|
34
|
+
return this;
|
|
35
|
+
}
|
|
36
|
+
getValue() {
|
|
37
|
+
return this._element?.value ?? this.options.value ?? '';
|
|
38
|
+
}
|
|
39
|
+
getFiles() {
|
|
40
|
+
return this._element?.files ?? null;
|
|
41
|
+
}
|
|
42
|
+
setValue(val) {
|
|
43
|
+
if (this._element)
|
|
44
|
+
this._element.value = val;
|
|
45
|
+
this.options.value = val;
|
|
46
|
+
return this;
|
|
47
|
+
}
|
|
48
|
+
setContent(val) {
|
|
49
|
+
return this.setValue(val);
|
|
50
|
+
}
|
|
51
|
+
render(target) {
|
|
52
|
+
const wrapper = document.createElement('div');
|
|
53
|
+
wrapper.className = 'jux-input';
|
|
54
|
+
wrapper.id = `${this.id}-wrapper`;
|
|
55
|
+
if (this.options.class)
|
|
56
|
+
wrapper.className += ` ${this.options.class}`;
|
|
57
|
+
if (this.options.style)
|
|
58
|
+
wrapper.setAttribute('style', this.options.style);
|
|
59
|
+
if (this.options.label) {
|
|
60
|
+
const labelEl = document.createElement('label');
|
|
61
|
+
labelEl.htmlFor = this.id;
|
|
62
|
+
labelEl.textContent = this.options.label;
|
|
63
|
+
labelEl.className = 'jux-input-label';
|
|
64
|
+
wrapper.appendChild(labelEl);
|
|
65
|
+
}
|
|
66
|
+
const input = document.createElement('input');
|
|
67
|
+
input.id = this.id;
|
|
68
|
+
input.type = this.options.type || 'text';
|
|
69
|
+
input.className = 'jux-input-element';
|
|
70
|
+
if (this.options.placeholder)
|
|
71
|
+
input.placeholder = this.options.placeholder;
|
|
72
|
+
if (this.options.value)
|
|
73
|
+
input.value = this.options.value;
|
|
74
|
+
if (this.options.name)
|
|
75
|
+
input.name = this.options.name;
|
|
76
|
+
if (this.options.required)
|
|
77
|
+
input.required = true;
|
|
78
|
+
if (this.options.disabled)
|
|
79
|
+
input.disabled = true;
|
|
80
|
+
if (this.options.readonly)
|
|
81
|
+
input.readOnly = true;
|
|
82
|
+
if (this.options.min != null)
|
|
83
|
+
input.min = String(this.options.min);
|
|
84
|
+
if (this.options.max != null)
|
|
85
|
+
input.max = String(this.options.max);
|
|
86
|
+
if (this.options.step != null)
|
|
87
|
+
input.step = String(this.options.step);
|
|
88
|
+
if (this.options.pattern)
|
|
89
|
+
input.pattern = this.options.pattern;
|
|
90
|
+
if (this.options.autocomplete)
|
|
91
|
+
input.autocomplete = this.options.autocomplete;
|
|
92
|
+
input.addEventListener('input', (e) => {
|
|
93
|
+
if (this._onChange)
|
|
94
|
+
this._onChange(input.value, e);
|
|
95
|
+
});
|
|
96
|
+
// For file inputs, also listen to 'change'
|
|
97
|
+
if (this.options.type === 'file') {
|
|
98
|
+
input.addEventListener('change', (e) => {
|
|
99
|
+
if (this._onChange)
|
|
100
|
+
this._onChange(input.value, e);
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
wrapper.appendChild(input);
|
|
104
|
+
this._element = input;
|
|
105
|
+
this._wrapper = wrapper;
|
|
106
|
+
const container = target
|
|
107
|
+
? (typeof target === 'string' ? document.getElementById(target) || document.querySelector(target) : target)
|
|
108
|
+
: document.getElementById('app');
|
|
109
|
+
container?.appendChild(wrapper);
|
|
110
|
+
return this;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
export function input(id, options = {}) {
|
|
114
|
+
const inp = new Input(id, options);
|
|
115
|
+
inp.render();
|
|
116
|
+
pageState.__register(inp);
|
|
117
|
+
return inp;
|
|
118
|
+
}
|
|
119
|
+
// ═══════════════════════════════════════════════════════════════
|
|
120
|
+
// TYPE-SPECIFIC FACTORY METHODS
|
|
121
|
+
// ═══════════════════════════════════════════════════════════════
|
|
122
|
+
export function email(id, options = {}) {
|
|
123
|
+
return input(id, { placeholder: 'name@example.com', autocomplete: 'email', ...options, type: 'email' });
|
|
124
|
+
}
|
|
125
|
+
export function password(id, options = {}) {
|
|
126
|
+
return input(id, { placeholder: '••••••••', autocomplete: 'current-password', ...options, type: 'password' });
|
|
127
|
+
}
|
|
128
|
+
export function number(id, options = {}) {
|
|
129
|
+
return input(id, { placeholder: '0', ...options, type: 'number' });
|
|
130
|
+
}
|
|
131
|
+
export function tel(id, options = {}) {
|
|
132
|
+
return input(id, { placeholder: '+1 (555) 000-0000', autocomplete: 'tel', ...options, type: 'tel' });
|
|
133
|
+
}
|
|
134
|
+
export function url(id, options = {}) {
|
|
135
|
+
return input(id, { placeholder: 'https://', autocomplete: 'url', ...options, type: 'url' });
|
|
136
|
+
}
|
|
137
|
+
export function search(id, options = {}) {
|
|
138
|
+
return input(id, { placeholder: 'Search...', ...options, type: 'search' });
|
|
139
|
+
}
|
|
140
|
+
export function date(id, options = {}) {
|
|
141
|
+
return input(id, { ...options, type: 'date' });
|
|
142
|
+
}
|
|
143
|
+
export function time(id, options = {}) {
|
|
144
|
+
return input(id, { ...options, type: 'time' });
|
|
145
|
+
}
|
|
146
|
+
export function datetime(id, options = {}) {
|
|
147
|
+
return input(id, { ...options, type: 'datetime-local' });
|
|
148
|
+
}
|
|
149
|
+
export function color(id, options = {}) {
|
|
150
|
+
return input(id, { ...options, type: 'color' });
|
|
151
|
+
}
|
|
152
|
+
export function range(id, options = {}) {
|
|
153
|
+
return input(id, { min: '0', max: '100', ...options, type: 'range' });
|
|
154
|
+
}
|
|
155
|
+
export function file(id, options = {}) {
|
|
156
|
+
return input(id, { ...options, type: 'file' });
|
|
157
|
+
}
|
|
158
|
+
export function hidden(id, options = {}) {
|
|
159
|
+
return input(id, { ...options, type: 'hidden' });
|
|
160
|
+
}
|
|
161
|
+
export { Input };
|
|
162
|
+
//# sourceMappingURL=input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input.js","sourceRoot":"","sources":["../../lib/components/input.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,mBAAmB,CAAC;AAC3C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAsBlD,MAAM,KAAK;IAOP,YAAY,EAAU,EAAE,UAAwB,EAAE;QAJ1C,aAAQ,GAA4B,IAAI,CAAC;QACzC,aAAQ,GAAuB,IAAI,CAAC;QACpC,cAAS,GAAmD,IAAI,CAAC;QAGrE,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,UAAU,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG;YACX,IAAI,EAAE,MAAM;YACZ,GAAG,OAAO;SACb,CAAC;QAEF,8CAA8C;QAC9C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3C,CAAC;IACL,CAAC;IAED,aAAa;IACb,IAAI,CAAC,KAAgB,IAAU,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IACxE,KAAK,CAAC,KAAa,IAAU,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IACvE,WAAW,CAAC,KAAa,IAAU,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IACnF,KAAK,CAAC,KAAa,IAAU,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ;QAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IACvH,IAAI,CAAC,KAAa,IAAU,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IACrE,QAAQ,CAAC,QAAiB,IAAI,IAAU,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IACrF,QAAQ,CAAC,QAAiB,IAAI,IAAU,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ;QAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IACxI,QAAQ,CAAC,QAAiB,IAAI,IAAU,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IACrF,KAAK,CAAC,KAAa,IAAU,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IACvE,KAAK,CAAC,KAAa,IAAU,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IAEvE,QAAQ,CAAC,EAAyC;QAC9C,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;IAC5D,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,IAAI,CAAC;IACxC,CAAC;IAED,QAAQ,CAAC,GAAW;QAChB,IAAI,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,GAAG,CAAC;QAC7C,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,UAAU,CAAC,GAAW;QAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,CAAC,MAA6B;QAChC,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,OAAO,CAAC,SAAS,GAAG,WAAW,CAAC;QAChC,OAAO,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,UAAU,CAAC;QAClC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK;YAAE,OAAO,CAAC,SAAS,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACtE,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK;YAAE,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAE1E,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAChD,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YACzC,OAAO,CAAC,SAAS,GAAG,iBAAiB,CAAC;YACtC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC9C,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC;QACzC,KAAK,CAAC,SAAS,GAAG,mBAAmB,CAAC;QACtC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW;YAAE,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;QAC3E,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK;YAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QACzD,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI;YAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QACtD,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;QACjD,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;QACjD,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;QACjD,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI;YAAE,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACnE,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI;YAAE,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACnE,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI;YAAE,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtE,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO;YAAE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;QAC/D,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY;YAAE,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,YAAwB,CAAC;QAE1F,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YAClC,IAAI,IAAI,CAAC,SAAS;gBAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,2CAA2C;QAC3C,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC/B,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;gBACnC,IAAI,IAAI,CAAC,SAAS;oBAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;QACP,CAAC;QAED,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QAExB,MAAM,SAAS,GAAG,MAAM;YACpB,CAAC,CAAC,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC3G,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACrC,SAAS,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;QAEhC,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAED,MAAM,UAAU,KAAK,CAAC,EAAU,EAAE,UAAwB,EAAE;IACxD,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACnC,GAAG,CAAC,MAAM,EAAE,CAAC;IACb,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC1B,OAAO,GAAG,CAAC;AACf,CAAC;AAED,kEAAkE;AAClE,gCAAgC;AAChC,kEAAkE;AAElE,MAAM,UAAU,KAAK,CAAC,EAAU,EAAE,UAAwB,EAAE;IACxD,OAAO,KAAK,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,kBAAkB,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;AAC5G,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,EAAU,EAAE,UAAwB,EAAE;IAC3D,OAAO,KAAK,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,kBAAkB,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;AAClH,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,EAAU,EAAE,UAAwB,EAAE;IACzD,OAAO,KAAK,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,EAAU,EAAE,UAAwB,EAAE;IACtD,OAAO,KAAK,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,mBAAmB,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACzG,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,EAAU,EAAE,UAAwB,EAAE;IACtD,OAAO,KAAK,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAChG,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,EAAU,EAAE,UAAwB,EAAE;IACzD,OAAO,KAAK,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,EAAU,EAAE,UAAwB,EAAE;IACvD,OAAO,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,EAAU,EAAE,UAAwB,EAAE;IACvD,OAAO,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,EAAU,EAAE,UAAwB,EAAE;IAC3D,OAAO,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,EAAU,EAAE,UAAwB,EAAE;IACxD,OAAO,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,EAAU,EAAE,UAAwB,EAAE;IACxD,OAAO,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,EAAU,EAAE,UAAwB,EAAE;IACvD,OAAO,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,EAAU,EAAE,UAAwB,EAAE;IACzD,OAAO,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;AACrD,CAAC;AAED,OAAO,EAAE,KAAK,EAAgB,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
interface LinkOptions {
|
|
2
|
+
content?: string;
|
|
3
|
+
href?: string;
|
|
4
|
+
spa?: boolean;
|
|
5
|
+
external?: boolean;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
class?: string;
|
|
8
|
+
style?: string;
|
|
9
|
+
target?: string;
|
|
10
|
+
linkTarget?: '_blank' | '_self' | '_parent' | '_top';
|
|
11
|
+
icon?: string;
|
|
12
|
+
[key: string]: any;
|
|
13
|
+
}
|
|
14
|
+
declare class Link {
|
|
15
|
+
id: string;
|
|
16
|
+
opts: LinkOptions;
|
|
17
|
+
private _element;
|
|
18
|
+
private _onChange;
|
|
19
|
+
constructor(id: string, options?: LinkOptions);
|
|
20
|
+
getValue(): string;
|
|
21
|
+
getContent(): string;
|
|
22
|
+
setValue(val: string): this;
|
|
23
|
+
setContent(val: string): this;
|
|
24
|
+
setHref(val: string): this;
|
|
25
|
+
setDisabled(val: boolean): this;
|
|
26
|
+
setClass(val: string): this;
|
|
27
|
+
setStyle(val: string): this;
|
|
28
|
+
getElement(): HTMLAnchorElement;
|
|
29
|
+
onChange(fn: (value: string) => void): this;
|
|
30
|
+
}
|
|
31
|
+
export declare function link(id: string, options?: LinkOptions): Link;
|
|
32
|
+
export declare function a(id: string, options?: LinkOptions): Link;
|
|
33
|
+
export { Link, LinkOptions };
|
|
34
|
+
export default link;
|
|
35
|
+
//# sourceMappingURL=link.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../lib/components/link.ts"],"names":[],"mappings":"AAIA,UAAU,WAAW;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,cAAM,IAAI;IACN,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,SAAS,CAA0C;gBAE/C,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB;IA4EjD,QAAQ,IAAI,MAAM;IAClB,UAAU,IAAI,MAAM;IAEpB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAM3B,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAW7B,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAE1B,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAU/B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAK3B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAK3B,UAAU,IAAI,iBAAiB;IAE/B,QAAQ,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;CAI9C;AAED,wBAAgB,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,IAAI,CAIhE;AAED,wBAAgB,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,IAAI,CAI7D;AAED,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;AAC7B,eAAe,IAAI,CAAC"}
|