@poirazis/supercomponents-shared 0.0.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 (66) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +66 -0
  3. package/dist/index.js +30635 -0
  4. package/dist/index.umd.cjs +12 -0
  5. package/dist/style.css +1 -0
  6. package/package.json +117 -0
  7. package/src/index.js +29 -0
  8. package/src/index.ts +31 -0
  9. package/src/lib/Actions/autoresize_textarea.js +14 -0
  10. package/src/lib/Actions/click_outside.js +80 -0
  11. package/src/lib/Actions/index.js +4 -0
  12. package/src/lib/Actions/position_dropdown.js +129 -0
  13. package/src/lib/SuperButton/SuperButton.svelte +341 -0
  14. package/src/lib/SuperFieldLabel/SuperFieldLabel.svelte +91 -0
  15. package/src/lib/SuperFieldsCommon.css +54 -0
  16. package/src/lib/SuperList/SuperList.svelte +308 -0
  17. package/src/lib/SuperList/drag-handle.svelte +31 -0
  18. package/src/lib/SuperPopover/SuperPopover.svelte +134 -0
  19. package/src/lib/SuperTable/SuperTable.css +410 -0
  20. package/src/lib/SuperTable/SuperTable.svelte +1332 -0
  21. package/src/lib/SuperTable/constants.js +85 -0
  22. package/src/lib/SuperTable/controls/ColumnsSection.svelte +34 -0
  23. package/src/lib/SuperTable/controls/ControlSection.svelte +3 -0
  24. package/src/lib/SuperTable/controls/RowButtonsColumn.svelte +169 -0
  25. package/src/lib/SuperTable/controls/SelectionColumn.svelte +174 -0
  26. package/src/lib/SuperTable/controls/SuperTableWelcome.svelte +58 -0
  27. package/src/lib/SuperTable/overlays/AddNewRowOverlay.svelte +52 -0
  28. package/src/lib/SuperTable/overlays/EmptyResultSetOverlay.svelte +13 -0
  29. package/src/lib/SuperTable/overlays/LoadingOverlay.svelte +3 -0
  30. package/src/lib/SuperTable/overlays/RowContextMenu copy.svelte +57 -0
  31. package/src/lib/SuperTable/overlays/RowContextMenu.svelte +58 -0
  32. package/src/lib/SuperTable/overlays/ScrollbarsOverlay.svelte +184 -0
  33. package/src/lib/SuperTable/overlays/SelectedActionsOverlay.svelte +64 -0
  34. package/src/lib/SuperTable/state/API.js +0 -0
  35. package/src/lib/SuperTable/state/SuperTableStateMachine.js +0 -0
  36. package/src/lib/SuperTable/types.js +0 -0
  37. package/src/lib/SuperTableCells/CellAttachment.svelte +288 -0
  38. package/src/lib/SuperTableCells/CellBoolean.svelte +158 -0
  39. package/src/lib/SuperTableCells/CellColor.svelte +460 -0
  40. package/src/lib/SuperTableCells/CellCommon.css +319 -0
  41. package/src/lib/SuperTableCells/CellDatetime.svelte +180 -0
  42. package/src/lib/SuperTableCells/CellIcon.svelte +627 -0
  43. package/src/lib/SuperTableCells/CellJSON.svelte +297 -0
  44. package/src/lib/SuperTableCells/CellLink.svelte +274 -0
  45. package/src/lib/SuperTableCells/CellLinkAdvanced.svelte +298 -0
  46. package/src/lib/SuperTableCells/CellLinkPickerSelect.svelte +355 -0
  47. package/src/lib/SuperTableCells/CellLinkPickerTable.svelte +91 -0
  48. package/src/lib/SuperTableCells/CellLinkPickerTree.svelte +226 -0
  49. package/src/lib/SuperTableCells/CellNumber.svelte +179 -0
  50. package/src/lib/SuperTableCells/CellNumberSimple.svelte +56 -0
  51. package/src/lib/SuperTableCells/CellOptions.svelte +631 -0
  52. package/src/lib/SuperTableCells/CellOptionsAdvanced.svelte +684 -0
  53. package/src/lib/SuperTableCells/CellSkeleton.svelte +59 -0
  54. package/src/lib/SuperTableCells/CellString.svelte +178 -0
  55. package/src/lib/SuperTableCells/CellStringSimple.svelte +55 -0
  56. package/src/lib/SuperTableCells/index.js +21 -0
  57. package/src/lib/SuperTableCells/remixIcons.js +6772 -0
  58. package/src/lib/SuperTableColumn/SuperTableColumn.svelte +392 -0
  59. package/src/lib/SuperTableColumn/index.js +9 -0
  60. package/src/lib/SuperTableColumn/parts/SuperColumnBody.svelte +57 -0
  61. package/src/lib/SuperTableColumn/parts/SuperColumnFooter.svelte +14 -0
  62. package/src/lib/SuperTableColumn/parts/SuperColumnHeader.svelte +228 -0
  63. package/src/lib/SuperTableColumn/parts/SuperColumnRow.svelte +142 -0
  64. package/src/lib/SuperTableColumn/parts/SuperColumnRowNew.svelte +34 -0
  65. package/src/lib/SuperTree/SuperTree.svelte +117 -0
  66. package/src/types/svelte-portal.d.ts +1 -0
