mirror of
https://github.com/gradio-app/gradio.git
synced 2025-01-18 10:44:33 +08:00
populate workbench
This commit is contained in:
parent
4d9b600627
commit
7924ac5829
@ -1,8 +1,8 @@
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
extract: "themes.css",
|
extract: "themes.css",
|
||||||
plugins: [
|
plugins: [
|
||||||
|
require("tailwindcss/nesting"),
|
||||||
require("tailwindcss"),
|
require("tailwindcss"),
|
||||||
require("postcss-nested"),
|
|
||||||
require("autoprefixer")
|
require("autoprefixer")
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
|
@ -4,7 +4,7 @@ import sveltePreprocess from "svelte-preprocess";
|
|||||||
|
|
||||||
// this is dupe config, gonna try fix this
|
// this is dupe config, gonna try fix this
|
||||||
import tailwind from "tailwindcss";
|
import tailwind from "tailwindcss";
|
||||||
import nested from "postcss-nested";
|
import nested from "tailwindcss/nesting";
|
||||||
import autoprefix from "autoprefixer";
|
import autoprefix from "autoprefixer";
|
||||||
|
|
||||||
export default defineConfig(({ mode }) => {
|
export default defineConfig(({ mode }) => {
|
||||||
|
@ -1,10 +1,13 @@
|
|||||||
{
|
{
|
||||||
"name": "~name~",
|
"name": "@gradio/audio",
|
||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
"description": "Gradio UI packages",
|
"description": "Gradio UI packages",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "src/index.ts",
|
"main": "src/index.ts",
|
||||||
"author": "",
|
"author": "",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"private": true
|
"private": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@gradio/upload": "workspace:^0.0.1"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,180 @@
|
|||||||
|
<script lang="ts">
|
||||||
|
import type { Value } from "./types";
|
||||||
|
|
||||||
|
import { onDestroy, createEventDispatcher } from "svelte";
|
||||||
|
import { Upload, ModifyUpload } from "@gradio/upload";
|
||||||
|
//@ts-ignore
|
||||||
|
import Range from "svelte-range-slider-pips";
|
||||||
|
import { _ } from "svelte-i18n";
|
||||||
|
|
||||||
|
// export let value: null | Value;
|
||||||
|
export let src: null | string;
|
||||||
|
export let setValue: (val: typeof value) => typeof value;
|
||||||
|
export let theme: string;
|
||||||
|
export let name: string;
|
||||||
|
export let source: "microphone" | "upload";
|
||||||
|
|
||||||
|
let recording = false;
|
||||||
|
let recorder: MediaRecorder;
|
||||||
|
let mode = "";
|
||||||
|
let audio_chunks: Array<Blob> = [];
|
||||||
|
let audio_blob;
|
||||||
|
let player;
|
||||||
|
let inited = false;
|
||||||
|
let crop_values = [0, 100];
|
||||||
|
|
||||||
|
const dispatch = createEventDispatcher();
|
||||||
|
|
||||||
|
function blob_to_data_url(blob: Blob): Promise<string> {
|
||||||
|
return new Promise((fulfill, reject) => {
|
||||||
|
let reader = new FileReader();
|
||||||
|
reader.onerror = reject;
|
||||||
|
reader.onload = (e) => fulfill(reader.result as string);
|
||||||
|
reader.readAsDataURL(blob);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
async function prepare_audio() {
|
||||||
|
const stream = await navigator.mediaDevices.getUserMedia({ audio: true });
|
||||||
|
recorder = new MediaRecorder(stream);
|
||||||
|
|
||||||
|
recorder.addEventListener("dataavailable", (event) => {
|
||||||
|
audio_chunks.push(event.data);
|
||||||
|
});
|
||||||
|
|
||||||
|
recorder.addEventListener("stop", async () => {
|
||||||
|
recording = false;
|
||||||
|
audio_blob = new Blob(audio_chunks, { type: "audio/wav" });
|
||||||
|
|
||||||
|
dispatch("change", {
|
||||||
|
data: await blob_to_data_url(audio_blob),
|
||||||
|
name
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
async function record() {
|
||||||
|
recording = true;
|
||||||
|
audio_chunks = [];
|
||||||
|
|
||||||
|
if (!inited) await prepare_audio();
|
||||||
|
|
||||||
|
recorder.start();
|
||||||
|
}
|
||||||
|
|
||||||
|
onDestroy(() => {
|
||||||
|
if (recorder) {
|
||||||
|
recorder.stop();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
const stop = () => {
|
||||||
|
recorder.stop();
|
||||||
|
};
|
||||||
|
|
||||||
|
function clear() {
|
||||||
|
dispatch("change", { data: null, name: null });
|
||||||
|
mode = "";
|
||||||
|
src = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
function loaded(node: HTMLAudioElement) {
|
||||||
|
function clamp_playback() {
|
||||||
|
const start_time = (crop_values[0] / 100) * node.duration;
|
||||||
|
const end_time = (crop_values[1] / 100) * node.duration;
|
||||||
|
if (node.currentTime < start_time) {
|
||||||
|
node.currentTime = start_time;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (node.currentTime > end_time) {
|
||||||
|
node.currentTime = start_time;
|
||||||
|
node.pause();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
node.addEventListener("timeupdate", clamp_playback);
|
||||||
|
|
||||||
|
return {
|
||||||
|
destroy: () => node.removeEventListener("timeupdate", clamp_playback)
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
function handle_change({
|
||||||
|
detail: { values }
|
||||||
|
}: {
|
||||||
|
detail: { values: [number, number] };
|
||||||
|
}) {
|
||||||
|
if (!value?.data) return;
|
||||||
|
|
||||||
|
dispatch("change", {
|
||||||
|
data: src,
|
||||||
|
name,
|
||||||
|
crop_min: values[0],
|
||||||
|
crop_max: values[1]
|
||||||
|
});
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<div class="input-audio">
|
||||||
|
{#if src === null}
|
||||||
|
{#if source === "microphone"}
|
||||||
|
{#if recording}
|
||||||
|
<button
|
||||||
|
class="p-2 rounded font-semibold bg-red-200 text-red-500 dark:bg-red-600 dark:text-red-100 shadow transition hover:shadow-md"
|
||||||
|
on:click={stop}
|
||||||
|
>
|
||||||
|
Stop Recording
|
||||||
|
</button>
|
||||||
|
{:else}
|
||||||
|
<button
|
||||||
|
class="p-2 rounded font-semibold shadow transition hover:shadow-md bg-white dark:bg-gray-800"
|
||||||
|
on:click={record}
|
||||||
|
>
|
||||||
|
Record
|
||||||
|
</button>
|
||||||
|
{/if}
|
||||||
|
{:else if source === "upload"}
|
||||||
|
<Upload
|
||||||
|
filetype="audio/*"
|
||||||
|
on:load={({ detail }) => (
|
||||||
|
(src = detail), dispatch("change", { data: detail })
|
||||||
|
)}
|
||||||
|
{theme}
|
||||||
|
>
|
||||||
|
{$_("interface.drop_audio")}
|
||||||
|
<br />- {$_("interface.or")} -<br />
|
||||||
|
{$_("interface.click_to_upload")}
|
||||||
|
</Upload>
|
||||||
|
{/if}
|
||||||
|
{:else}
|
||||||
|
<ModifyUpload
|
||||||
|
on:clear={clear}
|
||||||
|
on:edit={() => (mode = "edit")}
|
||||||
|
absolute={false}
|
||||||
|
{theme}
|
||||||
|
/>
|
||||||
|
|
||||||
|
<audio
|
||||||
|
use:loaded
|
||||||
|
class="w-full"
|
||||||
|
controls
|
||||||
|
bind:this={player}
|
||||||
|
preload="metadata"
|
||||||
|
{src}
|
||||||
|
/>
|
||||||
|
|
||||||
|
{#if mode === "edit" && player?.duration}
|
||||||
|
<Range
|
||||||
|
bind:values={crop_values}
|
||||||
|
range
|
||||||
|
min={0}
|
||||||
|
max={100}
|
||||||
|
step={1}
|
||||||
|
on:change={handle_change}
|
||||||
|
/>
|
||||||
|
{/if}
|
||||||
|
{/if}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<style lang="postcss">
|
||||||
|
</style>
|
6
ui/packages/audio/src/types.ts
Normal file
6
ui/packages/audio/src/types.ts
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
export interface Value {
|
||||||
|
data: string;
|
||||||
|
name: string;
|
||||||
|
crop_min?: number;
|
||||||
|
crop_max?: number;
|
||||||
|
}
|
10
ui/packages/upload/package.json
Normal file
10
ui/packages/upload/package.json
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"name": "@gradio/upload",
|
||||||
|
"version": "0.0.1",
|
||||||
|
"description": "Gradio UI packages",
|
||||||
|
"type": "module",
|
||||||
|
"main": "src/index.ts",
|
||||||
|
"author": "",
|
||||||
|
"license": "ISC",
|
||||||
|
"private": true
|
||||||
|
}
|
46
ui/packages/upload/src/ModifyUpload.svelte
Normal file
46
ui/packages/upload/src/ModifyUpload.svelte
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
<script lang="ts">
|
||||||
|
import edit from "./edit.svg";
|
||||||
|
import clear from "./clear.svg";
|
||||||
|
|
||||||
|
import { createEventDispatcher } from "svelte";
|
||||||
|
|
||||||
|
export let editable: boolean = false;
|
||||||
|
export let theme: string;
|
||||||
|
export let absolute = true;
|
||||||
|
|
||||||
|
const dispatch =
|
||||||
|
createEventDispatcher<{ edit: undefined; clear: undefined }>();
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<div
|
||||||
|
class="modify-upload z-10 top-0 right-0 flex justify-end"
|
||||||
|
class:absolute
|
||||||
|
{theme}
|
||||||
|
>
|
||||||
|
{#if editable}
|
||||||
|
<button
|
||||||
|
class="edit bg-opacity-30 hover:bg-opacity-100 transition p-1"
|
||||||
|
on:click={() => dispatch("edit")}
|
||||||
|
>
|
||||||
|
<img class="h-4 filter dark:invert" src={edit} alt="Edit" />
|
||||||
|
</button>
|
||||||
|
{/if}
|
||||||
|
<button
|
||||||
|
class="clear bg-opacity-30 hover:bg-opacity-100 transition p-1"
|
||||||
|
on:click={() => dispatch("clear")}
|
||||||
|
>
|
||||||
|
<img class="h-4 filter dark:invert" src={clear} alt="Clear" />
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<style lang="postcss" global>
|
||||||
|
.modify-upload[theme="default"] {
|
||||||
|
@apply m-1 flex gap-1;
|
||||||
|
.edit {
|
||||||
|
@apply bg-amber-500 dark:bg-red-600 rounded shadow;
|
||||||
|
}
|
||||||
|
.clear {
|
||||||
|
@apply bg-gray-50 dark:bg-gray-500 rounded shadow;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
102
ui/packages/upload/src/Upload.svelte
Normal file
102
ui/packages/upload/src/Upload.svelte
Normal file
@ -0,0 +1,102 @@
|
|||||||
|
<script lang="ts">
|
||||||
|
import { createEventDispatcher } from "svelte";
|
||||||
|
interface FileData {
|
||||||
|
name: string;
|
||||||
|
size: number;
|
||||||
|
data: string;
|
||||||
|
is_example: false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// export let load: (
|
||||||
|
// val: Array<string | FileData> | string | FileData | null
|
||||||
|
// ) => Array<string | FileData> | string | FileData | null;
|
||||||
|
export let filetype: string | undefined = undefined;
|
||||||
|
export let theme: string;
|
||||||
|
export let single_file: boolean = true;
|
||||||
|
export let include_file_metadata = true;
|
||||||
|
let hidden_upload: HTMLInputElement;
|
||||||
|
let dragging = false;
|
||||||
|
|
||||||
|
const dispatch = createEventDispatcher();
|
||||||
|
|
||||||
|
const updateDragging = () => {
|
||||||
|
dragging = !dragging;
|
||||||
|
};
|
||||||
|
|
||||||
|
const openFileUpload = () => {
|
||||||
|
hidden_upload.click();
|
||||||
|
};
|
||||||
|
|
||||||
|
const loadFiles = (files: FileList) => {
|
||||||
|
let _files: Array<File> = Array.from(files);
|
||||||
|
if (!files.length || !window.FileReader) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (single_file) {
|
||||||
|
_files = [files[0]];
|
||||||
|
}
|
||||||
|
var all_file_data: Array<FileData | string> = [];
|
||||||
|
_files.forEach((f, i) => {
|
||||||
|
let ReaderObj = new FileReader();
|
||||||
|
ReaderObj.readAsDataURL(f);
|
||||||
|
ReaderObj.onloadend = function () {
|
||||||
|
all_file_data[i] = include_file_metadata
|
||||||
|
? {
|
||||||
|
name: f.name,
|
||||||
|
size: f.size,
|
||||||
|
data: this.result as string,
|
||||||
|
is_example: false
|
||||||
|
}
|
||||||
|
: (this.result as string);
|
||||||
|
if (all_file_data.length === files.length) {
|
||||||
|
dispatch("load", single_file ? all_file_data[0] : all_file_data);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
const loadFilesFromUpload = (e: Event) => {
|
||||||
|
const target = e.target as HTMLInputElement;
|
||||||
|
|
||||||
|
if (!target.files) return;
|
||||||
|
loadFiles(target.files);
|
||||||
|
};
|
||||||
|
|
||||||
|
const loadFilesFromDrop = (e: DragEvent) => {
|
||||||
|
if (!e.dataTransfer?.files) return;
|
||||||
|
loadFiles(e.dataTransfer.files);
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<div
|
||||||
|
class={dragging
|
||||||
|
? "upload h-60 border-green-300 text-green-400 dark:text-green-500 dark:border-green-500 border-8 border-dashed w-full flex justify-center items-center text-3xl text-center cursor-pointer leading-10"
|
||||||
|
: "upload h-60 border-gray-300 text-gray-400 dark:text-gray-500 dark:border-gray-500 border-8 border-dashed w-full flex justify-center items-center text-3xl text-center cursor-pointer leading-10"}
|
||||||
|
{theme}
|
||||||
|
on:drag|preventDefault|stopPropagation
|
||||||
|
on:dragstart|preventDefault|stopPropagation
|
||||||
|
on:dragend|preventDefault|stopPropagation
|
||||||
|
on:dragover|preventDefault|stopPropagation
|
||||||
|
on:dragenter|preventDefault|stopPropagation
|
||||||
|
on:dragleave|preventDefault|stopPropagation
|
||||||
|
on:drop|preventDefault|stopPropagation
|
||||||
|
on:click={openFileUpload}
|
||||||
|
on:drop={loadFilesFromDrop}
|
||||||
|
on:dragenter={updateDragging}
|
||||||
|
on:dragleave={updateDragging}
|
||||||
|
>
|
||||||
|
<slot />
|
||||||
|
<input
|
||||||
|
class="hidden-upload hidden"
|
||||||
|
type="file"
|
||||||
|
bind:this={hidden_upload}
|
||||||
|
on:change={loadFilesFromUpload}
|
||||||
|
accept={filetype}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<style lang="postcss" global>
|
||||||
|
.upload[theme="default"] {
|
||||||
|
@apply transition hover:border-gray-400 hover:text-gray-500 dark:hover:border-gray-300 dark:hover:text-gray-300;
|
||||||
|
}
|
||||||
|
</style>
|
67
ui/packages/upload/src/clear.svg
Normal file
67
ui/packages/upload/src/clear.svg
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="5.9403949mm"
|
||||||
|
height="5.9403949mm"
|
||||||
|
viewBox="0 0 5.9403949 5.9403949"
|
||||||
|
version="1.1"
|
||||||
|
id="svg5"
|
||||||
|
inkscape:version="1.1 (c68e22c387, 2021-05-23)"
|
||||||
|
sodipodi:docname="clear.svg"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview7"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:document-units="mm"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="10.925474"
|
||||||
|
inkscape:cx="4.1188143"
|
||||||
|
inkscape:cy="15.559965"
|
||||||
|
inkscape:window-width="1248"
|
||||||
|
inkscape:window-height="770"
|
||||||
|
inkscape:window-x="-6"
|
||||||
|
inkscape:window-y="-6"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="layer1" />
|
||||||
|
<defs
|
||||||
|
id="defs2" />
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(-115.10942,-119.22353)">
|
||||||
|
<g
|
||||||
|
id="g239"
|
||||||
|
transform="matrix(0.05138986,0.05138986,-0.05138986,0.05138986,117.0869,112.75317)">
|
||||||
|
<rect
|
||||||
|
style="fill:#000000;stroke-width:0.295287"
|
||||||
|
id="rect31"
|
||||||
|
width="20"
|
||||||
|
height="80"
|
||||||
|
x="-111.51107"
|
||||||
|
y="42.193726"
|
||||||
|
rx="2.9434128"
|
||||||
|
ry="2.6448057"
|
||||||
|
transform="scale(-1,1)" />
|
||||||
|
<rect
|
||||||
|
style="fill:#000000;stroke-width:0.295287"
|
||||||
|
id="rect31-3"
|
||||||
|
width="20"
|
||||||
|
height="80"
|
||||||
|
x="-92.193726"
|
||||||
|
y="-141.51106"
|
||||||
|
rx="2.9434128"
|
||||||
|
ry="2.6448057"
|
||||||
|
transform="matrix(0,-1,-1,0,0,0)" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.9 KiB |
39
ui/packages/upload/src/edit.svg
Normal file
39
ui/packages/upload/src/edit.svg
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
fill="#000000"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
width="24px"
|
||||||
|
height="24px"
|
||||||
|
version="1.1"
|
||||||
|
id="svg4"
|
||||||
|
sodipodi:docname="edit.svg"
|
||||||
|
inkscape:version="1.1 (c68e22c387, 2021-05-23)"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<defs
|
||||||
|
id="defs8" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview6"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="11.291667"
|
||||||
|
inkscape:cx="10.538745"
|
||||||
|
inkscape:cy="16.383764"
|
||||||
|
inkscape:window-width="1248"
|
||||||
|
inkscape:window-height="770"
|
||||||
|
inkscape:window-x="-6"
|
||||||
|
inkscape:window-y="-6"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg4" />
|
||||||
|
<path
|
||||||
|
d="m 19.701578,1.2915129 c -0.814834,0 -1.629669,0.307743 -2.251701,0.9246243 l -1.319356,1.3084307 4.503402,4.46611 1.319356,-1.3084308 c 1.242939,-1.2326462 1.242939,-3.232347 0,-4.4661099 C 21.331247,1.5992559 20.516413,1.2915129 19.701578,1.2915129 Z M 14.441745,5.1993591 1.494465,18.039425 v 4.46611 H 5.997867 L 18.945148,9.665469 Z"
|
||||||
|
id="path2"
|
||||||
|
style="stroke-width:1.12118" />
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.4 KiB |
2
ui/packages/upload/src/index.ts
Normal file
2
ui/packages/upload/src/index.ts
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
export { default as Upload } from "./Upload.svelte";
|
||||||
|
export { default as ModifyUpload } from "./ModifyUpload.svelte";
|
@ -11,15 +11,18 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@sveltejs/adapter-auto": "next",
|
"@sveltejs/adapter-auto": "next",
|
||||||
"@sveltejs/kit": "next",
|
"@sveltejs/kit": "next",
|
||||||
|
"autoprefixer": "^10.4.2",
|
||||||
|
"postcss": "^8.4.5",
|
||||||
|
"postcss-load-config": "^3.1.1",
|
||||||
"svelte": "^3.44.0",
|
"svelte": "^3.44.0",
|
||||||
"svelte-check": "^2.2.6",
|
"svelte-check": "^2.2.6",
|
||||||
"svelte-preprocess": "^4.10.1",
|
"svelte-preprocess": "^4.10.1",
|
||||||
|
"tailwindcss": "^3.0.12",
|
||||||
"tslib": "^2.3.1",
|
"tslib": "^2.3.1",
|
||||||
"typescript": "~4.5.4",
|
"typescript": "~4.5.4"
|
||||||
"postcss": "^8.4.5",
|
|
||||||
"postcss-load-config": "^3.1.1",
|
|
||||||
"autoprefixer": "^10.4.2",
|
|
||||||
"tailwindcss": "^3.0.12"
|
|
||||||
},
|
},
|
||||||
"type": "module"
|
"type": "module",
|
||||||
|
"dependencies": {
|
||||||
|
"@gradio/audio": "workspace:^0.0.1"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,10 @@
|
|||||||
const tailwindcss = require("tailwindcss");
|
const tailwindcss = require("tailwindcss");
|
||||||
const autoprefixer = require("autoprefixer");
|
const autoprefixer = require("autoprefixer");
|
||||||
|
const nested = require("tailwindcss/nesting");
|
||||||
|
|
||||||
const config = {
|
const config = {
|
||||||
plugins: [
|
plugins: [
|
||||||
|
nested,
|
||||||
//Some plugins, like tailwindcss/nesting, need to run before Tailwind,
|
//Some plugins, like tailwindcss/nesting, need to run before Tailwind,
|
||||||
tailwindcss(),
|
tailwindcss(),
|
||||||
//But others, like autoprefixer, need to run after,
|
//But others, like autoprefixer, need to run after,
|
||||||
|
BIN
ui/packages/workbench/src/assets/cantina.wav
Normal file
BIN
ui/packages/workbench/src/assets/cantina.wav
Normal file
Binary file not shown.
38
ui/packages/workbench/src/routes/_Nav.svelte
Normal file
38
ui/packages/workbench/src/routes/_Nav.svelte
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
<script>
|
||||||
|
import { page } from "$app/stores";
|
||||||
|
const comp_routes = [
|
||||||
|
"Audio",
|
||||||
|
"Button",
|
||||||
|
"DataFrame",
|
||||||
|
"Carousel",
|
||||||
|
"Chatbot",
|
||||||
|
"Chart",
|
||||||
|
"Forms",
|
||||||
|
"File",
|
||||||
|
"HighlightedText",
|
||||||
|
"Html",
|
||||||
|
"Image",
|
||||||
|
"JSON",
|
||||||
|
"Label",
|
||||||
|
"Markdown",
|
||||||
|
"Tooltip",
|
||||||
|
"Upload",
|
||||||
|
"Video"
|
||||||
|
].map((n) => [n, n.toLowerCase()]);
|
||||||
|
|
||||||
|
$: console.log($page.url);
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<nav class="inline-block">
|
||||||
|
<ul class="flex flex-col px-6 ">
|
||||||
|
{#each comp_routes as [name, route]}
|
||||||
|
{@const is_current = $page.url.pathname === `/${route}`}
|
||||||
|
<a
|
||||||
|
class="font-mono text-md hover:text-orange-500 {is_current
|
||||||
|
? 'text-orange-500'
|
||||||
|
: ''} "
|
||||||
|
href="/{route}">{name}</a
|
||||||
|
>
|
||||||
|
{/each}
|
||||||
|
</ul>
|
||||||
|
</nav>
|
@ -1,5 +1,8 @@
|
|||||||
<script>
|
<script>
|
||||||
import "../app.css";
|
import "../app.css";
|
||||||
|
import Nav from "./_Nav.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<h1 class="font-mono p-4 text-lg text-right">workbench</h1>
|
||||||
|
<Nav />
|
||||||
<slot />
|
<slot />
|
||||||
|
@ -0,0 +1,6 @@
|
|||||||
|
<script lang="ts">
|
||||||
|
import { Audio } from "@gradio/audio";
|
||||||
|
import audio from "../assets/cantina.wav";
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<Audio src={null} source="upload" />
|
@ -1 +0,0 @@
|
|||||||
<h1 class="font-mono">workbench</h1>
|
|
@ -11,7 +11,7 @@ const config = {
|
|||||||
// for more information about preprocessors
|
// for more information about preprocessors
|
||||||
preprocess: [
|
preprocess: [
|
||||||
svelte_preprocess({
|
svelte_preprocess({
|
||||||
postcss: true
|
postcss: { plugins: [tailwind, nested, autoprefix] }
|
||||||
})
|
})
|
||||||
],
|
],
|
||||||
|
|
||||||
|
@ -74,26 +74,40 @@ importers:
|
|||||||
vite: 2.7.13
|
vite: 2.7.13
|
||||||
|
|
||||||
packages/audio:
|
packages/audio:
|
||||||
specifiers: {}
|
specifiers:
|
||||||
|
'@gradio/upload': workspace:^0.0.1
|
||||||
|
dependencies:
|
||||||
|
'@gradio/upload': link:../upload
|
||||||
|
|
||||||
packages/components:
|
packages/components:
|
||||||
specifiers: {}
|
specifiers: {}
|
||||||
|
|
||||||
packages/workbench:
|
packages/workbench:
|
||||||
specifiers:
|
specifiers:
|
||||||
|
'@gradio/audio': workspace:^0.0.1
|
||||||
'@sveltejs/adapter-auto': next
|
'@sveltejs/adapter-auto': next
|
||||||
'@sveltejs/kit': next
|
'@sveltejs/kit': next
|
||||||
|
autoprefixer: ^10.4.2
|
||||||
|
postcss: ^8.4.5
|
||||||
|
postcss-load-config: ^3.1.1
|
||||||
svelte: ^3.44.0
|
svelte: ^3.44.0
|
||||||
svelte-check: ^2.2.6
|
svelte-check: ^2.2.6
|
||||||
svelte-preprocess: ^4.10.1
|
svelte-preprocess: ^4.10.1
|
||||||
|
tailwindcss: ^3.0.12
|
||||||
tslib: ^2.3.1
|
tslib: ^2.3.1
|
||||||
typescript: ~4.5.4
|
typescript: ~4.5.4
|
||||||
|
dependencies:
|
||||||
|
'@gradio/audio': link:../audio
|
||||||
devDependencies:
|
devDependencies:
|
||||||
'@sveltejs/adapter-auto': 1.0.0-next.17
|
'@sveltejs/adapter-auto': 1.0.0-next.17
|
||||||
'@sveltejs/kit': 1.0.0-next.281_svelte@3.46.3
|
'@sveltejs/kit': 1.0.0-next.281_svelte@3.46.3
|
||||||
|
autoprefixer: 10.4.2_postcss@8.4.6
|
||||||
|
postcss: 8.4.6
|
||||||
|
postcss-load-config: 3.1.1
|
||||||
svelte: 3.46.3
|
svelte: 3.46.3
|
||||||
svelte-check: 2.4.1_svelte@3.46.3
|
svelte-check: 2.4.1_d5eca2c0d9133f686108b018fa7bac55
|
||||||
svelte-preprocess: 4.10.2_svelte@3.46.3+typescript@4.5.5
|
svelte-preprocess: 4.10.2_8ad9ba7d678a7e4906317692d003ce22
|
||||||
|
tailwindcss: 3.0.23_autoprefixer@10.4.2
|
||||||
tslib: 2.3.1
|
tslib: 2.3.1
|
||||||
typescript: 4.5.5
|
typescript: 4.5.5
|
||||||
|
|
||||||
@ -475,6 +489,22 @@ packages:
|
|||||||
dev: false
|
dev: false
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
/autoprefixer/10.4.2_postcss@8.4.6:
|
||||||
|
resolution: {integrity: sha512-9fOPpHKuDW1w/0EKfRmVnxTDt8166MAnLI3mgZ1JCnhNtYWxcJ6Ud5CO/AVOZi/AvFa8DY9RTy3h3+tFBlrrdQ==}
|
||||||
|
engines: {node: ^10 || ^12 || >=14}
|
||||||
|
hasBin: true
|
||||||
|
peerDependencies:
|
||||||
|
postcss: ^8.1.0
|
||||||
|
dependencies:
|
||||||
|
browserslist: 4.19.1
|
||||||
|
caniuse-lite: 1.0.30001304
|
||||||
|
fraction.js: 4.1.3
|
||||||
|
normalize-range: 0.1.2
|
||||||
|
picocolors: 1.0.0
|
||||||
|
postcss: 8.4.6
|
||||||
|
postcss-value-parser: 4.2.0
|
||||||
|
dev: true
|
||||||
|
|
||||||
/autoprefixer/9.8.8:
|
/autoprefixer/9.8.8:
|
||||||
resolution: {integrity: sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==}
|
resolution: {integrity: sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
@ -539,7 +569,6 @@ packages:
|
|||||||
escalade: 3.1.1
|
escalade: 3.1.1
|
||||||
node-releases: 2.0.1
|
node-releases: 2.0.1
|
||||||
picocolors: 1.0.0
|
picocolors: 1.0.0
|
||||||
dev: false
|
|
||||||
|
|
||||||
/buffer-crc32/0.2.13:
|
/buffer-crc32/0.2.13:
|
||||||
resolution: {integrity: sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=}
|
resolution: {integrity: sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=}
|
||||||
@ -554,7 +583,6 @@ packages:
|
|||||||
|
|
||||||
/caniuse-lite/1.0.30001304:
|
/caniuse-lite/1.0.30001304:
|
||||||
resolution: {integrity: sha512-bdsfZd6K6ap87AGqSHJP/s1V+U6Z5lyrcbBu3ovbCCf8cSYpwTtGrCBObMpJqwxfTbLW6YTIdbb1jEeTelcpYQ==}
|
resolution: {integrity: sha512-bdsfZd6K6ap87AGqSHJP/s1V+U6Z5lyrcbBu3ovbCCf8cSYpwTtGrCBObMpJqwxfTbLW6YTIdbb1jEeTelcpYQ==}
|
||||||
dev: false
|
|
||||||
|
|
||||||
/canvas/2.9.0:
|
/canvas/2.9.0:
|
||||||
resolution: {integrity: sha512-0l93g7uxp7rMyr7H+XRQ28A3ud0dKIUTIEkUe1Dxh4rjUYN7B93+SjC3r1PDKA18xcQN87OFGgUnyw7LSgNLSQ==}
|
resolution: {integrity: sha512-0l93g7uxp7rMyr7H+XRQ28A3ud0dKIUTIEkUe1Dxh4rjUYN7B93+SjC3r1PDKA18xcQN87OFGgUnyw7LSgNLSQ==}
|
||||||
@ -894,7 +922,6 @@ packages:
|
|||||||
|
|
||||||
/electron-to-chromium/1.4.59:
|
/electron-to-chromium/1.4.59:
|
||||||
resolution: {integrity: sha512-AOJ3cAE0TWxz4fQ9zkND5hWrQg16nsZKVz9INOot1oV//u4wWu5xrj9CQMmPTYskkZRunSRc9sAnr4EkexXokg==}
|
resolution: {integrity: sha512-AOJ3cAE0TWxz4fQ9zkND5hWrQg16nsZKVz9INOot1oV//u4wWu5xrj9CQMmPTYskkZRunSRc9sAnr4EkexXokg==}
|
||||||
dev: false
|
|
||||||
|
|
||||||
/emoji-regex/8.0.0:
|
/emoji-regex/8.0.0:
|
||||||
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
|
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
|
||||||
@ -1252,7 +1279,6 @@ packages:
|
|||||||
/escalade/3.1.1:
|
/escalade/3.1.1:
|
||||||
resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
|
resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
dev: false
|
|
||||||
|
|
||||||
/escape-string-regexp/1.0.5:
|
/escape-string-regexp/1.0.5:
|
||||||
resolution: {integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=}
|
resolution: {integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=}
|
||||||
@ -1369,6 +1395,10 @@ packages:
|
|||||||
dev: false
|
dev: false
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
/fraction.js/4.1.3:
|
||||||
|
resolution: {integrity: sha512-pUHWWt6vHzZZiQJcM6S/0PXfS+g6FM4BF5rj9wZyreivhQPdsh5PpE25VtSNxq80wHS5RfY51Ii+8Z0Zl/pmzg==}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/fs-minipass/2.1.0:
|
/fs-minipass/2.1.0:
|
||||||
resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==}
|
resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==}
|
||||||
engines: {node: '>= 8'}
|
engines: {node: '>= 8'}
|
||||||
@ -1856,7 +1886,6 @@ packages:
|
|||||||
|
|
||||||
/node-releases/2.0.1:
|
/node-releases/2.0.1:
|
||||||
resolution: {integrity: sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==}
|
resolution: {integrity: sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==}
|
||||||
dev: false
|
|
||||||
|
|
||||||
/nopt/5.0.0:
|
/nopt/5.0.0:
|
||||||
resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==}
|
resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==}
|
||||||
@ -1874,7 +1903,6 @@ packages:
|
|||||||
/normalize-range/0.1.2:
|
/normalize-range/0.1.2:
|
||||||
resolution: {integrity: sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=}
|
resolution: {integrity: sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
dev: false
|
|
||||||
|
|
||||||
/npmlog/5.0.1:
|
/npmlog/5.0.1:
|
||||||
resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==}
|
resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==}
|
||||||
@ -2370,6 +2398,35 @@ packages:
|
|||||||
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
|
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
|
||||||
engines: {node: '>= 0.4'}
|
engines: {node: '>= 0.4'}
|
||||||
|
|
||||||
|
/svelte-check/2.4.1_d5eca2c0d9133f686108b018fa7bac55:
|
||||||
|
resolution: {integrity: sha512-xhf3ShP5rnRwBokrgTBJ/0cO9QIc1DAVu1NWNRTfCDsDBNjGmkS3HgitgUadRuoMKj1+irZR/yHJ+Uqobnkbrw==}
|
||||||
|
hasBin: true
|
||||||
|
peerDependencies:
|
||||||
|
svelte: ^3.24.0
|
||||||
|
dependencies:
|
||||||
|
chokidar: 3.5.3
|
||||||
|
fast-glob: 3.2.11
|
||||||
|
import-fresh: 3.3.0
|
||||||
|
minimist: 1.2.5
|
||||||
|
picocolors: 1.0.0
|
||||||
|
sade: 1.8.1
|
||||||
|
source-map: 0.7.3
|
||||||
|
svelte: 3.46.3
|
||||||
|
svelte-preprocess: 4.10.2_8ad9ba7d678a7e4906317692d003ce22
|
||||||
|
typescript: 4.5.5
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- '@babel/core'
|
||||||
|
- coffeescript
|
||||||
|
- less
|
||||||
|
- node-sass
|
||||||
|
- postcss
|
||||||
|
- postcss-load-config
|
||||||
|
- pug
|
||||||
|
- sass
|
||||||
|
- stylus
|
||||||
|
- sugarss
|
||||||
|
dev: true
|
||||||
|
|
||||||
/svelte-check/2.4.1_postcss@8.4.6+svelte@3.46.3:
|
/svelte-check/2.4.1_postcss@8.4.6+svelte@3.46.3:
|
||||||
resolution: {integrity: sha512-xhf3ShP5rnRwBokrgTBJ/0cO9QIc1DAVu1NWNRTfCDsDBNjGmkS3HgitgUadRuoMKj1+irZR/yHJ+Uqobnkbrw==}
|
resolution: {integrity: sha512-xhf3ShP5rnRwBokrgTBJ/0cO9QIc1DAVu1NWNRTfCDsDBNjGmkS3HgitgUadRuoMKj1+irZR/yHJ+Uqobnkbrw==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
@ -2399,35 +2456,6 @@ packages:
|
|||||||
- sugarss
|
- sugarss
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/svelte-check/2.4.1_svelte@3.46.3:
|
|
||||||
resolution: {integrity: sha512-xhf3ShP5rnRwBokrgTBJ/0cO9QIc1DAVu1NWNRTfCDsDBNjGmkS3HgitgUadRuoMKj1+irZR/yHJ+Uqobnkbrw==}
|
|
||||||
hasBin: true
|
|
||||||
peerDependencies:
|
|
||||||
svelte: ^3.24.0
|
|
||||||
dependencies:
|
|
||||||
chokidar: 3.5.3
|
|
||||||
fast-glob: 3.2.11
|
|
||||||
import-fresh: 3.3.0
|
|
||||||
minimist: 1.2.5
|
|
||||||
picocolors: 1.0.0
|
|
||||||
sade: 1.8.1
|
|
||||||
source-map: 0.7.3
|
|
||||||
svelte: 3.46.3
|
|
||||||
svelte-preprocess: 4.10.2_svelte@3.46.3+typescript@4.5.5
|
|
||||||
typescript: 4.5.5
|
|
||||||
transitivePeerDependencies:
|
|
||||||
- '@babel/core'
|
|
||||||
- coffeescript
|
|
||||||
- less
|
|
||||||
- node-sass
|
|
||||||
- postcss
|
|
||||||
- postcss-load-config
|
|
||||||
- pug
|
|
||||||
- sass
|
|
||||||
- stylus
|
|
||||||
- sugarss
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/svelte-hmr/0.14.9_svelte@3.46.3:
|
/svelte-hmr/0.14.9_svelte@3.46.3:
|
||||||
resolution: {integrity: sha512-bKE9+4qb4sAnA+TKHiYurUl970rjA0XmlP9TEP7K/ncyWz3m81kA4HOgmlZK/7irGK7gzZlaPDI3cmf8fp/+tg==}
|
resolution: {integrity: sha512-bKE9+4qb4sAnA+TKHiYurUl970rjA0XmlP9TEP7K/ncyWz3m81kA4HOgmlZK/7irGK7gzZlaPDI3cmf8fp/+tg==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@ -2451,6 +2479,59 @@ packages:
|
|||||||
tiny-glob: 0.2.9
|
tiny-glob: 0.2.9
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/svelte-preprocess/4.10.2_8ad9ba7d678a7e4906317692d003ce22:
|
||||||
|
resolution: {integrity: sha512-aPpkCreSo8EL/y8kJSa1trhiX0oyAtTjlNNM7BNjRAsMJ8Yy2LtqHt0zyd4pQPXt+D4PzbO3qTjjio3kwOxDlA==}
|
||||||
|
engines: {node: '>= 9.11.2'}
|
||||||
|
requiresBuild: true
|
||||||
|
peerDependencies:
|
||||||
|
'@babel/core': ^7.10.2
|
||||||
|
coffeescript: ^2.5.1
|
||||||
|
less: ^3.11.3 || ^4.0.0
|
||||||
|
node-sass: '*'
|
||||||
|
postcss: ^7 || ^8
|
||||||
|
postcss-load-config: ^2.1.0 || ^3.0.0
|
||||||
|
pug: ^3.0.0
|
||||||
|
sass: ^1.26.8
|
||||||
|
stylus: ^0.55.0
|
||||||
|
sugarss: ^2.0.0
|
||||||
|
svelte: ^3.23.0
|
||||||
|
typescript: ^4.5.2
|
||||||
|
peerDependenciesMeta:
|
||||||
|
'@babel/core':
|
||||||
|
optional: true
|
||||||
|
coffeescript:
|
||||||
|
optional: true
|
||||||
|
less:
|
||||||
|
optional: true
|
||||||
|
node-sass:
|
||||||
|
optional: true
|
||||||
|
postcss:
|
||||||
|
optional: true
|
||||||
|
postcss-load-config:
|
||||||
|
optional: true
|
||||||
|
pug:
|
||||||
|
optional: true
|
||||||
|
sass:
|
||||||
|
optional: true
|
||||||
|
stylus:
|
||||||
|
optional: true
|
||||||
|
sugarss:
|
||||||
|
optional: true
|
||||||
|
typescript:
|
||||||
|
optional: true
|
||||||
|
dependencies:
|
||||||
|
'@types/pug': 2.0.6
|
||||||
|
'@types/sass': 1.43.1
|
||||||
|
detect-indent: 6.1.0
|
||||||
|
magic-string: 0.25.7
|
||||||
|
postcss: 8.4.6
|
||||||
|
postcss-load-config: 3.1.1
|
||||||
|
sorcery: 0.10.0
|
||||||
|
strip-indent: 3.0.0
|
||||||
|
svelte: 3.46.3
|
||||||
|
typescript: 4.5.5
|
||||||
|
dev: true
|
||||||
|
|
||||||
/svelte-preprocess/4.10.2_a2976755b4ca24b5e005a6d2e55b331d:
|
/svelte-preprocess/4.10.2_a2976755b4ca24b5e005a6d2e55b331d:
|
||||||
resolution: {integrity: sha512-aPpkCreSo8EL/y8kJSa1trhiX0oyAtTjlNNM7BNjRAsMJ8Yy2LtqHt0zyd4pQPXt+D4PzbO3qTjjio3kwOxDlA==}
|
resolution: {integrity: sha512-aPpkCreSo8EL/y8kJSa1trhiX0oyAtTjlNNM7BNjRAsMJ8Yy2LtqHt0zyd4pQPXt+D4PzbO3qTjjio3kwOxDlA==}
|
||||||
engines: {node: '>= 9.11.2'}
|
engines: {node: '>= 9.11.2'}
|
||||||
@ -2554,57 +2635,6 @@ packages:
|
|||||||
svelte: 3.46.3
|
svelte: 3.46.3
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/svelte-preprocess/4.10.2_svelte@3.46.3+typescript@4.5.5:
|
|
||||||
resolution: {integrity: sha512-aPpkCreSo8EL/y8kJSa1trhiX0oyAtTjlNNM7BNjRAsMJ8Yy2LtqHt0zyd4pQPXt+D4PzbO3qTjjio3kwOxDlA==}
|
|
||||||
engines: {node: '>= 9.11.2'}
|
|
||||||
requiresBuild: true
|
|
||||||
peerDependencies:
|
|
||||||
'@babel/core': ^7.10.2
|
|
||||||
coffeescript: ^2.5.1
|
|
||||||
less: ^3.11.3 || ^4.0.0
|
|
||||||
node-sass: '*'
|
|
||||||
postcss: ^7 || ^8
|
|
||||||
postcss-load-config: ^2.1.0 || ^3.0.0
|
|
||||||
pug: ^3.0.0
|
|
||||||
sass: ^1.26.8
|
|
||||||
stylus: ^0.55.0
|
|
||||||
sugarss: ^2.0.0
|
|
||||||
svelte: ^3.23.0
|
|
||||||
typescript: ^4.5.2
|
|
||||||
peerDependenciesMeta:
|
|
||||||
'@babel/core':
|
|
||||||
optional: true
|
|
||||||
coffeescript:
|
|
||||||
optional: true
|
|
||||||
less:
|
|
||||||
optional: true
|
|
||||||
node-sass:
|
|
||||||
optional: true
|
|
||||||
postcss:
|
|
||||||
optional: true
|
|
||||||
postcss-load-config:
|
|
||||||
optional: true
|
|
||||||
pug:
|
|
||||||
optional: true
|
|
||||||
sass:
|
|
||||||
optional: true
|
|
||||||
stylus:
|
|
||||||
optional: true
|
|
||||||
sugarss:
|
|
||||||
optional: true
|
|
||||||
typescript:
|
|
||||||
optional: true
|
|
||||||
dependencies:
|
|
||||||
'@types/pug': 2.0.6
|
|
||||||
'@types/sass': 1.43.1
|
|
||||||
detect-indent: 6.1.0
|
|
||||||
magic-string: 0.25.7
|
|
||||||
sorcery: 0.10.0
|
|
||||||
strip-indent: 3.0.0
|
|
||||||
svelte: 3.46.3
|
|
||||||
typescript: 4.5.5
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/svelte-range-slider-pips/2.0.2:
|
/svelte-range-slider-pips/2.0.2:
|
||||||
resolution: {integrity: sha512-VTWHOdwDyWbndGZnI0PQJY9DO7hgQlNubtCcCL6Wlypv5dU4vEsc4A1sX9TWMuvebEe4332SgsQQHzOdZ+guhQ==}
|
resolution: {integrity: sha512-VTWHOdwDyWbndGZnI0PQJY9DO7hgQlNubtCcCL6Wlypv5dU4vEsc4A1sX9TWMuvebEe4332SgsQQHzOdZ+guhQ==}
|
||||||
dev: false
|
dev: false
|
||||||
@ -2651,6 +2681,39 @@ packages:
|
|||||||
- ts-node
|
- ts-node
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/tailwindcss/3.0.23_autoprefixer@10.4.2:
|
||||||
|
resolution: {integrity: sha512-+OZOV9ubyQ6oI2BXEhzw4HrqvgcARY38xv3zKcjnWtMIZstEsXdI9xftd1iB7+RbOnj2HOEzkA0OyB5BaSxPQA==}
|
||||||
|
engines: {node: '>=12.13.0'}
|
||||||
|
hasBin: true
|
||||||
|
peerDependencies:
|
||||||
|
autoprefixer: ^10.0.2
|
||||||
|
dependencies:
|
||||||
|
arg: 5.0.1
|
||||||
|
autoprefixer: 10.4.2_postcss@8.4.6
|
||||||
|
chalk: 4.1.2
|
||||||
|
chokidar: 3.5.3
|
||||||
|
color-name: 1.1.4
|
||||||
|
cosmiconfig: 7.0.1
|
||||||
|
detective: 5.2.0
|
||||||
|
didyoumean: 1.2.2
|
||||||
|
dlv: 1.1.3
|
||||||
|
fast-glob: 3.2.11
|
||||||
|
glob-parent: 6.0.2
|
||||||
|
is-glob: 4.0.3
|
||||||
|
normalize-path: 3.0.0
|
||||||
|
object-hash: 2.2.0
|
||||||
|
postcss: 8.4.6
|
||||||
|
postcss-js: 4.0.0_postcss@8.4.6
|
||||||
|
postcss-load-config: 3.1.1
|
||||||
|
postcss-nested: 5.0.6_postcss@8.4.6
|
||||||
|
postcss-selector-parser: 6.0.9
|
||||||
|
postcss-value-parser: 4.2.0
|
||||||
|
quick-lru: 5.1.1
|
||||||
|
resolve: 1.22.0
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- ts-node
|
||||||
|
dev: true
|
||||||
|
|
||||||
/tailwindcss/3.0.23_autoprefixer@9.8.8:
|
/tailwindcss/3.0.23_autoprefixer@9.8.8:
|
||||||
resolution: {integrity: sha512-+OZOV9ubyQ6oI2BXEhzw4HrqvgcARY38xv3zKcjnWtMIZstEsXdI9xftd1iB7+RbOnj2HOEzkA0OyB5BaSxPQA==}
|
resolution: {integrity: sha512-+OZOV9ubyQ6oI2BXEhzw4HrqvgcARY38xv3zKcjnWtMIZstEsXdI9xftd1iB7+RbOnj2HOEzkA0OyB5BaSxPQA==}
|
||||||
engines: {node: '>=12.13.0'}
|
engines: {node: '>=12.13.0'}
|
||||||
|
Loading…
Reference in New Issue
Block a user