@dataworkz/crystal 0.1.0-beta.0 → 0.1.0-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.
- package/CHANGELOG.md +31 -13
- package/README.md +6 -0
- package/fesm2022/dataworkz-crystal-icons.mjs +31 -321
- package/fesm2022/dataworkz-crystal-icons.mjs.map +1 -1
- package/fesm2022/dataworkz-crystal-markdown.mjs +1 -1
- package/fesm2022/dataworkz-crystal-markdown.mjs.map +1 -1
- package/fesm2022/dataworkz-crystal-primeng.mjs +3 -3
- package/fesm2022/dataworkz-crystal-primeng.mjs.map +1 -1
- package/fesm2022/dataworkz-crystal.mjs +99 -70
- package/fesm2022/dataworkz-crystal.mjs.map +1 -1
- package/icons/index.d.ts +30 -96
- package/icons/svg/files/csv.svg +0 -1
- package/icons/svg/files/generic.svg +0 -1
- package/icons/svg/files/multimedia.svg +0 -1
- package/icons/svg/glyphs/agentBuilder.svg +1 -1
- package/icons/svg/glyphs/notesPad.svg +1 -1
- package/icons/svg/glyphs/panelCollapse.svg +1 -1
- package/icons/svg/glyphs/panelExpand.svg +1 -1
- package/icons/svg/glyphs/play.svg +1 -1
- package/icons/svg/glyphs/robot.svg +1 -1
- package/icons/svg/glyphs/sidebarCollapse.svg +1 -1
- package/icons/svg/glyphs/sidebarExpand.svg +1 -1
- package/icons/svg/glyphs/tagFilled.svg +1 -1
- package/icons/svg/glyphs/testShield.svg +1 -1
- package/icons/svg/storage/generic.svg +0 -1
- package/icons/svg/storage/legacy/microsoft-mail.svg +0 -1
- package/icons/svg/storage/local/microsoft-mail.svg +0 -1
- package/index.d.ts +86 -47
- package/package.json +1 -1
- package/primeng/index.d.ts +3 -3
- package/styles/base.css +4 -4
- package/styles/components/content.css +0 -102
- package/styles/components/data.css +1 -1
- package/styles/components/surface.css +2 -2
- package/styles/components/toast.css +1 -1
- package/styles/crystal-no-fonts.css +1 -2
- package/styles/tokens/primitives.css +1 -3
- package/styles/tokens/semantic-dark.css +1 -1
package/icons/index.d.ts
CHANGED
|
@@ -197,115 +197,49 @@ declare function isGlyphName(name: string | null | undefined): name is IconName;
|
|
|
197
197
|
*/
|
|
198
198
|
declare function icon(name: IconName, size?: number | string, color?: string): string;
|
|
199
199
|
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
*
|
|
209
|
-
* Historically the same families were drawn from three parallel asset folders
|
|
210
|
-
* (`dwzIcons/`, `agents/`, `dataworkz/`) delivered at different times, so the
|
|
211
|
-
* surface a tool appeared on decided which artwork it got. The three folders
|
|
212
|
-
* turned out to hold the *same* marks at different viewBoxes for all but three
|
|
213
|
-
* families, so they collapsed into {@link TOOL_ICONS}. See the note on framing
|
|
214
|
-
* below before adding artwork.
|
|
215
|
-
*
|
|
216
|
-
* ## Framing
|
|
217
|
-
*
|
|
218
|
-
* Every icon here is a bare glyph. Surfaces that want a card (the 48px type
|
|
219
|
-
* picker tiles) draw the white background and `#E5E7EB` border in CSS. Never
|
|
220
|
-
* bake a frame into the SVG — that is what forced the per-surface sets before.
|
|
221
|
-
*
|
|
222
|
-
* ## Adding a new tool type
|
|
223
|
-
*
|
|
224
|
-
* Nothing outside this file changes — every surface already delegates here.
|
|
225
|
-
*
|
|
226
|
-
* 1. **Reuses an existing family** (a new typeId that should show an existing
|
|
227
|
-
* icon): add one row to {@link TYPE_ID_TO_KEY}. Done.
|
|
228
|
-
* 2. **Needs its own artwork**: drop the unframed `icons/svg/tools/<key>.svg` in, add the family to
|
|
229
|
-
* {@link ToolIconKey}, then to {@link TOOL_ICONS} — the compiler fails the build until it is filled in,
|
|
230
|
-
* so a type can never be half-registered.
|
|
231
|
-
*
|
|
232
|
-
* Product vocabulary (display labels, PrimeIcons chip meta, the tool-type filter rows)
|
|
233
|
-
* stays in dataworkz-ui; crystal only maps a tool to its icon (MIGRATION-PLAN §2.2).
|
|
234
|
-
*/
|
|
235
|
-
/** Canonical tool family an icon exists for. */
|
|
236
|
-
type ToolIconKey = 'dataset-read' | 'dataset-write' | 'rag-app' | 'mongodb' | 'graphql' | 'snowflake' | 'rest-api' | 'llm' | 'relational-db' | 'workflow' | 'call-agent' | 'docstore' | 'agent' | 'built-in';
|
|
237
|
-
/** Shown when a typeId matches no known tool family. */
|
|
200
|
+
type LogoPath$1 = keyof typeof DW_LOGO_URIS;
|
|
201
|
+
/** The `K` of every `tools/K` logo path (generic, so it distributes over the union of paths). */
|
|
202
|
+
type ToolKeyOf<P> = P extends `tools/${infer K}` ? K : never;
|
|
203
|
+
/** A tool icon crystal has artwork for: the file name in `icons/svg/tools/` (`generic` is the fallback). */
|
|
204
|
+
type ToolIconKey = Exclude<ToolKeyOf<LogoPath$1>, 'generic'>;
|
|
205
|
+
/** Every tool icon key, from the files in `icons/svg/tools/`. */
|
|
206
|
+
declare const TOOL_ICON_KEYS: readonly ToolIconKey[];
|
|
207
|
+
/** Shown for a tool without its own artwork. */
|
|
238
208
|
declare const GENERIC_TOOL_ICON: string;
|
|
239
|
-
|
|
240
|
-
declare const BUILT_IN_TOOL_ICON: string;
|
|
241
|
-
/** Agent nodes inside dependency / reference trees. */
|
|
242
|
-
declare const AGENT_NODE_ICON: string;
|
|
243
|
-
interface ToolIconOptions {
|
|
244
|
-
/** Tool id. A `dz-` prefix wins over typeId (built-in Dataworkz tools). */
|
|
245
|
-
toolId?: string | null;
|
|
246
|
-
/** Icon (URI) returned when nothing matches. Defaults to {@link GENERIC_TOOL_ICON}. */
|
|
247
|
-
fallback?: string;
|
|
248
|
-
/** Match loosely on free text instead of an exact typeId. */
|
|
249
|
-
fuzzy?: boolean;
|
|
250
|
-
}
|
|
251
|
-
/** Canonical family for a typeId / subType, or `null` when unknown. */
|
|
252
|
-
declare function resolveToolIconKey(typeId?: string | null, options?: {
|
|
253
|
-
fuzzy?: boolean;
|
|
254
|
-
}): ToolIconKey | null;
|
|
255
|
-
/** Icon (a data URI) for a tool type. The only place a tool icon is decided. (The name is kept from when it returned an asset path.) */
|
|
256
|
-
declare function getToolIconPath(typeId?: string | null, options?: ToolIconOptions): string;
|
|
257
|
-
|
|
209
|
+
declare function isToolIconKey(key: string | null | undefined): key is ToolIconKey;
|
|
258
210
|
/**
|
|
259
|
-
*
|
|
260
|
-
*
|
|
261
|
-
* The same `storageType` values (`S3`, `RELATIONAL_POSTGRES`, `CLOSEDLOOP_JIRA`,
|
|
262
|
-
* …) are drawn from three artwork sets depending on the surface
|
|
263
|
-
* (`icons/svg/storage/<set>/<key>.svg`, inlined as data URIs, MIGRATION-PLAN §2.2):
|
|
264
|
-
* - `local` vendor logos (dataworkz-ui's own set)
|
|
265
|
-
* - `legacy` dataworkz-web's set: a superset that also covers file sources and closed-loop connectors
|
|
266
|
-
* - `sources` file-source artwork used by the data-collections drawers
|
|
267
|
-
*
|
|
268
|
-
* Callers say which set they render; the storageType aliasing lives here once.
|
|
269
|
-
*
|
|
270
|
-
* ## Adding a new storage type / SaaS connector
|
|
271
|
-
*
|
|
272
|
-
* Nothing outside this file changes.
|
|
273
|
-
*
|
|
274
|
-
* 1. Add the raw `storageType` (and its `closedloop_` twin, if any) to
|
|
275
|
-
* {@link STORAGE_TYPE_TO_KEY}. If it just reuses an existing logo, stop here.
|
|
276
|
-
* 2. Otherwise drop `icons/svg/storage/<set>/<key>.svg` into each set that should show it, add the family to
|
|
277
|
-
* {@link StorageIconKey}, then add it to those sets' tables below.
|
|
278
|
-
*
|
|
279
|
-
* Note the sets are `Partial`, unlike the tool model: the three sets genuinely
|
|
280
|
-
* carry different subsets (only `legacy` has cockroach and the file sources), so
|
|
281
|
-
* a family missing from a set falls back to that set's generic icon instead of
|
|
282
|
-
* failing the build. A table entry without its file fails the build.
|
|
211
|
+
* The tool icon (a data URI) for a key, e.g. `toolIcon('snowflake')`, or `fallback` for an unknown key.
|
|
212
|
+
* Keys are crystal's artwork names; map your own tool types to them (e.g. with `provideCrystalIconResolvers()`).
|
|
283
213
|
*/
|
|
284
|
-
|
|
214
|
+
declare function toolIcon(key: string | null | undefined, fallback?: string): string;
|
|
215
|
+
|
|
216
|
+
type LogoPath = keyof typeof DW_LOGO_URIS;
|
|
217
|
+
/** An artwork set for storage / connector logos: `icons/svg/storage/<set>/`. The sets cover different logos. */
|
|
285
218
|
type StorageIconSet = 'local' | 'legacy' | 'sources';
|
|
286
|
-
/**
|
|
287
|
-
type
|
|
288
|
-
/**
|
|
219
|
+
/** The `K` of every `storage/<set>/K` logo path (generic, so it distributes over the union of paths). */
|
|
220
|
+
type StorageKeyOf<P> = P extends `storage/${StorageIconSet}/${infer K}` ? K : never;
|
|
221
|
+
/** A storage / connector icon in any set: a file name in `icons/svg/storage/<set>/`. */
|
|
222
|
+
type StorageIconKey = StorageKeyOf<LogoPath>;
|
|
223
|
+
/** Shown for a storage type the set has no artwork for (the `local` and `legacy` sets). */
|
|
289
224
|
declare const GENERIC_STORAGE_ICON: string;
|
|
290
|
-
/**
|
|
291
|
-
declare const GENERIC_STORAGE_ICON_LEGACY: string;
|
|
292
|
-
/** Fallback for collection rows, which read better as a generic datastore. */
|
|
225
|
+
/** A generic datastore, e.g. for collection rows. */
|
|
293
226
|
declare const GENERIC_COLLECTION_ICON: string;
|
|
294
227
|
interface StorageIconOptions {
|
|
295
228
|
/** Artwork set to draw from. Defaults to `local`. */
|
|
296
229
|
set?: StorageIconSet;
|
|
297
|
-
/** Icon (URI) returned when the
|
|
230
|
+
/** Icon (URI) returned when the set has no artwork for the key. Pass `''` for "no icon". */
|
|
298
231
|
fallback?: string;
|
|
299
232
|
}
|
|
300
|
-
/**
|
|
301
|
-
declare function
|
|
233
|
+
/** The storage icon keys a set has artwork for. */
|
|
234
|
+
declare function storageIconKeys(set?: StorageIconSet): StorageIconKey[];
|
|
302
235
|
/**
|
|
303
|
-
*
|
|
304
|
-
*
|
|
236
|
+
* The storage icon (a data URI) for a key in a set, e.g. `storageIcon('s3')` or `storageIcon('upload', { set: 'legacy' })`,
|
|
237
|
+
* else the set's fallback. Keys are crystal's artwork names; map your own storage types to them (e.g. with
|
|
238
|
+
* `provideCrystalIconResolvers()`).
|
|
305
239
|
*/
|
|
306
|
-
declare function
|
|
240
|
+
declare function storageIcon(key: string | null | undefined, options?: StorageIconOptions): string;
|
|
307
241
|
|
|
308
242
|
declare function fileIconByExtension(extension: string): string;
|
|
309
243
|
|
|
310
|
-
export {
|
|
311
|
-
export type { DwIconName, IconName, StorageIconKey, StorageIconOptions, StorageIconSet, ToolIconKey
|
|
244
|
+
export { DW_ICON_NAMES, DW_ICON_PREFIX, DW_LOGO_URIS, GENERIC_COLLECTION_ICON, GENERIC_STORAGE_ICON, GENERIC_TOOL_ICON, TOOL_ICON_KEYS, dwIconName, fileIconByExtension, icon, isGlyphName, isToolIconKey, storageIcon, storageIconKeys, toolIcon };
|
|
245
|
+
export type { DwIconName, IconName, StorageIconKey, StorageIconOptions, StorageIconSet, ToolIconKey };
|
package/icons/svg/files/csv.svg
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 27" fill="none">
|
|
2
|
-
<!-- Drawn in P2 to replace csv.png (20x27): a page with a folded corner, grey text lines and CSV in blue -->
|
|
3
2
|
<path d="M1.5 1.5h11.6l5.4 5.4v18.6h-17z" fill="#fff" stroke="#6298e9"/>
|
|
4
3
|
<path d="M13.1 1.5l5.4 5.4h-5.4z" fill="#6298e9"/>
|
|
5
4
|
<path d="M3.5 4.5h7.5M3.5 7.2h3.6M8.4 7.2h2.8M3.5 21h13M3.5 23.8h5.2M10.4 23.8h6.1" stroke="#ddd" stroke-width="1.1" stroke-linecap="round"/>
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 20" fill="none">
|
|
2
|
-
<!-- Drawn in P2 to replace imgDB.png (22x20): a generic datastore, three stacked discs -->
|
|
3
2
|
<g stroke="#97b6e4" stroke-width="1.5">
|
|
4
3
|
<ellipse cx="11" cy="3.9" rx="9.25" ry="3.15"/>
|
|
5
4
|
<path d="M1.75 3.9v12.2c0 1.75 4.14 3.15 9.25 3.15s9.25-1.4 9.25-3.15V3.9"/>
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
|
|
2
|
-
<!-- Drawn in P2 to replace multimediaIcon.png (512x512): a green-to-blue disc with a rounded play cut-out -->
|
|
3
2
|
<defs>
|
|
4
3
|
<linearGradient id="g" x1="0" y1="0" x2="0" y2="1">
|
|
5
4
|
<stop offset="0" stop-color="#67c186"/>
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
2
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path d="M17.5 12.5a1.667 1.667 0 0 1-1.667 1.667H5.833L2.5 17.5V4.167A1.667 1.667 0 0 1 4.167 2.5h11.666A1.667 1.667 0 0 1 17.5 4.167V12.5z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><circle cx="7" cy="8.5" r="1.2" fill="currentColor"/><circle cx="13" cy="8.5" r="1.2" fill="currentColor"/><line x1="8.2" y1="8.5" x2="11.8" y2="8.5" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/></svg>
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
2
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><rect x="4" y="2.5" width="12" height="15" rx="1.5" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"/><line x1="7" y1="1.667" x2="7" y2="3.333" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/><line x1="10" y1="1.667" x2="10" y2="3.333" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/><line x1="13" y1="1.667" x2="13" y2="3.333" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/><line x1="7" y1="8" x2="13" y2="8" stroke="currentColor" stroke-width="1.3" stroke-linecap="round"/><line x1="7" y1="11" x2="13" y2="11" stroke="currentColor" stroke-width="1.3" stroke-linecap="round"/><line x1="7" y1="14" x2="11" y2="14" stroke="currentColor" stroke-width="1.3" stroke-linecap="round"/></svg>
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
2
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><rect x="2" y="2" width="16" height="16" rx="2" stroke="currentColor" stroke-width="1.5"/><line x1="13" y1="2" x2="13" y2="18" stroke="currentColor" stroke-width="1.5"/><path d="M7 8l2 2-2 2" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
2
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><rect x="2" y="2" width="16" height="16" rx="2" stroke="currentColor" stroke-width="1.5"/><line x1="13" y1="2" x2="13" y2="18" stroke="currentColor" stroke-width="1.5"/><path d="M9 8l-2 2 2 2" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
2
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polygon points="6 3 20 12 6 21 6 3"/></svg>
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
2
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 21 21" fill="none"><path d="M9.18739 11.375C9.18739 12.0999 8.59977 12.6875 7.87489 12.6875C7.15002 12.6875 6.56239 12.0999 6.56239 11.375C6.56239 10.6501 7.15002 10.0625 7.87489 10.0625C8.59977 10.0625 9.18739 10.6501 9.18739 11.375Z" fill="currentColor"/><path d="M13.1251 12.6875C13.85 12.6875 14.4376 12.0999 14.4376 11.375C14.4376 10.6501 13.85 10.0625 13.1251 10.0625C12.4002 10.0625 11.8126 10.6501 11.8126 11.375C11.8126 12.0999 12.4002 12.6875 13.1251 12.6875Z" fill="currentColor"/><path d="M14.5828 15.5279C14.7561 15.3736 14.8611 15.1567 14.8745 14.925C14.888 14.6933 14.8089 14.4657 14.6545 14.2924C14.5002 14.119 14.2833 14.0141 14.0516 14.0006C13.8199 13.9872 13.5924 14.0663 13.419 14.2206L13.3815 14.2556C12.2422 15.3199 11.8802 15.6581 10.5 15.7501C9.11983 15.6581 8.75735 15.3195 7.61817 14.2554L7.58278 14.2224C7.40966 14.0678 7.18224 13.9884 6.95053 14.0015C6.71883 14.0146 6.50184 14.1193 6.34728 14.2924C6.19273 14.4655 6.11328 14.6929 6.1264 14.9246C6.13953 15.1563 6.24416 15.3733 6.41728 15.5279C7.875 17.0625 8.67497 17.4083 10.5 17.5001C12.3251 17.4083 13.125 17.0625 14.5828 15.5279Z" fill="currentColor"/><path fill-rule="evenodd" clip-rule="evenodd" d="M13.125 2.625C13.125 3.77246 12.3888 4.74797 11.3629 5.10488C11.3709 5.15253 11.375 5.20105 11.375 5.25V6.125H14C15.1599 6.12639 16.2719 6.58777 17.0921 7.40794C17.55 7.8659 17.8961 8.41483 18.1127 9.01228C18.7102 9.2289 19.2591 9.57499 19.7171 10.0329C20.5372 10.8531 20.9986 11.9651 21 13.125C20.9986 14.2849 20.5372 15.3969 19.7171 16.2171C19.3186 16.6155 18.8514 16.9292 18.3432 17.1467C18.226 18.1143 17.7883 19.0208 17.0921 19.7171C16.2719 20.5372 15.1599 20.9986 14 21H7C5.8401 20.9986 4.72811 20.5372 3.90794 19.7171C3.21171 19.0208 2.77402 18.1143 2.65679 17.1467C2.14862 16.9292 1.68135 16.6155 1.28294 16.2171C0.462772 15.3969 0.00138938 14.2849 0 13.125C0.00138938 11.9651 0.462772 10.8531 1.28294 10.0329C1.7409 9.57499 2.28983 9.2289 2.88728 9.01228C3.1039 8.41483 3.44999 7.8659 3.90794 7.40794C4.72811 6.58777 5.8401 6.12639 7 6.125H9.625V5.25C9.625 5.20105 9.6291 5.15253 9.63711 5.10488C8.61125 4.74797 7.875 3.77246 7.875 2.625C7.875 1.17525 9.05025 0 10.5 0C11.9497 0 13.125 1.17525 13.125 2.625ZM10.5 3.5C10.9832 3.5 11.375 3.10825 11.375 2.625C11.375 2.14175 10.9832 1.75 10.5 1.75C10.0168 1.75 9.625 2.14175 9.625 2.625C9.625 3.10825 10.0168 3.5 10.5 3.5ZM2.625 11.1684C2.58879 11.2008 2.55338 11.2343 2.51884 11.2688C2.02656 11.7611 1.75 12.4288 1.75 13.125C1.75 13.8212 2.02656 14.4889 2.51884 14.9812C2.55338 15.0157 2.58879 15.0492 2.625 15.0816V11.1684ZM4.375 10.5C4.375 9.80381 4.65156 9.13613 5.14384 8.64384C5.63613 8.15156 6.30381 7.875 7 7.875H14C14.6962 7.875 15.3639 8.15156 15.8562 8.64384C16.3484 9.13613 16.625 9.80381 16.625 10.5V16.625C16.625 17.3212 16.3484 17.9889 15.8562 18.4812C15.3639 18.9734 14.6962 19.25 14 19.25H7C6.30381 19.25 5.63613 18.9734 5.14384 18.4812C4.65156 17.9889 4.375 17.3212 4.375 16.625V10.5ZM18.375 15.0816C18.4112 15.0492 18.4466 15.0157 18.4812 14.9812C18.9734 14.4889 19.25 13.8212 19.25 13.125C19.25 12.4288 18.9734 11.7611 18.4812 11.2688C18.4466 11.2343 18.4112 11.2008 18.375 11.1684V15.0816Z" fill="currentColor"/></svg>
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
2
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><rect x="2" y="2" width="16" height="16" rx="2" stroke="currentColor" stroke-width="1.5"/><line x1="7" y1="2" x2="7" y2="18" stroke="currentColor" stroke-width="1.5"/><path d="M13 8l-2 2 2 2" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
2
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><rect x="2" y="2" width="16" height="16" rx="2" stroke="currentColor" stroke-width="1.5"/><line x1="7" y1="2" x2="7" y2="18" stroke="currentColor" stroke-width="1.5"/><path d="M11 8l2 2-2 2" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
2
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" stroke="none"><path fill-rule="evenodd" d="M2 3a1 1 0 0 1 1-1h8.59a1 1 0 0 1 .7.29l8.3 8.3a2 2 0 0 1 0 2.83l-7.17 7.17a2 2 0 0 1-2.83 0l-8.3-8.3A1 1 0 0 1 2 11.59V3Zm5 5.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"/></svg>
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
2
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path d="M10 1.667L3.333 4.167v5c0 4.167 2.917 7.917 6.667 8.833 3.75-.916 6.667-4.666 6.667-8.833v-5L10 1.667z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><path d="M7.5 10l1.667 1.667L12.5 8.333" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 20" fill="none">
|
|
2
|
-
<!-- Drawn in P2 to replace imgDB.png (22x20): a generic datastore, three stacked discs -->
|
|
3
2
|
<g stroke="#97b6e4" stroke-width="1.5">
|
|
4
3
|
<ellipse cx="11" cy="3.9" rx="9.25" ry="3.15"/>
|
|
5
4
|
<path d="M1.75 3.9v12.2c0 1.75 4.14 3.15 9.25 3.15s9.25-1.4 9.25-3.15V3.9"/>
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
-
<!-- Generator: Adobe Illustrator 25.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
|
3
2
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
|
4
3
|
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
|
|
5
4
|
<style type="text/css">
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
-
<!-- Generator: Adobe Illustrator 25.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
|
3
2
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
|
4
3
|
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
|
|
5
4
|
<style type="text/css">
|