socialcalc-ai 1.0.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 (41) hide show
  1. package/README.md +268 -0
  2. package/components/CellEditModal/CellEditModal.css +584 -0
  3. package/components/CellEditModal/CellEditModal.tsx +817 -0
  4. package/components/DemoVideosModal/DemoVideosModal.css +307 -0
  5. package/components/DemoVideosModal/DemoVideosModal.tsx +289 -0
  6. package/components/EditableCellsModal/EditableCellsModal.css +346 -0
  7. package/components/EditableCellsModal/EditableCellsModal.tsx +555 -0
  8. package/components/HorizontalScrollBar.css +127 -0
  9. package/components/HorizontalScrollBar.tsx +140 -0
  10. package/components/RowActionPopover/RowActionPopover.css +95 -0
  11. package/components/RowActionPopover/RowActionPopover.tsx +82 -0
  12. package/core/constants.js +1039 -0
  13. package/core/core.js +7172 -0
  14. package/core/format-number.js +7034 -0
  15. package/core/formula.js +1675 -0
  16. package/core/index.js +28 -0
  17. package/core/spreadsheet-control.js +7646 -0
  18. package/core/table-editor.js +8156 -0
  19. package/index.d.ts +68 -0
  20. package/index.js +43 -0
  21. package/modules/device.js +22 -0
  22. package/modules/editable-cells.js +230 -0
  23. package/modules/exporters.js +22 -0
  24. package/modules/formatting.js +258 -0
  25. package/modules/grid-lines.js +127 -0
  26. package/modules/history.js +26 -0
  27. package/modules/horizontal-scroll.js +335 -0
  28. package/modules/init.js +94 -0
  29. package/modules/invoice.js +558 -0
  30. package/modules/listeners.js +531 -0
  31. package/modules/logos.js +191 -0
  32. package/modules/plugin-manager.js +208 -0
  33. package/modules/prompts.js +170 -0
  34. package/modules/row-col-headers.js +514 -0
  35. package/modules/sheets.js +151 -0
  36. package/modules/touch-scroll.js +474 -0
  37. package/modules/utils.js +317 -0
  38. package/modules/weight.js +287 -0
  39. package/package.json +67 -0
  40. package/utils/imageCompressor.ts +118 -0
  41. package/utils/scriptLoader.ts +39 -0
