@liwe3/webcomponents 1.0.14 → 1.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.
Files changed (44) hide show
  1. package/dist/AITextEditor.d.ts +173 -0
  2. package/dist/AITextEditor.d.ts.map +1 -0
  3. package/dist/ChunkUploader.d.ts +103 -0
  4. package/dist/ChunkUploader.d.ts.map +1 -0
  5. package/dist/ChunkUploader.js +614 -0
  6. package/dist/ChunkUploader.js.map +1 -0
  7. package/dist/ContainerBox.d.ts +112 -0
  8. package/dist/ContainerBox.d.ts.map +1 -0
  9. package/dist/ContainerBox.js +359 -0
  10. package/dist/ContainerBox.js.map +1 -0
  11. package/dist/DateSelector.d.ts +103 -0
  12. package/dist/DateSelector.d.ts.map +1 -0
  13. package/dist/Drawer.d.ts +63 -0
  14. package/dist/Drawer.d.ts.map +1 -0
  15. package/dist/Drawer.js +340 -0
  16. package/dist/Drawer.js.map +1 -0
  17. package/dist/ImageView.d.ts +42 -0
  18. package/dist/ImageView.d.ts.map +1 -0
  19. package/dist/ImageView.js +209 -0
  20. package/dist/ImageView.js.map +1 -0
  21. package/dist/PopoverMenu.d.ts +103 -0
  22. package/dist/PopoverMenu.d.ts.map +1 -0
  23. package/dist/SmartSelect.d.ts +99 -0
  24. package/dist/SmartSelect.d.ts.map +1 -0
  25. package/dist/Toast.d.ts +127 -0
  26. package/dist/Toast.d.ts.map +1 -0
  27. package/dist/Toast.js +79 -49
  28. package/dist/Toast.js.map +1 -1
  29. package/dist/TreeView.d.ts +84 -0
  30. package/dist/TreeView.d.ts.map +1 -0
  31. package/dist/TreeView.js +478 -0
  32. package/dist/TreeView.js.map +1 -0
  33. package/dist/index.d.ts +16 -0
  34. package/dist/index.d.ts.map +1 -0
  35. package/dist/index.js +26 -12
  36. package/dist/index.js.map +1 -1
  37. package/package.json +28 -3
  38. package/src/ChunkUploader.ts +921 -0
  39. package/src/ContainerBox.ts +570 -0
  40. package/src/Drawer.ts +435 -0
  41. package/src/ImageView.ts +265 -0
  42. package/src/Toast.ts +96 -32
  43. package/src/TreeView.ts +673 -0
  44. package/src/index.ts +45 -6
