reneco-advanced-input-module 0.0.1-beta.1

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 (108) hide show
  1. package/.editorconfig +15 -0
  2. package/.prettierrc.json +13 -0
  3. package/LICENSE +21 -0
  4. package/api-key-inject.js +46 -0
  5. package/dist/cjs/app-globals-V2Kpy_OQ.js +8 -0
  6. package/dist/cjs/app-globals-V2Kpy_OQ.js.map +1 -0
  7. package/dist/cjs/index-BTSzTkSZ.js +1494 -0
  8. package/dist/cjs/index-BTSzTkSZ.js.map +1 -0
  9. package/dist/cjs/index.cjs.js +5 -0
  10. package/dist/cjs/index.cjs.js.map +1 -0
  11. package/dist/cjs/loader.cjs.js +16 -0
  12. package/dist/cjs/loader.cjs.js.map +1 -0
  13. package/dist/cjs/ocr-file-uploader.voice-input-module.entry.cjs.js.map +1 -0
  14. package/dist/cjs/ocr-file-uploader_2.cjs.entry.js +1340 -0
  15. package/dist/cjs/ocr-file-uploader_2.cjs.entry.js.map +1 -0
  16. package/dist/cjs/voice-input-module.cjs.js +28 -0
  17. package/dist/cjs/voice-input-module.cjs.js.map +1 -0
  18. package/dist/collection/collection-manifest.json +13 -0
  19. package/dist/collection/components/ocr-file-uploader/ocr-file-uploader.css +26 -0
  20. package/dist/collection/components/ocr-file-uploader/ocr-file-uploader.js +130 -0
  21. package/dist/collection/components/ocr-file-uploader/ocr-file-uploader.js.map +1 -0
  22. package/dist/collection/components/voice-input-module/voice-input-module.css +286 -0
  23. package/dist/collection/components/voice-input-module/voice-input-module.js +897 -0
  24. package/dist/collection/components/voice-input-module/voice-input-module.js.map +1 -0
  25. package/dist/collection/index.js +12 -0
  26. package/dist/collection/index.js.map +1 -0
  27. package/dist/collection/services/audio-recorder.service.js +66 -0
  28. package/dist/collection/services/audio-recorder.service.js.map +1 -0
  29. package/dist/collection/services/llm.service.js +193 -0
  30. package/dist/collection/services/llm.service.js.map +1 -0
  31. package/dist/collection/services/speech-to-text.service.js +60 -0
  32. package/dist/collection/services/speech-to-text.service.js.map +1 -0
  33. package/dist/collection/types/form-schema.types.js +2 -0
  34. package/dist/collection/types/form-schema.types.js.map +1 -0
  35. package/dist/collection/types/service-providers.types.js +2 -0
  36. package/dist/collection/types/service-providers.types.js.map +1 -0
  37. package/dist/collection/utils/schema-converter.js +422 -0
  38. package/dist/collection/utils/schema-converter.js.map +1 -0
  39. package/dist/components/index.d.ts +33 -0
  40. package/dist/components/index.js +4 -0
  41. package/dist/components/index.js.map +1 -0
  42. package/dist/components/ocr-file-uploader.d.ts +11 -0
  43. package/dist/components/ocr-file-uploader.js +9 -0
  44. package/dist/components/ocr-file-uploader.js.map +1 -0
  45. package/dist/components/ocr-file-uploader2.js +98 -0
  46. package/dist/components/ocr-file-uploader2.js.map +1 -0
  47. package/dist/components/voice-input-module.d.ts +11 -0
  48. package/dist/components/voice-input-module.js +1313 -0
  49. package/dist/components/voice-input-module.js.map +1 -0
  50. package/dist/esm/app-globals-DQuL1Twl.js +6 -0
  51. package/dist/esm/app-globals-DQuL1Twl.js.map +1 -0
  52. package/dist/esm/index-jmc2yzBp.js +1487 -0
  53. package/dist/esm/index-jmc2yzBp.js.map +1 -0
  54. package/dist/esm/index.js +4 -0
  55. package/dist/esm/index.js.map +1 -0
  56. package/dist/esm/loader.js +14 -0
  57. package/dist/esm/loader.js.map +1 -0
  58. package/dist/esm/ocr-file-uploader.voice-input-module.entry.js.map +1 -0
  59. package/dist/esm/ocr-file-uploader_2.entry.js +1337 -0
  60. package/dist/esm/ocr-file-uploader_2.entry.js.map +1 -0
  61. package/dist/esm/voice-input-module.js +24 -0
  62. package/dist/esm/voice-input-module.js.map +1 -0
  63. package/dist/index.cjs.js +1 -0
  64. package/dist/index.js +1 -0
  65. package/dist/types/components/ocr-file-uploader/ocr-file-uploader.d.ts +8 -0
  66. package/dist/types/components/voice-input-module/voice-input-module.d.ts +60 -0
  67. package/dist/types/components.d.ts +158 -0
  68. package/dist/types/index.d.ts +9 -0
  69. package/dist/types/services/audio-recorder.service.d.ts +9 -0
  70. package/dist/types/services/llm.service.d.ts +15 -0
  71. package/dist/types/services/speech-to-text.service.d.ts +11 -0
  72. package/dist/types/stencil-public-runtime.d.ts +1709 -0
  73. package/dist/types/types/form-schema.types.d.ts +70 -0
  74. package/dist/types/types/service-providers.types.d.ts +20 -0
  75. package/dist/types/utils/schema-converter.d.ts +22 -0
  76. package/dist/voice-input-module/index.esm.js +2 -0
  77. package/dist/voice-input-module/index.esm.js.map +1 -0
  78. package/dist/voice-input-module/loader.esm.js.map +1 -0
  79. package/dist/voice-input-module/ocr-file-uploader.voice-input-module.entry.esm.js.map +1 -0
  80. package/dist/voice-input-module/p-52e59129.entry.js +2 -0
  81. package/dist/voice-input-module/p-52e59129.entry.js.map +1 -0
  82. package/dist/voice-input-module/p-DQuL1Twl.js +2 -0
  83. package/dist/voice-input-module/p-DQuL1Twl.js.map +1 -0
  84. package/dist/voice-input-module/p-jmc2yzBp.js +3 -0
  85. package/dist/voice-input-module/p-jmc2yzBp.js.map +1 -0
  86. package/dist/voice-input-module/voice-input-module.esm.js +2 -0
  87. package/dist/voice-input-module/voice-input-module.esm.js.map +1 -0
  88. package/env-config.js +4 -0
  89. package/inject-env.js +20 -0
  90. package/package.json +37 -0
  91. package/readme.md +111 -0
  92. package/src/components/ocr-file-uploader/ocr-file-uploader.css +26 -0
  93. package/src/components/ocr-file-uploader/ocr-file-uploader.tsx +100 -0
  94. package/src/components/ocr-file-uploader/readme.md +31 -0
  95. package/src/components/voice-input-module/readme.md +114 -0
  96. package/src/components/voice-input-module/voice-input-module.css +286 -0
  97. package/src/components/voice-input-module/voice-input-module.tsx +778 -0
  98. package/src/components.d.ts +158 -0
  99. package/src/index.html +1015 -0
  100. package/src/index.ts +12 -0
  101. package/src/services/audio-recorder.service.ts +74 -0
  102. package/src/services/llm.service.ts +221 -0
  103. package/src/services/speech-to-text.service.ts +70 -0
  104. package/src/types/form-schema.types.ts +78 -0
  105. package/src/types/service-providers.types.ts +22 -0
  106. package/src/utils/schema-converter.ts +494 -0
  107. package/stencil.config.ts +24 -0
  108. package/tsconfig.json +30 -0