@@ -0,0 +1,346 @@
1
+ /* Editable Cells & App Mappings Modal */
2
+ .editable-cells-modal {
3
+ --border-radius: 20px;
4
+ --background: #ffffff;
5
+ --width: 95vw;
6
+ --max-width: 720px;
7
+ --height: 80vh;
8
+ --max-height: 700px;
9
+ box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
10
+ }
11
+
12
+ @media (min-width: 768px) {
13
+ .editable-cells-modal {
14
+ --width: 720px;
15
+ --height: 680px;
16
+ --max-height: 85vh;
17
+ }
18
+ }
19
+
20
+ .editable-cells-modal-toolbar {
21
+ --min-height: 52px;
22
+ --background: var(--ion-color-primary, #2563eb);
23
+ --color: #ffffff;
24
+ }
25
+
26
+ .editable-cells-modal-header-wrapper {
27
+ display: flex;
28
+ align-items: center;
29
+ gap: 10px;
30
+ padding-left: 12px;
31
+ }
32
+
33
+ .editable-cells-header-icon {
34
+ font-size: 22px;
35
+ color: #ffffff;
36
+ }
37
+
38
+ .editable-cells-modal-title {
39
+ font-size: 16px;
40
+ font-weight: 700;
41
+ color: #ffffff;
42
+ padding: 0;
43
+ letter-spacing: -0.01em;
44
+ }
45
+
46
+ .editable-cells-close-btn {
47
+ --color: #ffffff;
48
+ font-size: 22px;
49
+ }
50
+
51
+ .editable-cells-sheet-toolbar {
52
+ --background: #f8fafc;
53
+ --min-height: 42px;
54
+ border-bottom: 1px solid #e2e8f0;
55
+ }
56
+
57
+ .editable-cells-sheet-toolbar ion-segment {
58
+ max-width: 480px;
59
+ margin: 0 auto;
60
+ }
61
+
62
+ /* Modal Content */
63
+ .editable-cells-modal-content {
64
+ --background: #f8fafc;
65
+ padding: 14px;
66
+ }
67
+
68
+ /* Top Summary & Actions */
69
+ .editable-cells-summary-row {
70
+ display: flex;
71
+ align-items: center;
72
+ justify-content: space-between;
73
+ flex-wrap: wrap;
74
+ gap: 10px;
75
+ margin-bottom: 12px;
76
+ }
77
+
78
+ .editable-cells-stats {
79
+ display: flex;
80
+ align-items: center;
81
+ gap: 6px;
82
+ flex-wrap: wrap;
83
+ }
84
+
85
+ .editable-cells-badge {
86
+ font-size: 11px;
87
+ font-weight: 600;
88
+ padding: 4px 8px;
89
+ border-radius: 6px;
90
+ }
91
+
92
+ .editable-cells-add-btn {
93
+ font-weight: 600;
94
+ --border-radius: 8px;
95
+ }
96
+
97
+ /* Add Form Card */
98
+ .editable-cells-form-card {
99
+ margin: 0 0 14px 0;
100
+ border-radius: 12px;
101
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
102
+ border: 1px solid #e2e8f0;
103
+ background: #ffffff;
104
+ }
105
+
106
+ .editable-cells-form-header {
107
+ display: flex;
108
+ justify-content: space-between;
109
+ align-items: center;
110
+ margin-bottom: 12px;
111
+ border-bottom: 1px solid #f1f5f9;
112
+ padding-bottom: 8px;
113
+ }
114
+
115
+ .editable-cells-form-title {
116
+ font-size: 14px;
117
+ font-weight: 700;
118
+ color: #1e293b;
119
+ }
120
+
121
+ .editable-cells-form-subtitle {
122
+ font-size: 11px;
123
+ font-weight: 600;
124
+ color: #64748b;
125
+ text-transform: uppercase;
126
+ }
127
+
128
+ .editable-cells-form-error {
129
+ background: #fef2f2;
130
+ color: #b91c1c;
131
+ font-size: 12px;
132
+ font-weight: 500;
133
+ padding: 8px 12px;
134
+ border-radius: 8px;
135
+ margin-bottom: 12px;
136
+ border: 1px solid #fecaca;
137
+ }
138
+
139
+ .editable-cells-inputs-grid {
140
+ display: grid;
141
+ grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
142
+ gap: 10px;
143
+ align-items: end;
144
+ margin-bottom: 12px;
145
+ }
146
+
147
+ .editable-cells-input-group {
148
+ display: flex;
149
+ flex-direction: column;
150
+ gap: 4px;
151
+ }
152
+
153
+ .editable-cells-input-label {
154
+ font-size: 11px;
155
+ font-weight: 600;
156
+ color: #475569;
157
+ text-transform: uppercase;
158
+ letter-spacing: 0.03em;
159
+ }
160
+
161
+ .editable-cells-custom-input {
162
+ --background: #f8fafc;
163
+ --padding-start: 10px;
164
+ --padding-end: 10px;
165
+ --padding-top: 6px;
166
+ --padding-bottom: 6px;
167
+ border: 1px solid #cbd5e1;
168
+ border-radius: 8px;
169
+ font-size: 13px;
170
+ font-weight: 500;
171
+ color: #0f172a;
172
+ }
173
+
174
+ .cell-ref-input {
175
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
176
+ font-weight: 700;
177
+ }
178
+
179
+ .editable-cells-custom-select {
180
+ background: #f8fafc;
181
+ border: 1px solid #cbd5e1;
182
+ border-radius: 8px;
183
+ padding: 6px 10px;
184
+ font-size: 13px;
185
+ font-weight: 500;
186
+ color: #0f172a;
187
+ }
188
+
189
+ .editable-cells-toggle-group {
190
+ display: flex;
191
+ flex-direction: column;
192
+ gap: 4px;
193
+ }
194
+
195
+ .editable-toggle-wrapper {
196
+ display: flex;
197
+ align-items: center;
198
+ gap: 8px;
199
+ height: 38px;
200
+ }
201
+
202
+ .editable-toggle-status {
203
+ font-size: 12px;
204
+ font-weight: 600;
205
+ color: #334155;
206
+ }
207
+
208
+ .editable-cells-form-actions {
209
+ display: flex;
210
+ justify-content: flex-end;
211
+ }
212
+
213
+ .editable-cells-submit-btn {
214
+ font-weight: 600;
215
+ --border-radius: 8px;
216
+ }
217
+
218
+ /* Searchbar */
219
+ .editable-cells-search-wrapper {
220
+ margin-bottom: 10px;
221
+ }
222
+
223
+ .editable-cells-searchbar {
224
+ --background: #ffffff;
225
+ --box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
226
+ --border-radius: 10px;
227
+ padding: 0;
228
+ font-size: 13px;
229
+ }
230
+
231
+ /* Mapped Cells List */
232
+ .editable-cells-list {
233
+ background: #ffffff;
234
+ border-radius: 12px;
235
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
236
+ border: 1px solid #e2e8f0;
237
+ overflow: hidden;
238
+ margin-bottom: 24px;
239
+ }
240
+
241
+ .editable-cell-item {
242
+ --padding-start: 12px;
243
+ --inner-padding-end: 12px;
244
+ --min-height: 48px;
245
+ transition: background 0.15s ease;
246
+ }
247
+
248
+ .editable-cell-badge-wrap {
249
+ margin-right: 12px;
250
+ }
251
+
252
+ .editable-cell-coord {
253
+ display: inline-flex;
254
+ align-items: center;
255
+ justify-content: center;
256
+ min-width: 44px;
257
+ height: 28px;
258
+ padding: 0 6px;
259
+ background: #eff6ff;
260
+ color: #1d4ed8;
261
+ border: 1px solid #bfdbfe;
262
+ border-radius: 6px;
263
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
264
+ font-size: 12px;
265
+ font-weight: 700;
266
+ letter-spacing: 0.02em;
267
+ }
268
+
269
+ .editable-cell-label {
270
+ display: flex;
271
+ align-items: center;
272
+ margin: 0;
273
+ }
274
+
275
+ .editable-cell-title-row {
276
+ display: flex;
277
+ align-items: center;
278
+ gap: 8px;
279
+ flex-wrap: wrap;
280
+ }
281
+
282
+ .editable-cell-title {
283
+ font-size: 13.5px;
284
+ font-weight: 600;
285
+ color: #1e293b;
286
+ }
287
+
288
+ .editable-cell-type-badge {
289
+ font-size: 9.5px;
290
+ font-weight: 700;
291
+ padding: 2px 6px;
292
+ border-radius: 4px;
293
+ text-transform: uppercase;
294
+ display: inline-flex;
295
+ align-items: center;
296
+ gap: 3px;
297
+ letter-spacing: 0.03em;
298
+ }
299
+
300
+ .editable-cell-type-icon {
301
+ font-size: 10px;
302
+ }
303
+
304
+ .editable-cell-actions {
305
+ display: flex;
306
+ align-items: center;
307
+ gap: 8px;
308
+ }
309
+
310
+ .editable-cell-toggle {
311
+ --size: 18px;
312
+ }
313
+
314
+ .editable-cell-delete-btn {
315
+ --padding-start: 4px;
316
+ --padding-end: 4px;
317
+ font-size: 16px;
318
+ }
319
+
320
+ /* Empty State */
321
+ .editable-cells-empty-state {
322
+ display: flex;
323
+ flex-direction: column;
324
+ align-items: center;
325
+ justify-content: center;
326
+ padding: 40px 16px;
327
+ text-align: center;
328
+ }
329
+
330
+ .editable-cells-empty-icon {
331
+ font-size: 40px;
332
+ color: #94a3b8;
333
+ margin-bottom: 10px;
334
+ }
335
+
336
+ .editable-cells-empty-title {
337
+ font-size: 14px;
338
+ font-weight: 600;
339
+ color: #334155;
340
+ margin-bottom: 4px;
341
+ }
342
+
343
+ .editable-cells-empty-desc {
344
+ font-size: 12px;
345
+ color: #64748b;
346
+ }