@@ -0,0 +1,173 @@
1
+ /**
2
+ * AITextEditor Web Component
3
+ * A text editor with AI-powered text continuation suggestions
4
+ */
5
+ export interface AITextEditorConfig {
6
+ apiKey?: string;
7
+ suggestionDelay?: number;
8
+ systemPrompt?: string;
9
+ apiEndpoint?: string;
10
+ modelName?: string;
11
+ context?: string;
12
+ }
13
+ export declare class AITextEditorElement extends HTMLElement {
14
+ shadowRoot: ShadowRoot;
15
+ private editor;
16
+ private editorBackground;
17
+ private loading;
18
+ private editorStatus;
19
+ private typingTimer;
20
+ private fullSuggestion;
21
+ private suggestionParagraphs;
22
+ private currentParagraphIndex;
23
+ private isShowingSuggestion;
24
+ private apiKey;
25
+ private suggestionDelay;
26
+ private systemPrompt;
27
+ private apiEndpoint;
28
+ private modelName;
29
+ private context;
30
+ constructor();
31
+ /**
32
+ * Renders the component's HTML structure
33
+ */
34
+ private render;
35
+ /**
36
+ * Initializes the component after rendering
37
+ */
38
+ private init;
39
+ /**
40
+ * Updates the background layer with current text and suggestions
41
+ */
42
+ private updateBackground;
43
+ /**
44
+ * Synchronizes scroll position between editor and background
45
+ */
46
+ private syncScroll;
47
+ /**
48
+ * Handles text input events
49
+ */
50
+ private handleTextInput;
51
+ /**
52
+ * Handles keyboard events
53
+ */
54
+ private handleKeyDown;
55
+ /**
56
+ * Requests an AI suggestion for the current text
57
+ */
58
+ private requestSuggestion;
59
+ /**
60
+ * Calls the OpenAI API for text completion
61
+ */
62
+ private callOpenAI;
63
+ /**
64
+ * Shows an AI suggestion
65
+ */
66
+ private showSuggestion;
67
+ /**
68
+ * Splits text into paragraphs/sentences
69
+ */
70
+ private splitIntoParagraphs;
71
+ /**
72
+ * Hides the current suggestion
73
+ */
74
+ private hideSuggestion;
75
+ /**
76
+ * Accepts the current suggestion paragraph
77
+ */
78
+ private acceptSuggestion;
79
+ /**
80
+ * Shows loading indicator
81
+ */
82
+ private showLoading;
83
+ /**
84
+ * Hides loading indicator
85
+ */
86
+ private hideLoading;
87
+ /**
88
+ * Shows an error message
89
+ */
90
+ private showError;
91
+ /**
92
+ * Escapes HTML special characters
93
+ */
94
+ private escapeHtml;
95
+ /**
96
+ * Sets the text content
97
+ */
98
+ setText(text: string): void;
99
+ /**
100
+ * Gets the text content
101
+ */
102
+ getText(): string;
103
+ /**
104
+ * Sets the API key
105
+ */
106
+ setApiKey(key: string): void;
107
+ /**
108
+ * Saves API key to localStorage
109
+ */
110
+ private _saveApiKey;
111
+ /**
112
+ * Loads API key from localStorage
113
+ */
114
+ private _loadApiKey;
115
+ /**
116
+ * Gets the API key
117
+ */
118
+ getApiKey(): string;
119
+ /**
120
+ * Sets the suggestion delay in seconds
121
+ */
122
+ setSuggestionDelay(seconds: number): void;
123
+ /**
124
+ * Gets the suggestion delay in seconds
125
+ */
126
+ getSuggestionDelay(): number;
127
+ /**
128
+ * Sets the system prompt
129
+ */
130
+ setSystemPrompt(prompt: string): void;
131
+ /**
132
+ * Gets the system prompt
133
+ */
134
+ getSystemPrompt(): string;
135
+ /**
136
+ * Sets the API endpoint
137
+ */
138
+ setApiEndpoint(endpoint: string): void;
139
+ /**
140
+ * Gets the API endpoint
141
+ */
142
+ getApiEndpoint(): string;
143
+ /**
144
+ * Sets the model name
145
+ */
146
+ setModelName(modelName: string): void;
147
+ /**
148
+ * Gets the model name
149
+ */
150
+ getModelName(): string;
151
+ /**
152
+ * Sets the context
153
+ */
154
+ setContext(context: string): void;
155
+ /**
156
+ * Gets the context
157
+ */
158
+ getContext(): string;
159
+ /**
160
+ * Saves settings to localStorage
161
+ */
162
+ private _saveSettings;
163
+ /**
164
+ * Loads settings from localStorage
165
+ */
166
+ private _loadSettings;
167
+ }
168
+ /**
169
+ * Conditionally defines the custom element if in a browser environment.
170
+ */
171
+ declare const defineAITextEditor: (tagName?: string) => void;
172
+ export { defineAITextEditor };
173
+ //# sourceMappingURL=AITextEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AITextEditor.d.ts","sourceRoot":"","sources":["../src/AITextEditor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,103 @@
1
+ /**
2
+ * ChunkUploader Web Component
3
+ * A file uploader with drag & drop, file previews, and chunked upload support
4
+ */
5
+ export interface UploadedFile {
6
+ id: string;
7
+ file: File;
8
+ status: 'pending' | 'uploading' | 'completed' | 'error' | 'aborted';
9
+ progress: number;
10
+ uploadedBytes: number;
11
+ preview?: string;
12
+ error?: string;
13
+ uploadId?: string;
14
+ key?: string;
15
+ }
16
+ export interface ChunkUploaderConfig {
17
+ serverURL: string;
18
+ chunkSize: number;
19
+ authToken?: string;
20
+ validFiletypes?: string[];
21
+ maxFileSize?: number;
22
+ onfilecomplete?: (file: UploadedFile) => void;
23
+ onuploadcomplete?: (files: UploadedFile[]) => void;
24
+ }
25
+ export declare class ChunkUploaderElement extends HTMLElement {
26
+ shadowRoot: ShadowRoot;
27
+ private files;
28
+ private config;
29
+ private isUploading;
30
+ private abortController;
31
+ constructor();
32
+ static get observedAttributes(): string[];
33
+ attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
34
+ get serverURL(): string;
35
+ set serverURL(value: string);
36
+ get chunkSize(): number;
37
+ set chunkSize(value: number);
38
+ get authToken(): string | undefined;
39
+ set authToken(value: string | undefined);
40
+ get validFiletypes(): string[] | undefined;
41
+ set validFiletypes(value: string[] | undefined);
42
+ get maxFileSize(): number;
43
+ set maxFileSize(value: number);
44
+ set onfilecomplete(callback: ((file: UploadedFile) => void) | undefined);
45
+ set onuploadcomplete(callback: ((files: UploadedFile[]) => void) | undefined);
46
+ /**
47
+ * Formats bytes to human readable string
48
+ */
49
+ private formatBytes;
50
+ /**
51
+ * Generates a unique ID for a file
52
+ */
53
+ private generateFileId;
54
+ /**
55
+ * Validates a file based on config
56
+ */
57
+ private validateFile;
58
+ /**
59
+ * Generates a preview for image files
60
+ */
61
+ private generatePreview;
62
+ /**
63
+ * Adds files to the upload queue
64
+ */
65
+ private addFiles;
66
+ /**
67
+ * Removes a file from the queue
68
+ */
69
+ private removeFile;
70
+ /**
71
+ * Uploads a single file with chunking
72
+ */
73
+ private uploadFile;
74
+ /**
75
+ * Starts uploading all pending files
76
+ */
77
+ private startUpload;
78
+ /**
79
+ * Aborts all pending and uploading files
80
+ */
81
+ private abortAllUploads;
82
+ /**
83
+ * Updates a single file card in the DOM
84
+ */
85
+ private updateFileCard;
86
+ /**
87
+ * Renders all file cards
88
+ */
89
+ private renderFileCards;
90
+ /**
91
+ * Binds event listeners
92
+ */
93
+ private bindEvents;
94
+ /**
95
+ * Renders the component
96
+ */
97
+ private render;
98
+ }
99
+ /**
100
+ * Defines the custom element if not already defined
101
+ */
102
+ export declare const defineChunkUploader: (tagName?: string) => void;
103
+ //# sourceMappingURL=ChunkUploader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChunkUploader.d.ts","sourceRoot":"","sources":["../src/ChunkUploader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,OAAO,GAAG,SAAS,CAAC;IACpE,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,CAAE,IAAI,EAAE,YAAY,KAAM,IAAI,CAAC;IAChD,gBAAgB,CAAC,EAAE,CAAE,KAAK,EAAE,YAAY,EAAE,KAAM,IAAI,CAAC;CACtD;AAKD,qBAAa,oBAAqB,SAAQ,WAAW;IAC3C,UAAU,EAAE,UAAU,CAAC;IAC/B,OAAO,CAAC,KAAK,CAAwC;IACrD,OAAO,CAAC,MAAM,CAIZ;IACF,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,eAAe,CAAgC;;IASvD,MAAM,KAAK,kBAAkB,IAAK,MAAM,EAAE,CAEzC;IAED,wBAAwB,CAAG,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAI,IAAI;IAuBjG,IAAI,SAAS,IAAK,MAAM,CAEvB;IAED,IAAI,SAAS,CAAG,KAAK,EAAE,MAAM,EAG5B;IAED,IAAI,SAAS,IAAK,MAAM,CAEvB;IAED,IAAI,SAAS,CAAG,KAAK,EAAE,MAAM,EAG5B;IAED,IAAI,SAAS,IAAK,MAAM,GAAG,SAAS,CAEnC;IAED,IAAI,SAAS,CAAG,KAAK,EAAE,MAAM,GAAG,SAAS,EAQxC;IAED,IAAI,cAAc,IAAK,MAAM,EAAE,GAAG,SAAS,CAE1C;IAED,IAAI,cAAc,CAAG,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,EAO/C;IAED,IAAI,WAAW,IAAK,MAAM,CAEzB;IAED,IAAI,WAAW,CAAG,KAAK,EAAE,MAAM,EAG9B;IAED,IAAI,cAAc,CAAG,QAAQ,EAAE,CAAE,CAAE,IAAI,EAAE,YAAY,KAAM,IAAI,CAAE,GAAG,SAAS,EAE5E;IAED,IAAI,gBAAgB,CAAG,QAAQ,EAAE,CAAE,CAAE,KAAK,EAAE,YAAY,EAAE,KAAM,IAAI,CAAE,GAAG,SAAS,EAEjF;IAED;;OAEG;IACH,OAAO,CAAC,WAAW;IAQnB;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB;;OAEG;IACH,OAAO,CAAC,YAAY;IAwBpB;;OAEG;YACW,eAAe;IAW7B;;OAEG;YACW,QAAQ;IA0BtB;;OAEG;IACH,OAAO,CAAC,UAAU;IAKlB;;OAEG;YACW,UAAU;IAoIxB;;OAEG;YACW,WAAW;IA2DzB;;OAEG;YACW,eAAe;IAiE7B;;OAEG;IACH,OAAO,CAAC,cAAc;IAoCtB;;OAEG;IACH,OAAO,CAAC,eAAe;IA6CvB;;OAEG;IACH,OAAO,CAAC,UAAU;IA6ClB;;OAEG;IACH,OAAO,CAAC,MAAM;CA8Qf;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAAK,gBAAgC,KAAI,IAIxE,CAAC"}