@@ -0,0 +1,410 @@
1
+ .super-table {
2
+ display: flex;
3
+ flex: auto;
4
+ position: relative;
5
+ border: 1px solid var(--spectrum-global-color-gray-200);
6
+ background: var(--spectrum-global-color-gray-50);
7
+ color: var(--spectrum-global-color-gray-800);
8
+ overflow: hidden;
9
+ min-height: 360px;
10
+ width: 240px;
11
+
12
+ &.quiet {
13
+ --selection-color: var(--spectrum-global-color-gray-200);
14
+ background: transparent;
15
+ border-color: var(--spectrum-global-color-gray-200);
16
+ }
17
+
18
+ .emptyTable {
19
+ display: flex;
20
+ flex-direction: column;
21
+ align-items: center;
22
+ justify-content: center;
23
+ font-size: 18px;
24
+ position: absolute;
25
+ inset: 1rem 1rem 1rem 1rem;
26
+ z-index: 0;
27
+ background-color: var(--spectrum-global-color-gray-100);
28
+ border-radius: 0.5rem;
29
+ color: var(--spectrum-global-color-gray-600);
30
+ gap: 1.5rem;
31
+ letter-spacing: 1.2px;
32
+ opacity: 0.65;
33
+
34
+ & > i {
35
+ font-size: 36px;
36
+ color: var(--spectrum-global-color-gray-600);
37
+ }
38
+ }
39
+ }
40
+
41
+ .st-control-columns {
42
+ display: flex;
43
+ }
44
+
45
+ .st-master-columns {
46
+ display: flex;
47
+ flex: auto;
48
+ }
49
+
50
+ .st-master-columns {
51
+ flex-direction: row;
52
+ align-items: stretch;
53
+ overflow-x: auto;
54
+ overflow-y: hidden;
55
+ scrollbar-width: none;
56
+ }
57
+
58
+ .st-master-columns::-webkit-scrollbar {
59
+ display: none;
60
+ }
61
+
62
+ .super-column {
63
+ display: flex;
64
+ flex: auto;
65
+ flex-direction: column;
66
+ position: relative;
67
+ border-right: var(--super-table-vertical-dividers);
68
+ overflow: hidden;
69
+ scrollbar-width: none;
70
+
71
+ &.control-column {
72
+ flex: none;
73
+ min-width: 4px;
74
+ }
75
+
76
+ &.button-column {
77
+ padding: auto;
78
+ }
79
+
80
+ &.isLast {
81
+ border-right-color: transparent;
82
+ }
83
+
84
+ &.considerResizing {
85
+ border-right: 1px solid var(--spectrum-global-color-gray-500);
86
+ }
87
+
88
+ &.resizing {
89
+ border-right: 1px solid var(--primaryColor);
90
+ }
91
+
92
+ &.sticky {
93
+ background: var(--spectrum-global-color-gray-100);
94
+ filter: drop-shadow(2px 0 2px rgba(0, 0, 0, 0.5));
95
+ z-index: 1;
96
+ }
97
+
98
+ .grabber {
99
+ position: absolute;
100
+ right: 0;
101
+ top: 8px;
102
+ width: 3px;
103
+ height: calc(100% - 16px);
104
+ border-radius: 2px;
105
+ background: var(--spectrum-global-color-gray-200);
106
+ transition: all 130ms ease-in-out;
107
+ z-index: 10;
108
+
109
+ &:hover {
110
+ width: 5px;
111
+ background: var(--spectrum-global-color-gray-600);
112
+ cursor: col-resize;
113
+ }
114
+ }
115
+ }
116
+
117
+ .super-column-header,
118
+ .control-column-header {
119
+ display: flex;
120
+ align-items: center;
121
+ background: var(--spectrum-global-color-gray-100);
122
+ border-bottom: 1px solid var(--spectrum-global-color-gray-200);
123
+ height: var(--super-table-header-height);
124
+ padding: unset;
125
+ flex: none;
126
+ z-index: 1;
127
+ }
128
+
129
+ .super-column-header {
130
+ gap: 0.5rem;
131
+ padding: 0 0.5rem;
132
+
133
+ .headerLabel {
134
+ flex: 1;
135
+ display: flex;
136
+ align-items: center;
137
+ min-width: 0;
138
+ }
139
+
140
+ .innerText {
141
+ font-size: 12px;
142
+ text-transform: uppercase;
143
+ letter-spacing: 1.1px;
144
+ white-space: nowrap;
145
+ text-overflow: ellipsis;
146
+ overflow: hidden;
147
+ color: var(--super-table-header-color);
148
+ }
149
+ }
150
+
151
+ .control-column-header {
152
+ justify-content: flex-end;
153
+ padding: 0 0.75rem;
154
+ gap: 1rem;
155
+
156
+ .row-number {
157
+ min-width: 0.75rem;
158
+ text-align: right;
159
+ color: var(--spectrum-global-color-gray-500);
160
+ font-size: 11px;
161
+ }
162
+ }
163
+
164
+ .super-column-body {
165
+ flex: auto;
166
+ overflow: hidden;
167
+ max-height: var(--super-table-body-height);
168
+ height: 100%;
169
+
170
+ &.zebra:not(.sticky) > .super-row:nth-child(even) {
171
+ background: var(--spectrum-global-color-gray-75);
172
+ }
173
+
174
+ &.quiet {
175
+ background: transparent;
176
+ }
177
+
178
+ &.inserting {
179
+ color: var(--spectrum-global-color-gray-400);
180
+ }
181
+
182
+ .add-row {
183
+ height: 2rem;
184
+ display: flex;
185
+ align-items: center;
186
+ font-style: italic;
187
+ color: var(--spectrum-global-color-gray-500);
188
+ padding: 0 var(--super-table-cell-padding);
189
+ }
190
+
191
+ .spacer {
192
+ min-height: 6rem;
193
+ background: var(--spectrum-global-color-gray-100);
194
+ }
195
+ }
196
+
197
+ .super-row {
198
+ display: flex;
199
+ align-items: stretch;
200
+ border-bottom: var(--super-table-horizontal-dividers);
201
+ cursor: default;
202
+
203
+ &.saving {
204
+ border-bottom-color: var(--spectrum-global-color-green-400);
205
+ }
206
+
207
+ &.is-hovered {
208
+ color: var(--spectrum-global-color-gray-900);
209
+ background: var(
210
+ --super-table-hover-color,
211
+ var(--spectrum-global-color-gray-75)
212
+ );
213
+
214
+ .row-number {
215
+ color: var(--spectrum-global-color-gray-800);
216
+ }
217
+ }
218
+
219
+ &.is-selected {
220
+ background: var(--selection-color, var(--spectrum-global-color-blue-100));
221
+ }
222
+
223
+ &.isLast {
224
+ padding-right: 1.5rem;
225
+ }
226
+
227
+ &.new-row {
228
+ min-height: 2rem;
229
+ background: var(--spectrum-global-color-gray-50);
230
+ color: var(--spectrum-global-color-gray-800);
231
+ }
232
+
233
+ .row-number {
234
+ min-width: 0.75rem;
235
+ text-align: right;
236
+ color: var(--spectrum-global-color-gray-500);
237
+ font-size: 11px;
238
+ }
239
+
240
+ .contents-wrapper {
241
+ flex: 1;
242
+ display: flex;
243
+ align-items: center;
244
+ }
245
+ }
246
+
247
+ .super-row.is-editing,
248
+ .spectrum-Table-body.is-editing {
249
+ background: var(--spectrum-global-color-gray-75);
250
+ }
251
+
252
+ .super-column-footer {
253
+ display: flex;
254
+ align-items: center;
255
+ height: var(--super-table-footer-height);
256
+ padding: 0 var(--super-table-cell-padding);
257
+ border-top: 1px solid var(--spectrum-global-color-gray-200);
258
+ background: var(--spectrum-global-color-gray-100);
259
+ color: var(--spectrum-global-color-gray-700);
260
+ font-size: var(
261
+ --spectrum-table-header-text-size,
262
+ var(--spectrum-global-dimension-font-size-50)
263
+ );
264
+ font-weight: var(
265
+ --spectrum-table-header-text-font-weight,
266
+ var(--spectrum-global-font-weight-bold)
267
+ );
268
+ line-height: var(
269
+ --spectrum-table-header-text-line-height,
270
+ var(--spectrum-alias-heading-text-line-height)
271
+ );
272
+ letter-spacing: var(
273
+ --spectrum-table-header-text-letter-spacing,
274
+ var(--spectrum-global-font-letter-spacing-medium)
275
+ );
276
+ text-transform: uppercase;
277
+
278
+ > span {
279
+ text-overflow: ellipsis;
280
+ white-space: nowrap;
281
+ overflow: hidden;
282
+ }
283
+ }
284
+
285
+ .overlay-button {
286
+ position: absolute;
287
+ bottom: 1.5rem;
288
+ right: 1.5rem;
289
+ width: 2.25rem;
290
+ height: 2.25rem;
291
+ border-radius: 50%;
292
+ background: var(--spectrum-global-color-gray-200);
293
+ border: 1px solid var(--spectrum-global-color-gray-400);
294
+ color: var(--spectrum-global-color-gray-700);
295
+ display: flex;
296
+ align-items: center;
297
+ justify-content: center;
298
+ font-size: 1.25rem;
299
+ opacity: 0.75;
300
+ transition: all 130ms ease-in-out;
301
+ z-index: 2;
302
+ cursor: pointer;
303
+
304
+ &:hover {
305
+ opacity: 1;
306
+ background: var(--spectrum-global-color-blue-100);
307
+ border-color: var(--spectrum-global-color-blue-500);
308
+ color: var(--spectrum-global-color-blue-700);
309
+ box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
310
+ }
311
+
312
+ &.footer {
313
+ bottom: 58px;
314
+ }
315
+
316
+ &.highlighted,
317
+ &.save-row-overlay.in-insert {
318
+ opacity: 1;
319
+ }
320
+
321
+ &.add-row-overlay.in-insert {
322
+ transform: rotate(45deg);
323
+ border-color: var(--spectrum-global-color-red-500);
324
+ color: var(--spectrum-global-color-red-700);
325
+ }
326
+
327
+ &.save-row-overlay {
328
+ right: 4.5rem;
329
+ opacity: 0;
330
+ background: var(--spectrum-global-color-blue-100);
331
+ border-color: var(--spectrum-global-color-blue-500);
332
+ color: var(--spectrum-global-color-blue-700);
333
+
334
+ &:hover {
335
+ background: var(--spectrum-global-color-blue-500);
336
+ filter: drop-shadow(4px 4px 4px rgba(0, 0, 0, 0.2));
337
+ }
338
+ }
339
+
340
+ &.filter-row-overlay {
341
+ border-color: var(--spectrum-global-color-green-400);
342
+ color: var(--spectrum-global-color-green-400);
343
+
344
+ &:hover {
345
+ background: var(--spectrum-global-color-green-100);
346
+ border-color: var(--spectrum-global-color-green-700);
347
+ color: var(--spectrum-global-color-green-700);
348
+ }
349
+ }
350
+
351
+ &.loader-overlay {
352
+ cursor: default;
353
+ background: none;
354
+ border: none;
355
+
356
+ .ri-refresh-line {
357
+ font-size: 1.25rem;
358
+ animation: spin 1s linear infinite;
359
+ }
360
+
361
+ &:hover {
362
+ background: var(--spectrum-global-color-gray-200);
363
+ border-color: var(--spectrum-global-color-gray-400);
364
+ color: var(--spectrum-global-color-gray-700);
365
+ box-shadow: none;
366
+ }
367
+ }
368
+ }
369
+
370
+ .selected-row-actions-overlay {
371
+ position: absolute;
372
+ left: 1.25rem;
373
+ height: 36px;
374
+ border-radius: 4px;
375
+ background: var(--spectrum-global-color-gray-200);
376
+ border: 1px solid var(--spectrum-global-color-gray-400);
377
+ color: var(--spectrum-global-color-gray-700);
378
+ display: flex;
379
+ align-items: center;
380
+ justify-content: center;
381
+ gap: 0.25rem;
382
+ padding: 0 0.75rem 0 0.25rem;
383
+ transition: all 230ms;
384
+ z-index: 80;
385
+ box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
386
+
387
+ &.highlighted {
388
+ opacity: 1;
389
+ }
390
+
391
+ &.footer {
392
+ bottom: 58px;
393
+ }
394
+
395
+ &:hover {
396
+ border-color: var(--spectrum-global-color-gray-500);
397
+ }
398
+
399
+ .text {
400
+ margin-right: 1.5rem;
401
+ font-size: 13px;
402
+ font-weight: 400;
403
+ }
404
+ }
405
+
406
+ @keyframes spin {
407
+ to {
408
+ transform: rotate(360deg);
409
+ }
410
+ }