@lapis-notes/csv 0.0.0-stage → 0.2.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 (105) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/LICENSE.md +4 -0
  3. package/README.md +19 -2
  4. package/dist/app.css +210 -0
  5. package/dist/csv-settings.d.ts +13 -0
  6. package/dist/csv-settings.js +28 -0
  7. package/dist/index.d.ts +7 -0
  8. package/dist/index.js +7 -0
  9. package/dist/lib/CsvSheet.svelte +58 -0
  10. package/dist/lib/CsvSheet.svelte.d.ts +11 -0
  11. package/dist/lib/CsvTable.svelte +58 -0
  12. package/dist/lib/CsvTable.svelte.d.ts +11 -0
  13. package/dist/lib/codemirror/csv-language-extensions.d.ts +3 -0
  14. package/dist/lib/codemirror/csv-language-extensions.js +11 -0
  15. package/dist/lib/codemirror/csv-language.d.ts +3 -0
  16. package/dist/lib/codemirror/csv-language.js +24 -0
  17. package/dist/lib/codemirror/csv-rainbow-theme.d.ts +3 -0
  18. package/dist/lib/codemirror/csv-rainbow-theme.js +15 -0
  19. package/dist/lib/codemirror/csv-source-extensions.d.ts +7 -0
  20. package/dist/lib/codemirror/csv-source-extensions.js +9 -0
  21. package/dist/lib/codemirror/csv.parser.d.ts +2 -0
  22. package/dist/lib/codemirror/csv.parser.js +16 -0
  23. package/dist/lib/codemirror/csv.parser.terms.d.ts +1 -0
  24. package/dist/lib/codemirror/csv.parser.terms.js +2 -0
  25. package/dist/lib/codemirror/syntax.grammar +36 -0
  26. package/dist/lib/components/csv-cell.svelte +137 -0
  27. package/dist/lib/components/csv-cell.svelte.d.ts +11 -0
  28. package/dist/lib/components/csv-data-table-column-head.svelte +76 -0
  29. package/dist/lib/components/csv-data-table-column-head.svelte.d.ts +17 -0
  30. package/dist/lib/components/csv-data-table-column-header.svelte +159 -0
  31. package/dist/lib/components/csv-data-table-column-header.svelte.d.ts +23 -0
  32. package/dist/lib/components/csv-data-table-data-cell.svelte +72 -0
  33. package/dist/lib/components/csv-data-table-data-cell.svelte.d.ts +18 -0
  34. package/dist/lib/components/csv-data-table-drag-overlay.svelte +119 -0
  35. package/dist/lib/components/csv-data-table-drag-overlay.svelte.d.ts +13 -0
  36. package/dist/lib/components/csv-data-table-row-actions.svelte +47 -0
  37. package/dist/lib/components/csv-data-table-row-actions.svelte.d.ts +8 -0
  38. package/dist/lib/components/csv-data-table-row-grip-cell.svelte +102 -0
  39. package/dist/lib/components/csv-data-table-row-grip-cell.svelte.d.ts +19 -0
  40. package/dist/lib/components/csv-data-table-row.svelte +38 -0
  41. package/dist/lib/components/csv-data-table-row.svelte.d.ts +11 -0
  42. package/dist/lib/components/csv-data-table.svelte +903 -0
  43. package/dist/lib/components/csv-data-table.svelte.d.ts +21 -0
  44. package/dist/lib/components/csv-find.svelte +382 -0
  45. package/dist/lib/components/csv-find.svelte.d.ts +24 -0
  46. package/dist/lib/components/csv-row-virtualizer.svelte.d.ts +9 -0
  47. package/dist/lib/components/csv-row-virtualizer.svelte.js +59 -0
  48. package/dist/lib/components/csv-source-view.svelte +127 -0
  49. package/dist/lib/components/csv-source-view.svelte.d.ts +10 -0
  50. package/dist/lib/components/csv-status-bar.svelte +101 -0
  51. package/dist/lib/components/csv-status-bar.svelte.d.ts +14 -0
  52. package/dist/lib/components/csv-table-dnd.d.ts +9 -0
  53. package/dist/lib/components/csv-table-dnd.js +12 -0
  54. package/dist/lib/components/csv-table-drag-measure.d.ts +7 -0
  55. package/dist/lib/components/csv-table-drag-measure.js +38 -0
  56. package/dist/lib/components/csv-table-selection.d.ts +28 -0
  57. package/dist/lib/components/csv-table-selection.js +178 -0
  58. package/dist/lib/components/csv-table-view.svelte +265 -0
  59. package/dist/lib/components/csv-table-view.svelte.d.ts +16 -0
  60. package/dist/lib/csv-plugin.d.ts +9 -0
  61. package/dist/lib/csv-plugin.js +107 -0
  62. package/dist/lib/csv-view-settings.d.ts +43 -0
  63. package/dist/lib/csv-view-settings.js +86 -0
  64. package/dist/lib/ids.d.ts +8 -0
  65. package/dist/lib/ids.js +19 -0
  66. package/dist/lib/model/csv-column-sort.d.ts +16 -0
  67. package/dist/lib/model/csv-column-sort.js +81 -0
  68. package/dist/lib/model/csv-grid.d.ts +31 -0
  69. package/dist/lib/model/csv-grid.js +161 -0
  70. package/dist/lib/model/csv-search.d.ts +38 -0
  71. package/dist/lib/model/csv-search.js +101 -0
  72. package/dist/lib/model/csv-table-model.d.ts +10 -0
  73. package/dist/lib/model/csv-table-model.js +18 -0
  74. package/dist/lib/model/parse-csv.d.ts +10 -0
  75. package/dist/lib/model/parse-csv.js +13 -0
  76. package/dist/lib/model/serialize-csv.d.ts +5 -0
  77. package/dist/lib/model/serialize-csv.js +10 -0
  78. package/dist/lib/sheet/csv-sheet-toolbar.svelte +244 -0
  79. package/dist/lib/sheet/csv-sheet-toolbar.svelte.d.ts +20 -0
  80. package/dist/lib/sheet/csv-sheet-view.svelte +444 -0
  81. package/dist/lib/sheet/csv-sheet-view.svelte.d.ts +18 -0
  82. package/dist/lib/sheet/csv-sheet.svelte +1121 -0
  83. package/dist/lib/sheet/csv-sheet.svelte.d.ts +37 -0
  84. package/dist/lib/sheet/sheet-glyph.svelte +57 -0
  85. package/dist/lib/sheet/sheet-glyph.svelte.d.ts +7 -0
  86. package/dist/lib/sheet/sheet-history.d.ts +14 -0
  87. package/dist/lib/sheet/sheet-history.js +33 -0
  88. package/dist/lib/sheet/sheet-layout.d.ts +121 -0
  89. package/dist/lib/sheet/sheet-layout.js +336 -0
  90. package/dist/lib/sheet/sheet-paint.d.ts +45 -0
  91. package/dist/lib/sheet/sheet-paint.js +274 -0
  92. package/dist/lib/sheet/sheet-theme.d.ts +2 -0
  93. package/dist/lib/sheet/sheet-theme.js +26 -0
  94. package/dist/lib/views/csv-view-mode.d.ts +3 -0
  95. package/dist/lib/views/csv-view-mode.js +6 -0
  96. package/dist/lib/views/csv-view.d.ts +24 -0
  97. package/dist/lib/views/csv-view.js +125 -0
  98. package/dist/styles/csv-find.css +313 -0
  99. package/dist/styles/csv-table.css +882 -0
  100. package/dist/styles.css +37 -0
  101. package/manifest.json +45 -0
  102. package/package.json +86 -3
  103. package/registry-content/overview.md +3 -0
  104. package/registry.json +322 -0
  105. package/styles.css +1 -0