@@ -0,0 +1,286 @@
1
+ :host {
2
+ display: block;
3
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
4
+ }
5
+
6
+ .row-audio-area {
7
+ display: flex;
8
+ flex-direction: row;
9
+ }
10
+
11
+ .voice-recorder-container {
12
+ display: flex;
13
+ flex-direction: column;
14
+ align-items: center;
15
+ gap: 1rem;
16
+ padding: 1rem;
17
+ border: 1px solid #e5e7eb;
18
+ border-radius: 0.5rem;
19
+ background: #ffffff;
20
+ max-width: 100px;
21
+ margin: 0 auto;
22
+ }
23
+
24
+ .voice-recorder-container-debug {
25
+ display: flex;
26
+ flex-direction: column;
27
+ align-items: center;
28
+ gap: 1rem;
29
+ padding: 1rem;
30
+ border: 1px solid #e5e7eb;
31
+ border-radius: 0.5rem;
32
+ background: #ffffff;
33
+ max-width: 800px;
34
+ margin: 0 auto;
35
+ }
36
+
37
+ .upload-record-container {
38
+ display: inline-block;
39
+ cursor: pointer;
40
+ width: 50px;
41
+ height: 50px;
42
+ }
43
+
44
+ .upload-record-button {
45
+ display: flex;
46
+ align-items: center;
47
+ justify-content: center;
48
+ transition: transform 0.2s ease, box-shadow 0.2s ease;
49
+ user-select: none;
50
+ }
51
+
52
+ .upload-record-button svg {
53
+ width: 50px;
54
+ height: 50px;
55
+ stroke: #4444ee;
56
+ }
57
+
58
+ .upload-record-button svg path {
59
+ fill: #4444ee;
60
+ }
61
+
62
+ .upload-record-button:hover svg {
63
+ transform: scale(1.05);
64
+ stroke: #4444ee;
65
+ }
66
+
67
+ .record-button {
68
+ display: flex;
69
+ align-items: center;
70
+ justify-content: center;
71
+ width: 50px;
72
+ height: 50px;
73
+ border: none;
74
+ border-radius: 50%;
75
+ background: #ee4444;
76
+ color: white;
77
+ cursor: pointer;
78
+ transition: all 0.2s ease;
79
+ position: relative;
80
+ overflow: hidden;
81
+ }
82
+
83
+ .record-button:hover:not(:disabled) {
84
+ background: #dd3333;
85
+ transform: scale(1.05);
86
+ }
87
+
88
+ .record-button:disabled {
89
+ opacity: 0.6;
90
+ cursor: not-allowed;
91
+ }
92
+
93
+ .record-button.recording {
94
+ background: #dd3333;
95
+ animation: pulse 1.5s infinite;
96
+ }
97
+
98
+ .record-button.processing {
99
+ background: #3b82f6;
100
+ }
101
+
102
+ @keyframes pulse {
103
+ 0% {
104
+ box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.7);
105
+ }
106
+ 70% {
107
+ box-shadow: 0 0 0 10px rgba(239, 68, 68, 0);
108
+ }
109
+ 100% {
110
+ box-shadow: 0 0 0 0 rgba(239, 68, 68, 0);
111
+ }
112
+ }
113
+
114
+ .record-icon {
115
+ width: 24px;
116
+ height: 24px;
117
+ fill: currentColor;
118
+ }
119
+
120
+ .status-text {
121
+ font-size: 0.875rem;
122
+ color: #6b7280;
123
+ text-align: center;
124
+ min-height: 1.25rem;
125
+ }
126
+
127
+ .status-text.error {
128
+ color: #ee4444;
129
+ }
130
+
131
+ .status-text.success {
132
+ color: #10b981;
133
+ }
134
+
135
+ .debug-panel {
136
+ width: 100%;
137
+ margin-top: 1rem;
138
+ padding: 1rem;
139
+ background: #f9fafb;
140
+ border: 1px solid #e5e7eb;
141
+ border-radius: 0.375rem;
142
+ font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
143
+ font-size: 0.75rem;
144
+ }
145
+
146
+ .debug-title {
147
+ font-weight: 600;
148
+ margin-bottom: 0.5rem;
149
+ color: #374151;
150
+ }
151
+
152
+ .debug-content {
153
+ white-space: pre-wrap;
154
+ word-break: break-word;
155
+ color: #6b7280;
156
+ max-height: 200px;
157
+ overflow-y: auto;
158
+ }
159
+
160
+ .permissions-warning {
161
+ padding: 0.75rem;
162
+ background: #fef3c7;
163
+ border: 1px solid #f59e0b;
164
+ border-radius: 0.375rem;
165
+ color: #92400e;
166
+ font-size: 0.875rem;
167
+ text-align: center;
168
+ }
169
+
170
+ .form-preview {
171
+ width: 100%;
172
+ margin-top: 1rem;
173
+ padding: 1rem;
174
+ background: #f8fafc;
175
+ border: 1px solid #e2e8f0;
176
+ border-radius: 0.375rem;
177
+ }
178
+
179
+ .form-preview-title {
180
+ font-weight: 600;
181
+ margin-bottom: 0.5rem;
182
+ color: #1e293b;
183
+ }
184
+
185
+ .form-field {
186
+ margin-bottom: 0.5rem;
187
+ font-size: 0.875rem;
188
+ }
189
+
190
+ .field-name {
191
+ font-weight: 500;
192
+ color: #475569;
193
+ }
194
+
195
+ .field-value {
196
+ color: #64748b;
197
+ margin-left: 0.5rem;
198
+ }
199
+
200
+ .field-value.filled {
201
+ color: #059669;
202
+ font-weight: 500;
203
+ }
204
+
205
+ .voice-filled-form {
206
+ display: flex;
207
+ flex-direction: column;
208
+ gap: 1rem;
209
+ margin-top: 1rem;
210
+ }
211
+
212
+ .form-group {
213
+ display: flex;
214
+ flex-direction: column;
215
+ gap: 0.25rem;
216
+ }
217
+
218
+ .form-label {
219
+ font-weight: 500;
220
+ color: #374151;
221
+ font-size: 0.875rem;
222
+ }
223
+
224
+ .required {
225
+ color: #ee4444;
226
+ margin-left: 0.125rem;
227
+ }
228
+
229
+ .form-input {
230
+ padding: 0.5rem;
231
+ border: 1px solid #d1d5db;
232
+ border-radius: 0.375rem;
233
+ font-size: 0.875rem;
234
+ transition: border-color 0.2s ease;
235
+ }
236
+
237
+ .form-input:focus {
238
+ outline: none;
239
+ border-color: #3b82f6;
240
+ box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
241
+ }
242
+
243
+ .form-checkbox {
244
+ width: auto;
245
+ padding: 0;
246
+ margin: 0;
247
+ }
248
+
249
+ select.form-input {
250
+ background-color: white;
251
+ cursor: pointer;
252
+ }
253
+
254
+ input[type="date"].form-input {
255
+ cursor: pointer;
256
+ }
257
+
258
+ .readonly-select {
259
+ background: #f9fafb;
260
+ border: 1px solid #d1d5db;
261
+ border-radius: 0.375rem;
262
+ padding: 0.5rem;
263
+ }
264
+
265
+ .select-placeholder {
266
+ font-size: 0.875rem;
267
+ color: #6b7280;
268
+ margin-bottom: 0.5rem;
269
+ }
270
+
271
+ .select-options-list {
272
+ list-style: none;
273
+ margin: 0;
274
+ padding: 0;
275
+ display: flex;
276
+ flex-wrap: wrap;
277
+ gap: 0.25rem;
278
+ }
279
+
280
+ .select-option {
281
+ background: #e5e7eb;
282
+ padding: 0.25rem 0.5rem;
283
+ border-radius: 0.25rem;
284
+ font-size: 0.875rem;
285
+ color: #374151;
286
+ }