@design.estate/dees-catalog 3.48.2 → 3.48.3
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.
- package/dist_bundle/bundle.js +129 -129
- package/dist_ts_web/00_commitinfo_data.js +1 -1
- package/dist_ts_web/elements/00group-dataview/{dees-s3-browser/dees-s3-browser.d.ts → dees-storage-browser/dees-storage-browser.d.ts} +5 -5
- package/dist_ts_web/elements/00group-dataview/{dees-s3-browser/dees-s3-browser.demo.d.ts → dees-storage-browser/dees-storage-browser.demo.d.ts} +1 -1
- package/dist_ts_web/elements/00group-dataview/dees-storage-browser/dees-storage-browser.demo.js +148 -0
- package/dist_ts_web/elements/00group-dataview/{dees-s3-browser/dees-s3-browser.js → dees-storage-browser/dees-storage-browser.js} +18 -18
- package/dist_ts_web/elements/00group-dataview/{dees-s3-browser/dees-s3-columns.d.ts → dees-storage-browser/dees-storage-columns.d.ts} +2 -2
- package/dist_ts_web/elements/00group-dataview/{dees-s3-browser/dees-s3-columns.js → dees-storage-browser/dees-storage-columns.js} +7 -7
- package/dist_ts_web/elements/00group-dataview/{dees-s3-browser/dees-s3-keys.d.ts → dees-storage-browser/dees-storage-keys.d.ts} +2 -2
- package/dist_ts_web/elements/00group-dataview/{dees-s3-browser/dees-s3-keys.js → dees-storage-browser/dees-storage-keys.js} +7 -7
- package/dist_ts_web/elements/00group-dataview/{dees-s3-browser/dees-s3-preview.d.ts → dees-storage-browser/dees-storage-preview.d.ts} +2 -2
- package/dist_ts_web/elements/00group-dataview/{dees-s3-browser/dees-s3-preview.js → dees-storage-browser/dees-storage-preview.js} +7 -7
- package/dist_ts_web/elements/00group-dataview/{dees-s3-browser → dees-storage-browser}/index.d.ts +4 -4
- package/dist_ts_web/elements/00group-dataview/dees-storage-browser/index.js +7 -0
- package/dist_ts_web/elements/00group-dataview/{dees-s3-browser → dees-storage-browser}/interfaces.js +1 -1
- package/dist_ts_web/elements/00group-dataview/dees-storage-browser/utilities.js +109 -0
- package/dist_ts_web/elements/00group-dataview/index.d.ts +1 -1
- package/dist_ts_web/elements/00group-dataview/index.js +2 -2
- package/package.json +1 -1
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/elements/00group-dataview/{dees-s3-browser/dees-s3-browser.demo.ts → dees-storage-browser/dees-storage-browser.demo.ts} +3 -3
- package/ts_web/elements/00group-dataview/{dees-s3-browser/dees-s3-browser.ts → dees-storage-browser/dees-storage-browser.ts} +14 -14
- package/ts_web/elements/00group-dataview/{dees-s3-browser/dees-s3-columns.ts → dees-storage-browser/dees-storage-columns.ts} +3 -3
- package/ts_web/elements/00group-dataview/{dees-s3-browser/dees-s3-keys.ts → dees-storage-browser/dees-storage-keys.ts} +3 -3
- package/ts_web/elements/00group-dataview/{dees-s3-browser/dees-s3-preview.ts → dees-storage-browser/dees-storage-preview.ts} +3 -3
- package/ts_web/elements/00group-dataview/{dees-s3-browser → dees-storage-browser}/index.ts +4 -4
- package/ts_web/elements/00group-dataview/index.ts +1 -1
- package/dist_ts_web/elements/00group-dataview/dees-s3-browser/dees-s3-browser.demo.js +0 -148
- package/dist_ts_web/elements/00group-dataview/dees-s3-browser/index.js +0 -7
- package/dist_ts_web/elements/00group-dataview/dees-s3-browser/utilities.js +0 -109
- /package/dist_ts_web/elements/00group-dataview/{dees-s3-browser → dees-storage-browser}/interfaces.d.ts +0 -0
- /package/dist_ts_web/elements/00group-dataview/{dees-s3-browser → dees-storage-browser}/utilities.d.ts +0 -0
- /package/ts_web/elements/00group-dataview/{dees-s3-browser → dees-storage-browser}/interfaces.ts +0 -0
- /package/ts_web/elements/00group-dataview/{dees-s3-browser → dees-storage-browser}/utilities.ts +0 -0
|
@@ -5,12 +5,12 @@ import { formatSize, getFileName } from './utilities.js';
|
|
|
5
5
|
|
|
6
6
|
declare global {
|
|
7
7
|
interface HTMLElementTagNameMap {
|
|
8
|
-
'dees-
|
|
8
|
+
'dees-storage-preview': DeesStoragePreview;
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
@customElement('dees-
|
|
13
|
-
export class
|
|
12
|
+
@customElement('dees-storage-preview')
|
|
13
|
+
export class DeesStoragePreview extends DeesElement {
|
|
14
14
|
@property({ type: Object })
|
|
15
15
|
public accessor dataProvider: IS3DataProvider | null = null;
|
|
16
16
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export * from './dees-
|
|
2
|
-
export * from './dees-
|
|
3
|
-
export * from './dees-
|
|
4
|
-
export * from './dees-
|
|
1
|
+
export * from './dees-storage-browser.js';
|
|
2
|
+
export * from './dees-storage-columns.js';
|
|
3
|
+
export * from './dees-storage-keys.js';
|
|
4
|
+
export * from './dees-storage-preview.js';
|
|
5
5
|
export * from './interfaces.js';
|
|
6
6
|
export { formatSize, formatCount, getFileName, validateMove, getParentPrefix, getContentType, getDefaultContent, getPathSegments } from './utilities.js';
|
|
@@ -3,4 +3,4 @@ export * from './dees-dataview-codebox/index.js';
|
|
|
3
3
|
export * from './dees-dataview-statusobject/index.js';
|
|
4
4
|
export * from './dees-table/index.js';
|
|
5
5
|
export * from './dees-statsgrid/index.js';
|
|
6
|
-
export * from './dees-
|
|
6
|
+
export * from './dees-storage-browser/index.js';
|
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
import { html } from '@design.estate/dees-element';
|
|
2
|
-
import './dees-s3-browser.js';
|
|
3
|
-
// Mock in-memory S3 data provider for demo purposes
|
|
4
|
-
class MockS3DataProvider {
|
|
5
|
-
objects = new Map();
|
|
6
|
-
constructor() {
|
|
7
|
-
const now = new Date().toISOString();
|
|
8
|
-
// Seed with sample data
|
|
9
|
-
this.objects.set('documents/readme.md', {
|
|
10
|
-
content: btoa('# Welcome\n\nThis is a demo S3 browser.\n'),
|
|
11
|
-
contentType: 'text/markdown',
|
|
12
|
-
size: 42,
|
|
13
|
-
lastModified: now,
|
|
14
|
-
});
|
|
15
|
-
this.objects.set('documents/config.json', {
|
|
16
|
-
content: btoa('{\n "name": "demo",\n "version": "1.0.0"\n}'),
|
|
17
|
-
contentType: 'application/json',
|
|
18
|
-
size: 48,
|
|
19
|
-
lastModified: now,
|
|
20
|
-
});
|
|
21
|
-
this.objects.set('documents/notes/todo.txt', {
|
|
22
|
-
content: btoa('Buy milk\nFix bug #42\nDeploy to production'),
|
|
23
|
-
contentType: 'text/plain',
|
|
24
|
-
size: 45,
|
|
25
|
-
lastModified: now,
|
|
26
|
-
});
|
|
27
|
-
this.objects.set('images/logo.png', {
|
|
28
|
-
content: btoa('fake-png-data'),
|
|
29
|
-
contentType: 'image/png',
|
|
30
|
-
size: 24500,
|
|
31
|
-
lastModified: now,
|
|
32
|
-
});
|
|
33
|
-
this.objects.set('images/banner.jpg', {
|
|
34
|
-
content: btoa('fake-jpg-data'),
|
|
35
|
-
contentType: 'image/jpeg',
|
|
36
|
-
size: 156000,
|
|
37
|
-
lastModified: now,
|
|
38
|
-
});
|
|
39
|
-
this.objects.set('scripts/deploy.sh', {
|
|
40
|
-
content: btoa('#!/bin/bash\necho "Deploying..."\n'),
|
|
41
|
-
contentType: 'text/plain',
|
|
42
|
-
size: 34,
|
|
43
|
-
lastModified: now,
|
|
44
|
-
});
|
|
45
|
-
this.objects.set('index.html', {
|
|
46
|
-
content: btoa('<!DOCTYPE html>\n<html>\n<body>\n <h1>Hello World</h1>\n</body>\n</html>'),
|
|
47
|
-
contentType: 'text/html',
|
|
48
|
-
size: 72,
|
|
49
|
-
lastModified: now,
|
|
50
|
-
});
|
|
51
|
-
this.objects.set('styles.css', {
|
|
52
|
-
content: btoa('body { margin: 0; font-family: sans-serif; }'),
|
|
53
|
-
contentType: 'text/css',
|
|
54
|
-
size: 44,
|
|
55
|
-
lastModified: now,
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
async listObjects(bucket, prefix, delimiter) {
|
|
59
|
-
const pfx = prefix || '';
|
|
60
|
-
const objects = [];
|
|
61
|
-
const prefixes = new Set();
|
|
62
|
-
for (const [key, data] of this.objects) {
|
|
63
|
-
if (!key.startsWith(pfx))
|
|
64
|
-
continue;
|
|
65
|
-
const rest = key.slice(pfx.length);
|
|
66
|
-
if (delimiter) {
|
|
67
|
-
const slashIndex = rest.indexOf(delimiter);
|
|
68
|
-
if (slashIndex >= 0) {
|
|
69
|
-
prefixes.add(pfx + rest.slice(0, slashIndex + 1));
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
objects.push({ key, size: data.size, lastModified: data.lastModified });
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
objects.push({ key, size: data.size, lastModified: data.lastModified });
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
return { objects, prefixes: Array.from(prefixes).sort() };
|
|
80
|
-
}
|
|
81
|
-
async getObject(bucket, key) {
|
|
82
|
-
const obj = this.objects.get(key);
|
|
83
|
-
if (!obj)
|
|
84
|
-
throw new Error('Not found');
|
|
85
|
-
return { ...obj };
|
|
86
|
-
}
|
|
87
|
-
async putObject(bucket, key, base64Content, contentType) {
|
|
88
|
-
this.objects.set(key, {
|
|
89
|
-
content: base64Content,
|
|
90
|
-
contentType,
|
|
91
|
-
size: atob(base64Content).length,
|
|
92
|
-
lastModified: new Date().toISOString(),
|
|
93
|
-
});
|
|
94
|
-
return true;
|
|
95
|
-
}
|
|
96
|
-
async deleteObject(bucket, key) {
|
|
97
|
-
return this.objects.delete(key);
|
|
98
|
-
}
|
|
99
|
-
async deletePrefix(bucket, prefix) {
|
|
100
|
-
for (const key of this.objects.keys()) {
|
|
101
|
-
if (key.startsWith(prefix)) {
|
|
102
|
-
this.objects.delete(key);
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
return true;
|
|
106
|
-
}
|
|
107
|
-
async getObjectUrl(bucket, key) {
|
|
108
|
-
const obj = this.objects.get(key);
|
|
109
|
-
if (!obj)
|
|
110
|
-
return '';
|
|
111
|
-
const blob = new Blob([Uint8Array.from(atob(obj.content), c => c.charCodeAt(0))], { type: obj.contentType });
|
|
112
|
-
return URL.createObjectURL(blob);
|
|
113
|
-
}
|
|
114
|
-
async moveObject(bucket, sourceKey, destKey) {
|
|
115
|
-
const obj = this.objects.get(sourceKey);
|
|
116
|
-
if (!obj)
|
|
117
|
-
return { success: false, error: 'Source not found' };
|
|
118
|
-
this.objects.set(destKey, { ...obj, lastModified: new Date().toISOString() });
|
|
119
|
-
this.objects.delete(sourceKey);
|
|
120
|
-
return { success: true };
|
|
121
|
-
}
|
|
122
|
-
async movePrefix(bucket, sourcePrefix, destPrefix) {
|
|
123
|
-
let count = 0;
|
|
124
|
-
const toMove = Array.from(this.objects.entries()).filter(([k]) => k.startsWith(sourcePrefix));
|
|
125
|
-
for (const [key, data] of toMove) {
|
|
126
|
-
const newKey = destPrefix + key.slice(sourcePrefix.length);
|
|
127
|
-
this.objects.set(newKey, { ...data, lastModified: new Date().toISOString() });
|
|
128
|
-
this.objects.delete(key);
|
|
129
|
-
count++;
|
|
130
|
-
}
|
|
131
|
-
return { success: true, movedCount: count };
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
export const demoFunc = () => html `
|
|
135
|
-
<style>
|
|
136
|
-
.demo-container {
|
|
137
|
-
height: 600px;
|
|
138
|
-
padding: 16px;
|
|
139
|
-
}
|
|
140
|
-
</style>
|
|
141
|
-
<div class="demo-container">
|
|
142
|
-
<dees-s3-browser
|
|
143
|
-
.dataProvider=${new MockS3DataProvider()}
|
|
144
|
-
.bucketName=${'demo-bucket'}
|
|
145
|
-
></dees-s3-browser>
|
|
146
|
-
</div>
|
|
147
|
-
`;
|
|
148
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1zMy1icm93c2VyLmRlbW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90c193ZWIvZWxlbWVudHMvMDBncm91cC1kYXRhdmlldy9kZWVzLXMzLWJyb3dzZXIvZGVlcy1zMy1icm93c2VyLmRlbW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRW5ELE9BQU8sc0JBQXNCLENBQUM7QUFFOUIsb0RBQW9EO0FBQ3BELE1BQU0sa0JBQWtCO0lBQ2QsT0FBTyxHQUE4RixJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRXZIO1FBQ0UsTUFBTSxHQUFHLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyQyx3QkFBd0I7UUFDeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMscUJBQXFCLEVBQUU7WUFDdEMsT0FBTyxFQUFFLElBQUksQ0FBQywyQ0FBMkMsQ0FBQztZQUMxRCxXQUFXLEVBQUUsZUFBZTtZQUM1QixJQUFJLEVBQUUsRUFBRTtZQUNSLFlBQVksRUFBRSxHQUFHO1NBQ2xCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLHVCQUF1QixFQUFFO1lBQ3hDLE9BQU8sRUFBRSxJQUFJLENBQUMsK0NBQStDLENBQUM7WUFDOUQsV0FBVyxFQUFFLGtCQUFrQjtZQUMvQixJQUFJLEVBQUUsRUFBRTtZQUNSLFlBQVksRUFBRSxHQUFHO1NBQ2xCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLDBCQUEwQixFQUFFO1lBQzNDLE9BQU8sRUFBRSxJQUFJLENBQUMsNkNBQTZDLENBQUM7WUFDNUQsV0FBVyxFQUFFLFlBQVk7WUFDekIsSUFBSSxFQUFFLEVBQUU7WUFDUixZQUFZLEVBQUUsR0FBRztTQUNsQixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsT0FB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
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export * from './dees-s3-browser.js';
|
|
2
|
-
export * from './dees-s3-columns.js';
|
|
3
|
-
export * from './dees-s3-keys.js';
|
|
4
|
-
export * from './dees-s3-preview.js';
|
|
5
|
-
export * from './interfaces.js';
|
|
6
|
-
export { formatSize, formatCount, getFileName, validateMove, getParentPrefix, getContentType, getDefaultContent, getPathSegments } from './utilities.js';
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90c193ZWIvZWxlbWVudHMvMDBncm91cC1kYXRhdmlldy9kZWVzLXMzLWJyb3dzZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQyJ9
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared utilities for S3 browser components
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* Format a byte size into a human-readable string
|
|
6
|
-
*/
|
|
7
|
-
export function formatSize(bytes) {
|
|
8
|
-
if (bytes === undefined || bytes === null)
|
|
9
|
-
return '-';
|
|
10
|
-
if (bytes === 0)
|
|
11
|
-
return '0 B';
|
|
12
|
-
const units = ['B', 'KB', 'MB', 'GB', 'TB'];
|
|
13
|
-
let size = bytes;
|
|
14
|
-
let unitIndex = 0;
|
|
15
|
-
while (size >= 1024 && unitIndex < units.length - 1) {
|
|
16
|
-
size /= 1024;
|
|
17
|
-
unitIndex++;
|
|
18
|
-
}
|
|
19
|
-
return `${size.toFixed(unitIndex > 0 ? 1 : 0)} ${units[unitIndex]}`;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Format a count into a compact human-readable string
|
|
23
|
-
*/
|
|
24
|
-
export function formatCount(count) {
|
|
25
|
-
if (count === undefined || count === null)
|
|
26
|
-
return '';
|
|
27
|
-
if (count >= 1000000)
|
|
28
|
-
return `${(count / 1000000).toFixed(1)}M`;
|
|
29
|
-
if (count >= 1000)
|
|
30
|
-
return `${(count / 1000).toFixed(1)}K`;
|
|
31
|
-
return count.toString();
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Extract the file name from a path
|
|
35
|
-
*/
|
|
36
|
-
export function getFileName(path) {
|
|
37
|
-
const parts = path.replace(/\/$/, '').split('/');
|
|
38
|
-
return parts[parts.length - 1] || path;
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Validates if a move operation is allowed
|
|
42
|
-
*/
|
|
43
|
-
export function validateMove(sourceKey, destPrefix) {
|
|
44
|
-
if (sourceKey.endsWith('/')) {
|
|
45
|
-
if (destPrefix.startsWith(sourceKey)) {
|
|
46
|
-
return { valid: false, error: 'Cannot move a folder into itself' };
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
const sourceParent = getParentPrefix(sourceKey);
|
|
50
|
-
if (sourceParent === destPrefix) {
|
|
51
|
-
return { valid: false, error: 'Item is already in this location' };
|
|
52
|
-
}
|
|
53
|
-
return { valid: true };
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Gets the parent prefix (directory) of a given key
|
|
57
|
-
*/
|
|
58
|
-
export function getParentPrefix(key) {
|
|
59
|
-
const trimmed = key.endsWith('/') ? key.slice(0, -1) : key;
|
|
60
|
-
const lastSlash = trimmed.lastIndexOf('/');
|
|
61
|
-
return lastSlash >= 0 ? trimmed.substring(0, lastSlash + 1) : '';
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Get content type from file extension
|
|
65
|
-
*/
|
|
66
|
-
export function getContentType(ext) {
|
|
67
|
-
const contentTypes = {
|
|
68
|
-
json: 'application/json',
|
|
69
|
-
txt: 'text/plain',
|
|
70
|
-
html: 'text/html',
|
|
71
|
-
css: 'text/css',
|
|
72
|
-
js: 'application/javascript',
|
|
73
|
-
ts: 'text/typescript',
|
|
74
|
-
md: 'text/markdown',
|
|
75
|
-
xml: 'application/xml',
|
|
76
|
-
yaml: 'text/yaml',
|
|
77
|
-
yml: 'text/yaml',
|
|
78
|
-
csv: 'text/csv',
|
|
79
|
-
};
|
|
80
|
-
return contentTypes[ext] || 'application/octet-stream';
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Get default content for a new file based on extension
|
|
84
|
-
*/
|
|
85
|
-
export function getDefaultContent(ext) {
|
|
86
|
-
const defaults = {
|
|
87
|
-
json: '{\n \n}',
|
|
88
|
-
html: '<!DOCTYPE html>\n<html>\n<head>\n <title></title>\n</head>\n<body>\n \n</body>\n</html>',
|
|
89
|
-
md: '# Title\n\n',
|
|
90
|
-
txt: '',
|
|
91
|
-
};
|
|
92
|
-
return defaults[ext] || '';
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Parse a prefix into cumulative path segments
|
|
96
|
-
*/
|
|
97
|
-
export function getPathSegments(prefix) {
|
|
98
|
-
if (!prefix)
|
|
99
|
-
return [];
|
|
100
|
-
const parts = prefix.split('/').filter(p => p);
|
|
101
|
-
const segments = [];
|
|
102
|
-
let cumulative = '';
|
|
103
|
-
for (const part of parts) {
|
|
104
|
-
cumulative += part + '/';
|
|
105
|
-
segments.push(cumulative);
|
|
106
|
-
}
|
|
107
|
-
return segments;
|
|
108
|
-
}
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0aWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdHNfd2ViL2VsZW1lbnRzLzAwZ3JvdXAtZGF0YXZpZXcvZGVlcy1zMy1icm93c2VyL3V0aWxpdGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQU9IOztHQUVHO0FBQ0gsTUFBTSxVQUFVLFVBQVUsQ0FBQyxLQUFjO0lBQ3ZDLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssSUFBSTtRQUFFLE9BQU8sR0FBRyxDQUFDO0lBQ3RELElBQUksS0FBSyxLQUFLLENBQUM7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUU5QixNQUFNLEtBQUssR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM1QyxJQUFJLElBQUksR0FBRyxLQUFLLENBQUM7SUFDakIsSUFBSSxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBRWxCLE9BQU8sSUFBSSxJQUFJLElBQUksSUFBSSxTQUFTLEdBQUcsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNwRCxJQUFJLElBQUksSUFBSSxDQUFDO1FBQ2IsU0FBUyxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRUQsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztBQUN0RSxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUFDLEtBQWM7SUFDeEMsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxJQUFJO1FBQUUsT0FBTyxFQUFFLENBQUM7SUFDckQsSUFBSSxLQUFLLElBQUksT0FBTztRQUFFLE9BQU8sR0FBRyxDQUFDLEtBQUss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
|
|
File without changes
|
|
File without changes
|
/package/ts_web/elements/00group-dataview/{dees-s3-browser → dees-storage-browser}/interfaces.ts
RENAMED
|
File without changes
|
/package/ts_web/elements/00group-dataview/{dees-s3-browser → dees-storage-browser}/utilities.ts
RENAMED
|
File without changes
|