@@ -0,0 +1,313 @@
1
+ /* Same search bar as the transcript reader. */
2
+ .ui-transcript-search {
3
+ position: relative;
4
+ box-sizing: border-box;
5
+ display: flex;
6
+ flex: 0 0 auto;
7
+ flex-direction: column;
8
+ align-items: center;
9
+ gap: 0.375rem;
10
+ width: 100%;
11
+ padding: 0.5rem 1rem;
12
+ border-bottom: 1px solid
13
+ var(
14
+ --mira-code-editor-border,
15
+ var(--background-modifier-border, var(--border))
16
+ );
17
+ background: var(
18
+ --mira-code-editor-background,
19
+ var(--background-primary, var(--background))
20
+ );
21
+ color: var(
22
+ --mira-code-editor-foreground,
23
+ var(--text-normal, var(--foreground))
24
+ );
25
+ font-family: var(--font-interface, var(--font-sans, inherit));
26
+ font-size: var(--mira-code-editor-search-font-size, 0.875rem);
27
+ }
28
+
29
+ .ui-transcript-search__body,
30
+ .ui-transcript-search__row {
31
+ display: flex;
32
+ align-items: center;
33
+ }
34
+
35
+ .ui-transcript-search__body {
36
+ justify-content: center;
37
+ gap: 0.25rem;
38
+ max-width: 100%;
39
+ }
40
+
41
+ .ui-transcript-search__fields {
42
+ display: flex;
43
+ flex-direction: column;
44
+ gap: 0.5rem;
45
+ min-width: 0;
46
+ }
47
+
48
+ .ui-transcript-search__row {
49
+ gap: 0.5rem;
50
+ min-width: 0;
51
+ }
52
+
53
+ .ui-transcript-search__replace-row {
54
+ padding-right: 2.5rem;
55
+ }
56
+
57
+ .ui-transcript-search__field,
58
+ .ui-transcript-search__replace-input {
59
+ box-sizing: border-box;
60
+ height: 2rem;
61
+ min-width: 10rem;
62
+ width: min(22rem, 42vw);
63
+ border: 1px solid
64
+ var(
65
+ --mira-code-editor-search-input-border,
66
+ var(
67
+ --mira-code-editor-border,
68
+ var(--background-modifier-border, var(--border))
69
+ )
70
+ );
71
+ border-radius: var(--mira-code-editor-search-radius, 999px);
72
+ background: var(
73
+ --mira-code-editor-search-input-background,
74
+ var(
75
+ --mira-code-editor-background,
76
+ var(--background-primary, var(--background))
77
+ )
78
+ );
79
+ color: var(
80
+ --mira-code-editor-search-input-foreground,
81
+ var(--mira-code-editor-foreground, var(--text-normal, var(--foreground)))
82
+ );
83
+ }
84
+
85
+ .ui-transcript-search__field {
86
+ display: flex;
87
+ align-items: center;
88
+ padding-inline-start: 0.5rem;
89
+ }
90
+
91
+ .ui-transcript-search__replace-input {
92
+ flex: 0 0 auto;
93
+ height: 2rem;
94
+ padding: 0 0.625rem;
95
+ }
96
+
97
+ .ui-transcript-search__find-icon {
98
+ display: inline-flex;
99
+ flex: 0 0 auto;
100
+ align-items: center;
101
+ color: var(
102
+ --mira-code-editor-search-muted,
103
+ var(--text-muted, var(--muted-foreground))
104
+ );
105
+ }
106
+
107
+ .ui-transcript-search__input {
108
+ min-width: 0;
109
+ border: 0;
110
+ outline: none;
111
+ background: transparent;
112
+ color: inherit;
113
+ font: inherit;
114
+ font-size: var(--mira-code-editor-search-font-size, 0.875rem);
115
+ }
116
+
117
+ .ui-transcript-search__field > .ui-transcript-search__input {
118
+ flex: 1 1 auto;
119
+ height: 100%;
120
+ padding-inline: 0.375rem 0.25rem;
121
+ }
122
+
123
+ .ui-transcript-search__input.ui-transcript-search__replace-input {
124
+ flex: 0 0 auto;
125
+ box-sizing: border-box;
126
+ width: min(22rem, 42vw);
127
+ height: 2rem;
128
+ padding: 0 0.625rem;
129
+ border: 1px solid
130
+ var(
131
+ --mira-code-editor-search-input-border,
132
+ var(
133
+ --mira-code-editor-border,
134
+ var(--background-modifier-border, var(--border))
135
+ )
136
+ );
137
+ border-radius: var(--mira-code-editor-search-radius, 999px);
138
+ background: var(
139
+ --mira-code-editor-search-input-background,
140
+ var(
141
+ --mira-code-editor-background,
142
+ var(--background-primary, var(--background))
143
+ )
144
+ );
145
+ color: var(
146
+ --mira-code-editor-search-input-foreground,
147
+ var(--mira-code-editor-foreground, var(--text-normal, var(--foreground)))
148
+ );
149
+ }
150
+
151
+ .ui-transcript-search__input::placeholder {
152
+ color: var(
153
+ --mira-code-editor-search-muted,
154
+ var(--text-muted, var(--muted-foreground))
155
+ );
156
+ }
157
+
158
+ .ui-transcript-search__count {
159
+ flex: 0 0 auto;
160
+ padding-inline-end: 0.25rem;
161
+ color: var(
162
+ --mira-code-editor-search-muted,
163
+ var(--text-muted, var(--muted-foreground))
164
+ );
165
+ font-size: 0.75rem;
166
+ white-space: nowrap;
167
+ }
168
+
169
+ .ui-transcript-search__options {
170
+ display: inline-flex;
171
+ align-items: center;
172
+ gap: 2px;
173
+ padding-inline-end: 0.25rem;
174
+ }
175
+
176
+ .ui-transcript-search__field:hover,
177
+ .ui-transcript-search__replace-input:hover {
178
+ border-color: var(
179
+ --mira-code-editor-search-input-hover-border,
180
+ var(--background-modifier-border-hover, var(--ring, var(--border)))
181
+ );
182
+ }
183
+
184
+ .ui-transcript-search__field:focus-within,
185
+ .ui-transcript-search__button:focus-visible,
186
+ .ui-transcript-search__input.ui-transcript-search__replace-input:focus {
187
+ border-color: transparent;
188
+ outline: none;
189
+ box-shadow: 0 0 0 2px
190
+ color-mix(
191
+ in srgb,
192
+ var(
193
+ --mira-code-editor-search-focus-ring,
194
+ var(
195
+ --mira-code-editor-focus-ring,
196
+ var(--interactive-accent, var(--ring, var(--primary)))
197
+ )
198
+ )
199
+ 30%,
200
+ transparent
201
+ );
202
+ }
203
+
204
+ .ui-transcript-search__field > .ui-transcript-search__input:focus,
205
+ .ui-transcript-search__field > .ui-transcript-search__input:focus-visible {
206
+ outline: none;
207
+ box-shadow: none;
208
+ }
209
+
210
+ .ui-transcript-search__field--invalid {
211
+ border-color: var(--destructive, rgb(220, 38, 38));
212
+ }
213
+
214
+ .ui-transcript-search__button {
215
+ display: inline-flex;
216
+ flex: 0 0 auto;
217
+ align-items: center;
218
+ justify-content: center;
219
+ width: 2rem;
220
+ height: 2rem;
221
+ margin: 0;
222
+ padding: 0;
223
+ border: 1px solid var(--mira-code-editor-search-button-border, transparent);
224
+ border-radius: var(
225
+ --mira-code-editor-radius,
226
+ var(--radius-s, var(--radius, 0.375rem))
227
+ );
228
+ background: var(--mira-code-editor-search-button-background, transparent);
229
+ color: var(
230
+ --mira-code-editor-search-button-foreground,
231
+ var(
232
+ --mira-code-editor-search-muted,
233
+ var(--text-muted, var(--muted-foreground))
234
+ )
235
+ );
236
+ cursor: pointer;
237
+ }
238
+
239
+ .ui-transcript-search__button:hover,
240
+ .ui-transcript-search__button--active {
241
+ border-color: var(--mira-code-editor-search-button-hover-border, transparent);
242
+ background: var(
243
+ --mira-code-editor-search-button-hover-background,
244
+ var(
245
+ --mira-code-editor-active-line,
246
+ var(--background-modifier-hover, var(--accent))
247
+ )
248
+ );
249
+ color: var(
250
+ --mira-code-editor-search-button-hover-foreground,
251
+ var(--mira-code-editor-foreground, var(--text-normal, var(--foreground)))
252
+ );
253
+ }
254
+
255
+ .ui-transcript-search__toggle {
256
+ width: 1.5rem;
257
+ height: 1.5rem;
258
+ border-color: transparent;
259
+ border-radius: 0.375rem;
260
+ }
261
+
262
+ .ui-transcript-search__button--active.ui-transcript-search__toggle {
263
+ border-color: transparent;
264
+ box-shadow: none;
265
+ background: var(
266
+ --mira-code-editor-search-active-background,
267
+ var(
268
+ --mira-code-editor-active-line,
269
+ var(--background-modifier-hover, var(--accent))
270
+ )
271
+ );
272
+ }
273
+
274
+ .ui-transcript-search svg {
275
+ width: 1rem;
276
+ height: 1rem;
277
+ pointer-events: none;
278
+ }
279
+
280
+ .ui-transcript-search__status {
281
+ position: absolute;
282
+ width: 1px;
283
+ height: 1px;
284
+ overflow: hidden;
285
+ clip: rect(0 0 0 0);
286
+ clip-path: inset(50%);
287
+ white-space: nowrap;
288
+ }
289
+
290
+ @media (max-width: 640px) {
291
+ .ui-transcript-search {
292
+ align-items: stretch;
293
+ padding-inline: 0.5rem;
294
+ }
295
+
296
+ .ui-transcript-search__body {
297
+ align-items: flex-start;
298
+ }
299
+
300
+ .ui-transcript-search__row {
301
+ flex-wrap: wrap;
302
+ }
303
+
304
+ .ui-transcript-search__field,
305
+ .ui-transcript-search__replace-input {
306
+ flex: 1 1 100%;
307
+ width: 100%;
308
+ }
309
+
310
+ .ui-transcript-search__replace-row {
311
+ padding-right: 0;
312
+ }
313
+ }