Still working on upgrading to Tailwind CSS v4 an dSkeleton v3.....

This commit is contained in:
Scott Idem
2025-06-18 17:59:48 -04:00
parent db6e9dd019
commit 13912fd145
169 changed files with 2343 additions and 1634 deletions

View File

@@ -171,7 +171,7 @@ function handle_clip_video(event) {
<h3
class="h3"
>
{Object.entries(hosted_file_obj_kv).length}&times; files uploaded
{Object.entries(hosted_file_obj_kv).length}× files uploaded
</h3>
{#each Object.entries(hosted_file_obj_kv) as [hosted_file_id, hosted_file_obj]}
@@ -195,7 +195,7 @@ function handle_clip_video(event) {
// delete $ae_loc.files.uploaded_file_kv[hosted_file_obj.hosted_file_id];
console.log(`Removed hosted file ID: ${hosted_file_obj.hosted_file_id}`, $ae_loc.files.uploaded_file_kv);
}}
class="btn btn-sm variant-soft-warning hover:variant-filled-warning"
class="btn btn-sm preset-tonal-warning hover:preset-filled-warning-500"
title={`Remove this file from list of videos:\n${hosted_file_obj.filename}\n[API] SHA256: ${hosted_file_obj?.hash_sha256?.slice(0, 10)}... Hosted ID: ${hosted_file_obj.hosted_file_id_random}`}
>
<span class="fas fa-minus-circle m-1"></span>
@@ -219,7 +219,7 @@ function handle_clip_video(event) {
// window.postMessage({ type: 'download_event_file', hosted_file_id: idaa_archive_content_obj.hosted_file_id, filename: idaa_archive_content_obj.filename, auto_download: true }, '*');
}}
class:hidden={!$ae_loc.edit_mode}
class="novi_btn btn btn-sm lg:btn-md variant-soft-primary hover:variant-filled-primary min-w-72 lg:min-w-96"
class="novi_btn btn btn-sm lg:btn-md preset-tonal-primary hover:preset-filled-primary-500 min-w-72 lg:min-w-96"
title={`Download this file:\n${hosted_file_obj.filename}\n[API] SHA256: ${hosted_file_obj?.hash_sha256?.slice(0, 10)}... Hosted ID: ${hosted_file_obj.hosted_file_id_random}`}
>
{#await ae_promises[hosted_file_id]}
@@ -270,7 +270,7 @@ function handle_clip_video(event) {
<input type="text" class="input w-full text-sm" name="new_filename" value={hosted_file_obj.filename} />
</div>
<div class="max-w-screen-sm flex flex-row gap-1 justify-center items-center w-full">
<div class="max-w-(--breakpoint-sm) flex flex-row gap-1 justify-center items-center w-full">
<label class="label w-48"
title="The start time of the clip. This is the time in the video where the clip will start. You may need to subtract a few seconds to get the exact start time."
>
@@ -324,7 +324,7 @@ function handle_clip_video(event) {
<button
type="submit"
class="btn btn-lg btn-primary variant-ghost-primary"
class="btn btn-lg btn-primary preset-tonal-primary border border-primary-500"
disabled={submit_status == 'clipping'}
>
<!-- {#await ae_promises[hosted_file_id]} -->

View File

@@ -39,7 +39,7 @@ let ae_promises: key_val = $state({});
</script>
<h3 class="h3">{Object.entries($ae_loc.files).length}&times; files clipped</h3>
<h3 class="h3">{Object.entries($ae_loc.files).length}× files clipped</h3>
<div class="{class_li_default} {class_li} ">
{#each Object.entries(video_clip_file_kv) as [hosted_file_id, hosted_file_obj]}
@@ -58,7 +58,7 @@ let ae_promises: key_val = $state({});
// window.postMessage({ type: 'download_event_file', hosted_file_id: idaa_archive_content_obj.hosted_file_id, filename: idaa_archive_content_obj.filename, auto_download: true }, '*');
}}
class="novi_btn btn btn-sm lg:btn-md variant-soft-primary hover:variant-filled-primary min-w-72 lg:min-w-96"
class="novi_btn btn btn-sm lg:btn-md preset-tonal-primary hover:preset-filled-primary-500 min-w-72 lg:min-w-96"
title={`Download this file:\n${hosted_file_obj.filename}\n[API] SHA256: ${hosted_file_obj?.hash_sha256?.slice(0, 10)}... Hosted ID: ${hosted_file_obj.hosted_file_id_random}`}
>

View File

@@ -24,7 +24,7 @@ export let accept: string = 'audio/*, image/*, video/*, .bak, .cfg, .css, .csv,
export let class_li_default: string = 'flex flex-col gap-1 items-center justify-center w-full max-w-2xl mx-auto my-1';
export let class_li: string = '';
export let input_class_li: string[] = ['file_drop_area'];
export let table_class_li: string[] = ['table', 'table-sm', 'table-striped', 'table-hover' , 'text-sm'];
export let table_class_li: string[] = ['table', 'table-sm', 'table-striped', '' , 'text-sm'];
export let upload_complete: boolean = false;
export let submit_status: null|string = null;
@@ -330,7 +330,7 @@ async function handle_input_upload_files(input_upload_files, form_kv, task_id) {
{required}
{accept}
name={input_name}
class="svelte_input_file_element file-dropzone-input block w-full text-lg text-gray-900 border border-gray-300 rounded-lg cursor-pointer bg-gray-50 dark:text-gray-400 focus:outline-none dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 {input_class_li.join(' ')}"
class="svelte_input_file_element file-dropzone-input block w-full text-lg text-gray-900 border border-gray-300 rounded-lg cursor-pointer bg-gray-50 dark:text-gray-400 focus:outline-hidden dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 {input_class_li.join(' ')}"
class:hidden={$ae_sess.files.disable_submit__hosted_file_obj}
/>
@@ -344,7 +344,7 @@ async function handle_input_upload_files(input_upload_files, form_kv, task_id) {
<button
type="submit"
class="btn btn-lg btn-primary variant-ghost-primary hover:variant-ghost-success w-54"
class="btn btn-lg btn-primary preset-tonal-primary border border-primary-500 hover:preset-tonal-success border border-success-500 w-54"
disabled={$ae_sess.files.disable_submit__hosted_file_obj || $ae_sess.files.status__file_list != 'ready'}
>
{#await ae_promises.upload__hosted_file_obj}

View File

@@ -55,7 +55,7 @@ let {
download_complete = $bindable(),
download_percent = $bindable(),
download_status_msg = $bindable('Not started'),
classes = 'btn btn-sm lg:btn-md variant-ghost-tertiary hover:variant-filled-tertiary min-w-48'
classes = 'btn btn-sm lg:btn-md preset-tonal-tertiary border border-tertiary-500 hover:preset-filled-tertiary-500 min-w-48'
}: Props = $props();
if (log_lvl) {

View File

@@ -24,7 +24,7 @@ export let accept: string = 'audio/*, image/*, video/*, .bak, .cfg, .css, .csv,
export let class_li_default: string = 'flex flex-col gap-1 items-center justify-center w-full max-w-2xl mx-auto my-1';
export let class_li: string = '';
export let input_class_li: string[] = ['file_drop_area'];
export let table_class_li: string[] = ['table', 'table-sm', 'table-striped', 'table-hover' , 'text-sm'];
export let table_class_li: string[] = ['table', 'table-sm', 'table-striped', '' , 'text-sm'];
export let upload_complete: boolean = false;
export let submit_status: null|string = null;
@@ -261,7 +261,7 @@ async function handle_input_upload_files(
{required}
{accept}
name={input_name}
class="svelte_input_file_element file-dropzone-input block w-full text-lg text-gray-900 border border-gray-300 rounded-lg cursor-pointer bg-gray-50 dark:text-gray-400 focus:outline-none dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 {input_class_li.join(' ')}"
class="svelte_input_file_element file-dropzone-input block w-full text-lg text-gray-900 border border-gray-300 rounded-lg cursor-pointer bg-gray-50 dark:text-gray-400 focus:outline-hidden dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 {input_class_li.join(' ')}"
class:hidden={$ae_sess.files.disable_submit__hosted_file_obj}
/>
@@ -275,7 +275,7 @@ async function handle_input_upload_files(
<button
type="submit"
class="btn btn-lg btn-primary variant-ghost-primary hover:variant-ghost-success w-54"
class="btn btn-lg btn-primary preset-tonal-primary border border-primary-500 hover:preset-tonal-success border border-success-500 w-54"
disabled={$ae_sess.files.disable_submit__hosted_file_obj || $ae_sess.files.status__file_list != 'ready'}
>
{#await ae_promises.upload__hosted_file_obj}

View File

@@ -1,5 +1,4 @@
import { persisted } from 'svelte-persisted-store';
// import { localStorageStore } from '@skeletonlabs/skeleton';
import { writable } from 'svelte/store';
import type { Writable } from 'svelte/store';
@@ -90,7 +89,7 @@ let events_local_data_struct: key_val = {
'theme_mode': 'dark',
'theme_name': 'wintry',
'classes__form': 'border border-surface-200 p-4 space-y-4 rounded-container-token',
'classes__form': 'border border-surface-200 p-4 space-y-4 rounded-container',
},
// Event Files - uploads for sessions, presenters, etc

View File

@@ -1,5 +1,4 @@
import { persisted } from 'svelte-persisted-store';
// import { localStorageStore } from '@skeletonlabs/skeleton';
import { writable } from 'svelte/store';
import type { Writable } from 'svelte/store';

View File

@@ -1,5 +1,5 @@
import { persisted } from 'svelte-persisted-store';
// import { localStorageStore } from '@skeletonlabs/skeleton';
import { writable } from 'svelte/store';
import type { Writable } from 'svelte/store';

View File

@@ -1,5 +1,5 @@
import { persisted } from 'svelte-persisted-store';
// import { localStorageStore } from '@skeletonlabs/skeleton';
import { readable, writable } from 'svelte/store';
import type { Readable, Writable } from 'svelte/store';
@@ -195,7 +195,7 @@ const ae_app_local_data_defaults: key_val = {
'theme_mode': 'light',
'theme_name': 'wintry', // wintry
'classes__form': 'border border-surface-200 p-4 space-y-4 rounded-container-token',
'classes__form': 'border border-surface-200 p-4 space-y-4 rounded-container',
'qr': {},
},

View File

@@ -11,21 +11,21 @@ string_snippets['html__not_set'] = `
string_snippets['classes__core_menu'] = 'flex flex-col items-center space-y-1 border border-blue-200 rounded-md py-1 px-2 hover:bg-blue-100';
string_snippets['classes__core_menu__button'] = 'btn btn-sm mx-1 variant-soft-tertiary text-info-300 hover:text-info-800';
string_snippets['classes__core_menu__button_highlight'] = 'btn btn-sm mx-1 variant-filled-tertiary text-info-300 hover:text-info-800';
string_snippets['classes__core_menu__button_warning'] = 'btn btn-sm mx-1 variant-soft-warning text-info-300 hover:text-info-800';
string_snippets['classes__core_menu__button'] = 'btn btn-sm mx-1 preset-tonal-tertiary text-info-300 hover:text-info-800';
string_snippets['classes__core_menu__button_highlight'] = 'btn btn-sm mx-1 preset-filled-tertiary-500 text-info-300 hover:text-info-800';
string_snippets['classes__core_menu__button_warning'] = 'btn btn-sm mx-1 preset-tonal-warning text-info-300 hover:text-info-800';
// string_snippets['classes__events_pres_mgmt_menu'] = 'flex flex-col items-center space-y-1 border border-blue-200 rounded-md py-1 px-2 hover:bg-blue-100 transition-all duration-700 hover:duration-300';
string_snippets['classes__events_pres_mgmt_menu'] = 'w-full flex flex-col items-center gap-1 border border-gray-200 rounded-md p-1 hover:bg-gray-100 transition-all duration-700 hover:duration-300';
string_snippets['classes__events_pres_mgmt_menu__button'] = 'btn btn-sm mx-1 variant-glass-secondary hover:variant-filled-secondary';
string_snippets['classes__events_pres_mgmt_menu__button_special'] = 'btn btn-sm mx-1 hover:variant-filled-primary';
string_snippets['classes__events_pres_mgmt_menu__button'] = 'btn btn-sm mx-1 preset-tonal-secondary hover:preset-filled-secondary-500';
string_snippets['classes__events_pres_mgmt_menu__button_special'] = 'btn btn-sm mx-1 hover:preset-filled-primary-500';
// string_snippets['classes__events_pres_mgmt_menu__button'] = 'btn btn-sm mx-1 variant-soft-tertiary text-info-300 hover:text-info-800 hover:variant-filled-tertiary';
// string_snippets['classes__events_pres_mgmt_menu__button_special'] = 'btn btn-sm mx-1 variant-ghost-tertiary text-info-300 hover:text-info-800 hover:variant-filled-tertiary';
string_snippets['classes__events_pres_mgmt_menu__button_highlight'] = 'btn btn-sm mx-1 variant-filled-tertiary text-info-300 hover:text-info-800';
string_snippets['classes__events_pres_mgmt_menu__button_warning'] = 'btn btn-sm mx-1 variant-soft-warning text-info-300 hover:text-info-800';
string_snippets['classes__events_pres_mgmt_menu__button_warning_special'] = 'btn btn-sm mx-1 variant-glass-warning';
string_snippets['classes__events_pres_mgmt_menu__button_highlight'] = 'btn btn-sm mx-1 preset-filled-tertiary-500 text-info-300 hover:text-info-800';
string_snippets['classes__events_pres_mgmt_menu__button_warning'] = 'btn btn-sm mx-1 preset-tonal-warning text-info-300 hover:text-info-800';
string_snippets['classes__events_pres_mgmt_menu__button_warning_special'] = 'btn btn-sm mx-1 preset-tonal-warning';

View File

@@ -43,7 +43,7 @@
'absolute left-2 top-2 h-4 rounded px-1 py-2 text-xs capitalize text-muted-foreground opacity-0 transition-opacity group-hover:opacity-100'
})}
>{defaultLanguage}
<ChevronDown class="!size-3" />
<ChevronDown class="size-3!" />
</DropdownMenu.Trigger>
<DropdownMenu.Content class="h-60 w-40 overflow-auto" contenteditable="false">
{#each languages as language}

View File

@@ -131,7 +131,7 @@
<input
value={node.attrs.title}
type="text"
class="my-1 w-full bg-transparent text-center text-sm text-muted-foreground outline-none"
class="my-1 w-full bg-transparent text-center text-sm text-muted-foreground outline-hidden"
onchange={(e) => {
if (e.target === null) return;
//@ts-ignore

View File

@@ -1,3 +1,7 @@
@import "tailwindcss/preflight";
@tailwind utilities;
.tiptap :where(p):not(:where([class~='not-prose'], [class~='not-prose'] *)) {
margin-top: 0 !important;
margin-bottom: 0 !important;
@@ -5,7 +9,7 @@
.tiptap code:not(pre code) {
/* Remove the before and after pseudo elements */
@apply rounded border bg-muted/50 p-1 before:content-[''] after:content-[''];
@apply rounded-sm border bg-muted/50 p-1 before:content-[''] after:content-[''];
}
.tiptap blockquote p {
@@ -54,7 +58,7 @@ ul[data-type='taskList'] li[data-checked='true'] div {
}
input[type='checkbox'] {
@apply size-4 cursor-pointer rounded !important;
@apply size-4 cursor-pointer rounded-sm !important;
}
ul[data-type='taskList'] ul[data-type='taskList'] {
@@ -67,7 +71,7 @@ ul[data-type='taskList'] ul[data-type='taskList'] {
}
.color::before {
@apply mb-[0.15rem] mr-[0.1rem] inline-block size-[1rem] rounded border border-muted align-middle;
@apply mb-[0.15rem] mr-[0.1rem] inline-block size-[1rem] rounded-sm border border-muted align-middle;
background-color: var(--color);
content: ' ';
}

View File

@@ -30,7 +30,7 @@
onclick={() => editor.chain().focus()}
>
<Highlighter />
<ChevronDown class="!size-3 text-muted-foreground" />
<ChevronDown class="size-3! text-muted-foreground" />
</Button>
</Popover.Trigger>
<Popover.Content class="bg-popover shadow-lg *:my-2">

View File

@@ -18,7 +18,7 @@
<Popover.Trigger>
<Button variant="ghost" size="sm" class="h-8">
<Image />
<ChevronDown class="!size-3 text-muted-foreground" />
<ChevronDown class="size-3! text-muted-foreground" />
</Button>
</Popover.Trigger>
<Popover.Content class="bg-popover shadow-lg *:my-2">

View File

@@ -31,7 +31,7 @@
class={cn('h-8', editor.isActive('link') && 'bg-muted')}
>
<Link />
<ChevronDown class="!size-3 text-muted-foreground" />
<ChevronDown class="size-3! text-muted-foreground" />
</Button>
</Popover.Trigger>
<Popover.Content class="bg-popover shadow-lg *:my-2">

View File

@@ -30,10 +30,10 @@
<DropdownMenu.Trigger>
<Button variant="ghost" size="sm" class="h-8" style={`color: ${currentColor}`}>
A
<ChevronDown class="!size-3" />
<ChevronDown class="size-3!" />
</Button>
</DropdownMenu.Trigger>
<DropdownMenu.Content class="max-h-[25rem] w-40 overflow-auto">
<DropdownMenu.Content class="max-h-100 w-40 overflow-auto">
<DropdownMenu.Group>
<span class="text-[0.75rem] font-medium text-muted-foreground">Text Color</span>
{#each colors as color}
@@ -56,7 +56,7 @@
>
<span>{color.label}</span>
{#if editor.isActive('textStyle', { color: color.value })}
<Check class="absolute right-2 !size-3 text-muted-foreground" />
<Check class="absolute right-2 size-3! text-muted-foreground" />
{/if}
</DropdownMenu.Item>
{/each}
@@ -80,7 +80,7 @@
>
<span>{color.label}</span>
{#if editor.isActive('highlight', { color: color.value })}
<Check class="absolute right-2 !size-3 text-muted-foreground" />
<Check class="absolute right-2 size-3! text-muted-foreground" />
{/if}
</DropdownMenu.Item>
{/each}

View File

@@ -15,10 +15,10 @@
<DropdownMenu.Trigger>
<Button variant="ghost" size="sm" class="h-8">
<Table />
<ChevronDown class="!size-3" />
<ChevronDown class="size-3!" />
</Button>
</DropdownMenu.Trigger>
<DropdownMenu.Content class="max-h-[25rem] w-40 overflow-auto">
<DropdownMenu.Content class="max-h-100 w-40 overflow-auto">
<DropdownMenu.Item
onclick={() =>
editor.chain().focus().insertTable({ rows: 3, cols: 3, withHeaderRow: true }).run()}

View File

@@ -36,7 +36,7 @@
{:else}
<Minus />
{/if}
<ChevronDown class="!size-3 text-muted-foreground" />
<ChevronDown class="size-3! text-muted-foreground" />
</Button>
</DropdownMenu.Trigger>
<DropdownMenu.Content class="w-56">
@@ -46,7 +46,7 @@
>
<Heading1 /> Heading 1
{#if editor.isActive('heading', { level: 1 })}
<Check class="absolute right-2 !size-3 text-muted-foreground" />
<Check class="absolute right-2 size-3! text-muted-foreground" />
{/if}
</DropdownMenu.Item>
<DropdownMenu.Item
@@ -55,7 +55,7 @@
>
<Heading2 /> Heading 2
{#if editor.isActive('heading', { level: 2 })}
<Check class="absolute right-2 !size-3 text-muted-foreground" />
<Check class="absolute right-2 size-3! text-muted-foreground" />
{/if}
</DropdownMenu.Item>
<DropdownMenu.Item
@@ -64,7 +64,7 @@
>
<Heading3 /> Heading 3
{#if editor.isActive('heading', { level: 3 })}
<Check class="absolute right-2 !size-3 text-muted-foreground" />
<Check class="absolute right-2 size-3! text-muted-foreground" />
{/if}
</DropdownMenu.Item>
<DropdownMenu.Item
@@ -73,7 +73,7 @@
>
<Pilcrow /> Paragraph
{#if editor.isActive('paragraph')}
<Check class="absolute right-2 !size-3 text-muted-foreground" />
<Check class="absolute right-2 size-3! text-muted-foreground" />
{/if}
</DropdownMenu.Item>
<DropdownMenu.Item
@@ -82,7 +82,7 @@
>
<FileJson /> Code Block
{#if editor.isActive('codeBlock')}
<Check class="absolute right-2 !size-3 text-muted-foreground" />
<Check class="absolute right-2 size-3! text-muted-foreground" />
{/if}
</DropdownMenu.Item>
</DropdownMenu.Content>

View File

@@ -32,7 +32,7 @@
{:else}
<AlignLeft />
{/if}
<ChevronDown class="!size-3 text-muted-foreground" />
<ChevronDown class="size-3! text-muted-foreground" />
</Button>
</DropdownMenu.Trigger>
<DropdownMenu.Content class="w-56">
@@ -42,7 +42,7 @@
>
<AlignLeft /> Align Left
{#if editor.isActive({ textAlign: 'left' })}
<Check class="absolute right-2 !size-3 text-muted-foreground" />
<Check class="absolute right-2 size-3! text-muted-foreground" />
{/if}
</DropdownMenu.Item>
<DropdownMenu.Item
@@ -51,7 +51,7 @@
>
<AlignCenter /> Align Center
{#if editor.isActive({ textAlign: 'center' })}
<Check class="absolute right-2 !size-3 text-muted-foreground" />
<Check class="absolute right-2 size-3! text-muted-foreground" />
{/if}
</DropdownMenu.Item>
<DropdownMenu.Item
@@ -60,7 +60,7 @@
>
<AlignRight /> Align Right
{#if editor.isActive({ textAlign: 'right' })}
<Check class="absolute right-2 !size-3 text-muted-foreground" />
<Check class="absolute right-2 size-3! text-muted-foreground" />
{/if}
</DropdownMenu.Item>
<DropdownMenu.Item
@@ -69,7 +69,7 @@
>
<AlignJustify /> Align Justify
{#if editor.isActive({ textAlign: 'justify' })}
<Check class="absolute right-2 !size-3 text-muted-foreground" />
<Check class="absolute right-2 size-3! text-muted-foreground" />
{/if}
</DropdownMenu.Item>
</DropdownMenu.Content>

View File

@@ -30,7 +30,7 @@
onclick={() => editor.chain().focus()}
>
<Baseline />
<ChevronDown class="!size-3 text-muted-foreground" />
<ChevronDown class="size-3! text-muted-foreground" />
</Button>
</Popover.Trigger>
<Popover.Content class="bg-popover shadow-lg *:my-2">

View File

@@ -68,7 +68,7 @@ onMount(() => {
editorProps: {
attributes: {
class:
'm-auto p-2 focus:outline-none flex-1 prose text-foreground min-w-full max-h-full overflow-auto dark:prose-invert *:my-2'
'm-auto p-2 focus:outline-hidden flex-1 prose text-foreground min-w-full max-h-full overflow-auto dark:prose-invert *:my-2'
}
},
extensions: [

View File

@@ -4,7 +4,7 @@
import { type VariantProps, tv } from "tailwind-variants";
export const buttonVariants = tv({
base: "ring-offset-background focus-visible:ring-ring inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
base: "ring-offset-background focus-visible:ring-ring inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
variants: {
variant: {
default: "bg-primary text-primary-foreground hover:bg-primary/90",

View File

@@ -22,7 +22,7 @@
bind:checked
bind:indeterminate
class={cn(
"data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
"data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden data-disabled:pointer-events-none data-disabled:opacity-50",
className
)}
{...restProps}

View File

@@ -18,7 +18,7 @@
bind:ref
{sideOffset}
class={cn(
"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-md outline-none",
"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-32 overflow-hidden rounded-md border p-1 shadow-md outline-hidden",
className
)}
{...restProps}

View File

@@ -15,7 +15,7 @@
<DropdownMenuPrimitive.Item
bind:ref
class={cn(
"data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
"data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden transition-colors data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
inset && "pl-8",
className
)}

View File

@@ -14,7 +14,7 @@
<DropdownMenuPrimitive.RadioItem
bind:ref
class={cn(
"data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
"data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden data-disabled:pointer-events-none data-disabled:opacity-50",
className
)}
{...restProps}

View File

@@ -12,7 +12,7 @@
<DropdownMenuPrimitive.SubContent
bind:ref
class={cn(
"bg-popover text-popover-foreground z-50 min-w-[8rem] rounded-md border p-1 shadow-lg focus:outline-none",
"bg-popover text-popover-foreground z-50 min-w-32 rounded-md border p-1 shadow-lg focus:outline-hidden",
className
)}
{...restProps}

View File

@@ -17,7 +17,7 @@
<DropdownMenuPrimitive.SubTrigger
bind:ref
class={cn(
"data-[highlighted]:bg-accent data-[state=open]:bg-accent flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
"data-[highlighted]:bg-accent data-[state=open]:bg-accent flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
inset && "pl-8",
className
)}

View File

@@ -14,7 +14,7 @@
<input
bind:this={ref}
class={cn(
"border-input bg-background ring-offset-background placeholder:text-muted-foreground focus-visible:ring-ring flex h-10 w-full rounded-md border px-3 py-2 text-sm file:border-0 file:bg-transparent file:text-sm file:font-medium focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
"border-input bg-background ring-offset-background placeholder:text-muted-foreground focus-visible:ring-ring flex h-10 w-full rounded-md border px-3 py-2 text-sm file:border-0 file:bg-transparent file:text-sm file:font-medium focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
className
)}
bind:value

View File

@@ -20,7 +20,7 @@
{sideOffset}
{align}
class={cn(
"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 rounded-md border p-4 shadow-md outline-none",
"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 rounded-md border p-4 shadow-md outline-hidden",
className
)}
{...restProps}

View File

@@ -14,7 +14,7 @@
bind:ref
class={cn(
"bg-border shrink-0",
orientation === "horizontal" ? "h-[1px] w-full" : "min-h-full w-[1px]",
orientation === "horizontal" ? "h-px w-full" : "min-h-full w-px",
className
)}
{orientation}

View File

@@ -326,7 +326,7 @@ function handle_clear_access() {
// tick();
return false;
}}
class="btn btn-sm variant-ghost-success hover:variant-filled-success transition-all hover:transition-all *:hover:inline"
class="btn btn-sm preset-tonal-success border border-success-500 hover:preset-filled-success-500 transition-all hover:transition-all *:hover:inline"
title="Syncing the local configuration with the remote configuration."
>
<span class="fas fa-sync m-1"></span>
@@ -348,7 +348,7 @@ function handle_clear_access() {
// tick();
return true;
}}
class="btn btn-sm variant-ghost-warning hover:variant-filled-warning transition-all hover:transition-all *:hover:inline"
class="btn btn-sm preset-tonal-warning border border-warning-500 hover:preset-filled-warning-500 transition-all hover:transition-all *:hover:inline"
title="Currently not syncing with the remote server. Re-sync the local configuration with the remote configuration?"
>
<span class="fas fa-unlink m-1"></span>
@@ -402,7 +402,7 @@ function handle_clear_access() {
// handle_check_access_type_passcode();
trigger = true;
}}
class="btn btn-sm variant-glass-success hover:variant-filled-warning access_type_unlock_btn transition-all"
class="btn btn-sm preset-tonal-success hover:preset-filled-warning-500 access_type_unlock_btn transition-all"
title="Anonymous public access is currently set. Access mode is disabled/locked."
>
<span class="fas fa-lock mx-1"></span>
@@ -460,7 +460,7 @@ function handle_clear_access() {
// trigger_clear_access = true;
show_passcode_input = !show_passcode_input;
}}
class="btn btn-sm variant-outline-surface hover:variant-ghost-warning transition-all"
class="btn btn-sm variant-outline-surface hover:preset-tonal-warning border border-warning-500 transition-all"
title={`Current user access level: "${$ae_loc.user_access_type}". Click use passcode for a different access level.`}
>
<!-- <span class="fas fa-lock mx-1"></span> -->
@@ -476,7 +476,7 @@ function handle_clear_access() {
trigger_clear_access = true;
// show_passcode_input = true;
}}
class="btn btn-sm variant-outline-warning hover:variant-ghost-warning transition-all"
class="btn btn-sm variant-outline-warning hover:preset-tonal-warning border border-warning-500 transition-all"
title={`Current access level: "${$ae_loc.access_type}". Click to clear the temporary access level.`}
>
<!-- <span class="fas fa-lock mx-1"></span> -->

View File

@@ -1,6 +1,5 @@
<script lang="ts">
import { onMount } from 'svelte';
// import { RadioGroup, RadioItem } from '@skeletonlabs/skeleton';
import { ae_util } from '$lib/ae_utils/ae_utils';
import { ae_loc, ae_sess, ae_api, slct, slct_trigger } from '$lib/ae_stores';
@@ -173,7 +172,7 @@ function handle_clear_storage(item: null|string) {
<h2 class="strong">Utilities:</h2>
<a
class="btn btn-sm variant-glass-secondary"
class="btn btn-sm preset-tonal-secondary"
href="/hosted_files"
>
<span class="fas fa-code mx-1"></span>
@@ -182,7 +181,7 @@ function handle_clear_storage(item: null|string) {
{#if $ae_loc.iframe}
<a
class="btn btn-sm variant-glass-secondary"
class="btn btn-sm preset-tonal-secondary"
href="/?iframe=false"
>
<span class="fas fa-code mx-1"></span>
@@ -190,7 +189,7 @@ function handle_clear_storage(item: null|string) {
</a>
{:else}
<a
class="btn btn-sm variant-glass-secondary"
class="btn btn-sm preset-tonal-secondary"
href="/?iframe=true"
>
<span class="fas fa-code mx-1"></span>
@@ -200,7 +199,7 @@ function handle_clear_storage(item: null|string) {
<div>
<button
class="btn btn-sm variant-glass-warning"
class="btn btn-sm preset-tonal-warning"
title="Reload and clear the page cache"
on:click={() => {
// $ae_loc.
@@ -209,12 +208,12 @@ function handle_clear_storage(item: null|string) {
>
<span class="fas fa-sync mx-1"></span>
Reload
&amp;
&
<span class="fas fa-trash mx-1"></span>
Clear Cache
</button>
<button
class="btn btn-sm variant-glass-warning"
class="btn btn-sm preset-tonal-warning"
title="Clear the browser storage for this page"
on:click={() => {
if (!confirm('Are you sure you want to clear the local and session storage?')) {
@@ -234,7 +233,7 @@ function handle_clear_storage(item: null|string) {
}}
>
<span class="fas fa-eraser mx-1"></span>
Clear Storage &amp; DB
Clear Storage & DB
</button>
</div>
@@ -246,7 +245,7 @@ function handle_clear_storage(item: null|string) {
<button
class="btn btn-sm variant-glass-warning ae_cfg_btn hover:transition-all"
class="btn btn-sm preset-tonal-warning ae_cfg_btn hover:transition-all"
on:click={() => {
$ae_loc.app_cfg.show_element__cfg_detail = !$ae_loc.app_cfg.show_element__cfg_detail;
}}

View File

@@ -106,7 +106,7 @@ hover:opacity-100 -->
$ae_loc.debug_mode = !$ae_loc?.debug_mode;
}}
class="
btn btn-sm variant-ghost-surface hover:variant-ghost-warning
btn btn-sm preset-tonal-surface border border-surface-500 hover:preset-tonal-warning border border-warning-500
transition-all *:hover:inline-block
@@ -141,7 +141,7 @@ hover:opacity-100 -->
$ae_loc.debug_menu = !$ae_loc?.debug_menu;
}}
class="
btn btn-sm variant-ghost-surface hover:variant-ghost-warning
btn btn-sm preset-tonal-surface border border-surface-500 hover:preset-tonal-warning border border-warning-500
transition-all *:hover:inline-block
"
title="Turn debug content and styles off and on"
@@ -166,8 +166,8 @@ hover:opacity-100 -->
id="AE-Quick-Debug"
class="
btn btn-icon
variant-ghost-surface
hover:variant-ghost-warning
preset-tonal-surface border border-surface-500
hover:preset-tonal-warning border border-warning-500
transition-all
fixed bottom-2 left-2
text-gray-400 hover:text-gray-800
@@ -176,7 +176,7 @@ hover:opacity-100 -->
>
<!-- absolute bottom-2 left-2 -->
<!-- fixed bottom-0 left-0 -->
&pi;
π
</button>
</section>

View File

@@ -357,7 +357,7 @@ async function handle_change_password() {
>
<button
type="button"
class="btn btn-sm variant-outline-warning hover:variant-ghost-warning *:hover:inline w-full"
class="btn btn-sm variant-outline-warning hover:preset-tonal-warning border border-warning-500 *:hover:inline w-full"
title="Sign In"
onclick={() => {
$ae_sess.show__sign_in_out__fields = !$ae_sess.show__sign_in_out__fields; // Toggle the visibility of the sign-in form
@@ -453,7 +453,7 @@ async function handle_change_password() {
>
<button
type="submit"
class="btn btn-sm variant-ghost-secondary hover:variant-filled-secondary"
class="btn btn-sm preset-tonal-secondary border border-secondary-500 hover:preset-filled-secondary-500"
title="Look up user by email and send sign in email"
>
<!-- <User class="mx-1" /> -->
@@ -686,7 +686,7 @@ async function handle_change_password() {
<button
type="submit"
class="btn btn-sm variant-ghost-secondary hover:variant-filled-secondary"
class="btn btn-sm preset-tonal-secondary border border-secondary-500 hover:preset-filled-secondary-500"
title="Sign in with username and password"
>
<!-- <LogIn class="mx-1" /> -->
@@ -711,7 +711,7 @@ async function handle_change_password() {
{#if $ae_loc.edit_mode}
<button
type="button"
class="btn btn-sm variant-ghost-warning hover:variant-filled-warning"
class="btn btn-sm preset-tonal-warning border border-warning-500 hover:preset-filled-warning-500"
title="Change Password"
onclick={() => {
$ae_sess.show__modal_change_password = true;
@@ -727,7 +727,7 @@ async function handle_change_password() {
<!-- Display sign out option if the user is signed in -->
<button
type="button"
class="btn btn-sm variant-ghost-warning hover:variant-filled-warning"
class="btn btn-sm preset-tonal-warning border border-warning-500 hover:preset-filled-warning-500"
title="Sign Out"
onclick={async () => {
if (confirm('Are you sure you want to sign out?')) {
@@ -813,7 +813,7 @@ async function handle_change_password() {
<!-- Show/Hide Password Text -->
<button
type="button"
class="btn btn-icon variant-soft-secondary"
class="btn btn-icon preset-tonal-secondary"
onclick={() => {
// const inputs = document.querySelectorAll('.modal-box input[type="password"]');
// inputs.forEach((input) => {
@@ -848,7 +848,7 @@ async function handle_change_password() {
<div class="flex flex-row flex-wrap gap-2">
<button
type="button"
class="btn variant-filled-warning"
class="btn preset-filled-warning-500"
onclick={handle_change_password}
disabled={is_changing_password}
>
@@ -857,7 +857,7 @@ async function handle_change_password() {
</button>
<button
type="button"
class="btn variant-glass-secondary"
class="btn preset-tonal-secondary"
onclick={() => ($ae_sess.show__modal_change_password = false)}
>
<CircleX class="mx-1" />

View File

@@ -103,7 +103,7 @@ max-w-max -->
dark:text-slate-400 dark:hover:text-slate-200
hover:bg-blue-200/50 hover:dark:bg-blue-900
border-2 rounded
border-2
border-blue-300/20 dark:border-blue-700
hover:border-blue-500 hover:dark:border-blue-500
@@ -136,7 +136,7 @@ max-w-max -->
w-full
bg-white/10 dark:dark-gray-800/10
hover:bg-red-100/50 dark:hover:bg-gray-800/100
hover:bg-red-100/50 dark:hover:bg-gray-800
relative
*:hover:inline
@@ -182,7 +182,7 @@ max-w-max -->
$ae_loc.edit_mode = false;
// dispatch_edit_mode_changed();
}}
class="btn btn-md px-2 variant-ghost-success hover:variant-filled-success transition-all
class="btn btn-md px-2 preset-tonal-success border border-success-500 hover:preset-filled-success-500 transition-all
"
title="Edit mode is currently enabled. Click to disable."
@@ -202,7 +202,7 @@ max-w-max -->
$ae_loc.edit_mode = true;
// dispatch_edit_mode_changed();
}}
class="btn btn-md px-2 variant-ghost-warning hover:variant-filled-warning transition-all space-x-0 *:hover:inline"
class="btn btn-md px-2 preset-tonal-warning border border-warning-500 hover:preset-filled-warning-500 transition-all space-x-0 *:hover:inline"
title="Edit mode is currently disabled. Click to enable."
>
<span class="fas fa-toggle-off mx-1"></span>
@@ -266,7 +266,7 @@ max-w-max -->
// $ae_loc.app_cfg.show_element__menu_btn = true;
}
}}
class="btn btn-sm variant-outline-surface hover:variant-ghost-warning transition-all *:hover:inline"
class="btn btn-sm variant-outline-surface hover:preset-tonal-warning border border-warning-500 transition-all *:hover:inline"
title={`Current user access level: "${$ae_loc.user_access_type}". Click use passcode for a different access level.`}
>
<!-- <span class="fas fa-lock mx-1"></span> -->
@@ -297,7 +297,7 @@ max-w-max -->
$ae_loc.app_cfg.show_element__menu_btn = true;
}
}}
class="btn btn-sm variant-outline-surface hover:variant-ghost-warning transition-all hidden"
class="btn btn-sm variant-outline-surface hover:preset-tonal-warning border border-warning-500 transition-all hidden"
title={`Current access level: "${$ae_loc.access_type}". Click to clear the temporary access level.`}
>
<!-- <span class="fas fa-lock mx-1"></span> Lock? -->
@@ -326,7 +326,7 @@ max-w-max -->
// $ae_loc.app_cfg.show_element__menu_btn = !$ae_loc?.app_cfg?.show_element__menu_btn;
}}
class="
btn btn-sm variant-outline-surface hover:variant-ghost-success transition-all
btn btn-sm variant-outline-surface hover:preset-tonal-success border border-success-500 transition-all
*:hover:inline
"
title="Anonymous public access is currently set. You must Sign In or use a passcode to change your access level."
@@ -345,7 +345,7 @@ max-w-max -->
class:w-48={$ae_loc?.app_cfg?.show_element__menu}
class:visible={$ae_loc?.app_cfg?.show_element__menu}
class:invisible={!$ae_loc?.app_cfg?.show_element__menu}
class="btn btn-sm variant-outline-tertiary hover:variant-ghost-success px-6 py-1"
class="btn btn-sm variant-outline-tertiary hover:preset-tonal-success border border-success-500 px-6 py-1"
title="Show or hide the menu"
onclick={async () => {
if (!$ae_loc?.app_cfg?.show_element__menu) {
@@ -425,7 +425,7 @@ max-w-max -->
<button
type="button"
class="btn btn-sm variant-outline-tertiary hover:variant-ghost-success *:hover:inline px-6 py-1"
class="btn btn-sm variant-outline-tertiary hover:preset-tonal-success border border-success-500 *:hover:inline px-6 py-1"
title="Sign In"
onclick={() => {
if (!$ae_loc?.app_cfg?.show_element__menu) {

View File

@@ -1,5 +1,4 @@
<script lang="ts">
import { RadioGroup, RadioItem } from '@skeletonlabs/skeleton';
import {
Moon, Sun
@@ -28,7 +27,7 @@ if ($ae_loc.app_cfg.theme_mode == 'light') {
-->
<section class="space-y-2">
<button
class="btn btn-sm variant-glass-secondary hover:variant-filled-secondary"
class="btn btn-sm preset-tonal-secondary hover:preset-filled-secondary-500"
onclick={() => {
if ($ae_loc.theme_mode == 'light') {
$ae_loc.theme_mode = 'dark';
@@ -49,12 +48,12 @@ if ($ae_loc.app_cfg.theme_mode == 'light') {
<!-- <span class="fas fa-adjust"></span> -->
{#if $ae_loc.theme_mode == 'light'}
<Sun />
<span class="hidden md:inline">Light Mode</span>
<span class="hidden md:inline-block">Light Mode</span>
{:else if $ae_loc.theme_mode == 'dark'}
<Moon />
<span class="hidden md:inline">Dark Mode</span>
<span class="hidden md:inline-block">Dark Mode</span>
{/if}
<span class="hidden md:inline">
<span class="hidden md:inline-block">
Change Theme
</span>
</button>

View File

@@ -156,7 +156,7 @@ async function handle_obj_field_patch(new_field_value: any) {
<slot></slot>
<button
class="btn btn-sm variant-soft-warning hover:variant-ghost-error field_show_btn"
class="btn btn-sm preset-tonal-warning hover:preset-tonal-error border border-error-500 field_show_btn"
class:hide_edit_btn
class:show_crud
on:dblclick={() => {
@@ -178,7 +178,7 @@ async function handle_obj_field_patch(new_field_value: any) {
</span>
<button
class="btn btn-md variant-glass-tertiary hover:variant-ghost-tertiary m-1 transition-all"
class="btn btn-md preset-tonal-tertiary hover:preset-tonal-tertiary border border-tertiary-500 m-1 transition-all"
class:show_crud
on:click={() => {
show_crud = false;
@@ -235,20 +235,20 @@ async function handle_obj_field_patch(new_field_value: any) {
{/if}
{#if allow_null}
<button
class="btn btn-sm variant-soft-warning hover:variant-ghost-warning m-1"
class="btn btn-sm preset-tonal-warning hover:preset-tonal-warning border border-warning-500 m-1"
on:click={() => {
field_value = null;
}}
title="Set value to NULL"
>
&Oslash;
Ø
NULL
</button>
{/if}
</span>
<button
class="btn btn-lg variant-glass-primary hover:variant-ghost-primary m-1"
class="btn btn-lg preset-tonal-primary hover:preset-tonal-primary border border-primary-500 m-1"
class:show_crud
disabled={field_value == original_field_value}
on:click={async () => {

View File

@@ -1,7 +1,5 @@
<script lang="ts">
import { onMount } from 'svelte';
// import type { Writable } from 'svelte/store';
// import { localStorageStore } from '@skeletonlabs/skeleton';
import { api } from '$lib/api';
import { ae_loc, ae_sess, ae_api, slct, slct_trigger, ae_trig } from '$lib/ae_stores';
@@ -634,7 +632,7 @@ async function handle_update__data_store({
<button
type="button"
class="btn variant-soft-warning"
class="btn preset-tonal-warning"
on:click={() => {
if (confirm('Are you sure you want to delete this data store?')) {
trigger = 'delete__ds__code';
@@ -650,7 +648,7 @@ async function handle_update__data_store({
<button
type="button"
class="btn variant-soft-primary"
class="btn preset-tonal-primary"
on:click={() => {
show_edit = false;
show_view = true;
@@ -662,7 +660,7 @@ async function handle_update__data_store({
<button
type="submit"
class="btn variant-soft-primary"
class="btn preset-tonal-primary"
disabled={ds_submit_results instanceof Promise && !ds_submit_results}
on:click={() => {
trigger = 'save__ds__code';
@@ -710,7 +708,7 @@ async function handle_update__data_store({
{#if !ae_ds_tmp.type && !ae_ds_tmp.html && !ae_ds_tmp.json && !ae_ds_tmp.md && !ae_ds_tmp.text}
{#if $ae_loc.manager_access}
<span class="variant-soft-warning">No data found! Is the data store correct or new?</span>
<span class="preset-tonal-warning">No data found! Is the data store correct or new?</span>
{:else}
<!-- <span class="variant-soft">loading</span> -->
{/if}
@@ -720,7 +718,7 @@ async function handle_update__data_store({
{@html ae_ds_tmp.html}
{:else if ae_ds_tmp.type == 'html'}
{#if $ae_loc.manager_access}
<span class="variant-soft-warning">No HTML found! Is the data store type correct?</span>
<span class="preset-tonal-warning">No HTML found! Is the data store type correct?</span>
{:else}
<!-- <span class="variant-soft">loading</span> -->
{/if}
@@ -730,7 +728,7 @@ async function handle_update__data_store({
{ae_ds_tmp.text}
{:else if ae_ds_tmp.type == 'text'}
{#if $ae_loc.manager_access}
<span class="variant-soft-warning">No text found! Is the data store type correct?</span>
<span class="preset-tonal-warning">No text found! Is the data store type correct?</span>
{:else}
<!-- <span class="variant-soft">loading</span> -->
{/if}
@@ -738,7 +736,7 @@ async function handle_update__data_store({
<button
type="button"
class="ae_btn_edit__ds btn hover:variant-glass-warning text-xs absolute top-0 right-0 opacity-30 hover:opacity-100 transition delay-700 hover:delay-200 m-1 p-1"
class="ae_btn_edit__ds btn hover:preset-tonal-warning text-xs absolute top-0 right-0 opacity-30 hover:opacity-100 transition delay-700 hover:delay-200 m-1 p-1"
class:opacity-5={!$ae_loc.manager_access}
class:hidden={!show_edit_btn || !$ae_loc.trusted_access}
on:dblclick={() => {

View File

@@ -668,7 +668,7 @@ async function handle_update__data_store(
<button
type="button"
class="btn variant-soft-warning"
class="btn preset-tonal-warning"
on:click={() => {
if (confirm('Are you sure you want to delete this data store?')) {
trigger = 'delete__ds__code';
@@ -696,7 +696,7 @@ async function handle_update__data_store(
<button
type="submit"
class="btn variant-ghost-primary"
class="btn preset-tonal-primary border border-primary-500"
disabled={ds_submit_results instanceof Promise && !ds_submit_results}
on:click={() => {
trigger = 'save__ds__code';
@@ -747,7 +747,7 @@ async function handle_update__data_store(
show_edit = false;
show_view = true;
}}
class="btn btn-sm variant-soft-warning hover:variant-ghost-warning"
class="btn btn-sm preset-tonal-warning hover:preset-tonal-warning border border-warning-500"
>
<span class="fas fa-times mx-1"></span>
Close
@@ -764,7 +764,7 @@ async function handle_update__data_store(
{#if !ae_ds_tmp.type && !ae_ds_tmp.html && !ae_ds_tmp.json && !ae_ds_tmp.md && !ae_ds_tmp.text}
{#if $ae_loc.manager_access}
<span class="variant-soft-warning">No data found! Is the data store correct or new?</span>
<span class="preset-tonal-warning">No data found! Is the data store correct or new?</span>
{:else}
<!-- <span class="variant-soft">loading</span> -->
{/if}
@@ -774,7 +774,7 @@ async function handle_update__data_store(
{@html ae_ds_tmp.html}
{:else if ae_ds_tmp.type == 'html'}
{#if $ae_loc.manager_access}
<span class="variant-soft-warning">No HTML found! Is the data store type correct?</span>
<span class="preset-tonal-warning">No HTML found! Is the data store type correct?</span>
{:else}
<!-- <span class="variant-soft">loading</span> -->
{/if}
@@ -784,7 +784,7 @@ async function handle_update__data_store(
{ae_ds_tmp.text}
{:else if ae_ds_tmp.type == 'text'}
{#if $ae_loc.manager_access}
<span class="variant-soft-warning">No text found! Is the data store type correct?</span>
<span class="preset-tonal-warning">No text found! Is the data store type correct?</span>
{:else}
<!-- <span class="variant-soft">loading</span> -->
{/if}
@@ -792,7 +792,7 @@ async function handle_update__data_store(
<button
type="button"
class="ae_btn_edit__ds btn hover:variant-glass-warning text-xs absolute top-0 right-0 opacity-30 hover:opacity-100 transition delay-700 hover:delay-200 m-1 p-1"
class="ae_btn_edit__ds btn hover:preset-tonal-warning text-xs absolute top-0 right-0 opacity-30 hover:opacity-100 transition delay-700 hover:delay-200 m-1 p-1"
class:opacity-5={!$ae_loc.manager_access}
class:hidden={!(
($ae_loc.manager_access && $ae_loc.edit_mode)

View File

@@ -11,7 +11,7 @@ export let element_id = 'svelte_input_file_element';
export let input_name = 'file_list';
export let container_class_li: string[] = [];
export let input_class_li: string[] = ['file_drop_area'];
export let table_class_li: string[] = ['table', 'table-sm', 'table-striped', 'table-hover' , 'text-sm'];
export let table_class_li: string[] = ['table', 'table-sm', 'table-striped', '' , 'text-sm'];
export let multiple: boolean = true;
export let required: boolean = true;
@@ -324,7 +324,7 @@ function remove_file_from_filelist(index) {
/>
{#if file_list_status == 'processing'}
<div class="file_list_status ae_warning variant-ghost-warning p-1 m-1">
<div class="file_list_status ae_warning preset-tonal-warning border border-warning-500 p-1 m-1">
<span class="fas fa-spinner fa-spin m-1"></span> Processing selected file list...
</div>
{/if}
@@ -351,7 +351,7 @@ function remove_file_from_filelist(index) {
<td class="file_remove">
<button
on:click|preventDefault={() => { (remove_file_from_filelist(file_index)); }}
class="btn btn-md variant-soft-warning hover:variant-filled-secondary m-1"
class="btn btn-md preset-tonal-warning hover:preset-filled-secondary-500 m-1"
title="Remove file from upload list">
<span class="fas fa-minus"></span>
<span class="hidden">Remove</span>

View File

@@ -9,7 +9,7 @@ import { ae_loc, ae_sess, ae_api, ae_trig, slct, slct_trigger } from '$lib/ae_st
// export let element_id = 'svelte_input_file_element';
export let container_class_li: string[] = [];
export let table_class_li: string[] = ['table', 'table-sm', 'table-striped', 'table-hover' , 'text-sm'];
export let table_class_li: string[] = ['table', 'table-sm', 'table-striped', '' , 'text-sm'];
export let untrusted_extension_list = ['bin', 'dmg', 'exe', 'js', 'msi', 'php', 'py', 'sh'];
@@ -297,7 +297,7 @@ function remove_file_from_filelist(index) {
{#if file_list_status == 'processing'}
<div class="file_list_status ae_warning variant-ghost-warning p-1 m-1">
<div class="file_list_status ae_warning preset-tonal-warning border border-warning-500 p-1 m-1">
<span class="fas fa-spinner fa-spin m-1"></span> Processing selected file list...
</div>
{/if}
@@ -324,7 +324,7 @@ function remove_file_from_filelist(index) {
<td class="file_remove">
<button
on:click|preventDefault={() => { (remove_file_from_filelist(file_index)); }}
class="btn btn-md variant-soft-warning hover:variant-filled-secondary m-1"
class="btn btn-md preset-tonal-warning hover:preset-filled-secondary-500 m-1"
title="Remove file from upload list">
<span class="fas fa-minus"></span>
<span class="hidden">Remove</span>

View File

@@ -1,7 +1,6 @@
<script lang="ts">
export let log_lvl: number = 0;
import { onMount } from 'svelte';
import { clipboard } from '@skeletonlabs/skeleton';
// import { liveQuery } from "dexie";
import type { key_val } from '$lib/ae_stores';
@@ -70,7 +69,7 @@ onMount(() => {
// $slct_trigger = 'load__event_file_obj_li';
// ae_tmp.show__file_li = true;
}}
class="btn btn-sm p-1 m-1 variant-soft-tertiary hover:variant-ghost-warning transition hover:transition-all *:hover:inline"
class="btn btn-sm p-1 m-1 preset-tonal-tertiary hover:preset-tonal-warning border border-warning-500 transition hover:transition-all *:hover:inline"
class:hidden={!$ae_loc.edit_mode || !$ae_loc.authenticated_access}
title="Refresh the list of files"
>
@@ -86,7 +85,7 @@ onMount(() => {
console.log('*** Show Alt Download button clicked ***');
ae_tmp.show__direct_download = !ae_tmp.show__direct_download;
}}
class="btn btn-sm p-1 m-1 variant-soft-tertiary hover:variant-ghost-warning transition hover:transition-all *:hover:inline"
class="btn btn-sm p-1 m-1 preset-tonal-tertiary hover:preset-tonal-warning border border-warning-500 transition hover:transition-all *:hover:inline"
class:hidden={!$ae_loc.edit_mode || !$ae_loc.trusted_access}
title="Toggle direct download link and copy link button"
>
@@ -166,7 +165,7 @@ onMount(() => {
// window.postMessage({ type: 'download_event_file', event_file_id: event_file_obj.event_file_id_random, filename: event_file_obj.filename, auto_download: true }, '*');
}}
class="btn btn-sm lg:btn-md variant-soft-primary hover:variant-filled-primary min-w-72 lg:min-w-96"
class="btn btn-sm lg:btn-md preset-tonal-primary hover:preset-filled-primary-500 min-w-72 lg:min-w-96"
title={`Download this file:\n${event_file_obj.filename}\n[API] SHA256: ${event_file_obj.hash_sha256.slice(0, 10)}... Hosted ID: ${event_file_obj.hosted_file_id_random} Event File ID: ${event_file_obj.event_file_id_random}`}
>
{#await ae_promises[event_file_obj.event_file_id_random]}
@@ -191,7 +190,7 @@ onMount(() => {
</span>
<span
class="badge variant-glass-success hover:variant-filled-success text-sm"
class="badge preset-tonal-success hover:preset-filled-success-500 text-sm"
class:hidden={!event_file_obj.file_purpose}
>
{event_file_obj.file_purpose}
@@ -208,7 +207,7 @@ onMount(() => {
</span>
<a
href="{$ae_api.base_url}/event/file/{event_file_obj?.event_file_id_random}/download?filename={ae_util.clean_filename(event_file_obj?.filename)}&x_no_account_id_token=direct-download"
class="btn btn-sm p-1 variant-soft-secondary *:hover:inline lg:text-xs underline"
class="btn btn-sm p-1 preset-tonal-secondary *:hover:inline lg:text-xs underline"
title={`Download this file:\n${ae_util.clean_filename(event_file_obj?.filename)}\n[API] SHA256: ${event_file_obj?.hash_sha256.slice(0, 10)}...\nHosted ID: ${event_file_obj?.hosted_file_id_random} Event File ID: ${event_file_obj?.event_file_id_random}`}
>
<span class="fas fa-download mx-1"></span>
@@ -219,7 +218,7 @@ onMount(() => {
<button
type="button"
use:clipboard={encodeURI(`${$ae_api.base_url}/event/file/${event_file_obj?.event_file_id_random}/download?filename=${ae_util.clean_filename(event_file_obj?.filename)}&x_no_account_id_token=direct-download`)}
class="btn btn-sm p-1 variant-soft-secondary *:hover:inline lg:text-xs"
class="btn btn-sm p-1 preset-tonal-secondary *:hover:inline lg:text-xs"
title="Copy the direct download file link: {ae_util.clean_filename(event_file_obj?.filename ?? 'unknown')}"
>
<span class="fas fa-copy mx-1"></span>
@@ -235,7 +234,7 @@ onMount(() => {
</span>
<a
href="{$ae_api.base_url}/event/file/{event_file_obj?.event_file_id_random}/download?filename={event_file_obj?.event_session_code}-{ae_util.clean_filename(event_file_obj?.event_presentation_name).substring(0, 20)}-{ae_util.clean_filename(event_file_obj?.event_presenter_full_name)}.{event_file_obj?.extension}&x_no_account_id_token=direct-download"
class="btn btn-sm p-1 variant-soft-secondary *:hover:inline lg:text-xs underline"
class="btn btn-sm p-1 preset-tonal-secondary *:hover:inline lg:text-xs underline"
title={`Download renamed with session name to: ${event_file_obj?.event_session_code}-${ae_util.clean_filename(event_file_obj?.event_session_name).substring(0, 20)}-${ae_util.clean_filename(event_file_obj?.event_presenter_full_name)}.${event_file_obj?.extension}`}
>
<span class="fas fa-download mx-1"></span>
@@ -246,7 +245,7 @@ onMount(() => {
<button
type="button"
use:clipboard={encodeURI(`${$ae_api.base_url}/event/file/${event_file_obj?.event_file_id_random}/download?filename=${event_file_obj?.event_session_code}-${ae_util.clean_filename(event_file_obj?.event_session_name).substring(0, 20)}-${ae_util.clean_filename(event_file_obj?.event_presenter_full_name)}.${event_file_obj?.extension}&x_no_account_id_token=direct-download`)}
class="btn btn-sm p-1 variant-soft-secondary *:hover:inline lg:text-xs"
class="btn btn-sm p-1 preset-tonal-secondary *:hover:inline lg:text-xs"
title="Copy the renamed file link"
>
<span class="fas fa-copy mx-1"></span>
@@ -262,7 +261,7 @@ onMount(() => {
</span>
<a
href="{$ae_api.base_url}/event/file/{event_file_obj?.event_file_id_random}/download?filename={event_file_obj?.event_session_code}-{ae_util.clean_filename(event_file_obj?.event_presentation_name).substring(0, 20)}-{ae_util.clean_filename(event_file_obj?.event_presenter_full_name)}.{event_file_obj?.extension}&x_no_account_id_token=direct-download"
class="btn btn-sm p-1 variant-soft-secondary *:hover:inline lg:text-xs underline"
class="btn btn-sm p-1 preset-tonal-secondary *:hover:inline lg:text-xs underline"
title={`Download renamed with presentation name to: ${event_file_obj?.event_session_code}-${ae_util.clean_filename(event_file_obj?.event_presentation_name).substring(0, 20)}-${ae_util.clean_filename(event_file_obj?.event_presenter_full_name)}.${event_file_obj?.extension}`}
>
<span class="fas fa-download mx-1"></span>
@@ -273,7 +272,7 @@ onMount(() => {
<button
type="button"
use:clipboard={encodeURI(`${$ae_api.base_url}/event/file/${event_file_obj?.event_file_id_random}/download?filename=${event_file_obj?.event_session_code}-${ae_util.clean_filename(event_file_obj?.event_presentation_name).substring(0, 20)}-${ae_util.clean_filename(event_file_obj?.event_presenter_full_name)}.${event_file_obj?.extension}&x_no_account_id_token=direct-download`)}
class="btn btn-sm p-1 variant-soft-secondary *:hover:inline lg:text-xs"
class="btn btn-sm p-1 preset-tonal-secondary *:hover:inline lg:text-xs"
title="Copy the renamed file link"
>
<span class="fas fa-copy mx-1"></span>
@@ -328,7 +327,7 @@ onMount(() => {
$events_sess.pres_mgmt.show_field_edit__filename = false;
});
}}
class="btn btn-sm variant-glass-tertiary hover:variant-soft-success"
class="btn btn-sm preset-tonal-tertiary hover:preset-tonal-success"
title="Save changes"
>
{#await ae_promises.update__event_file_obj}
@@ -363,8 +362,8 @@ onMount(() => {
$events_sess.pres_mgmt.show_field_edit__filename = event_file_obj.event_file_id_random;
}
}}
class="btn btn-sm variant-glass-tertiary hover:variant-soft-success"
class:variant-glass-warning={$events_sess.pres_mgmt.show_field_edit__filename == event_file_obj.event_file_id_random}
class="btn btn-sm preset-tonal-tertiary hover:preset-tonal-success"
class:preset-tonal-warning={$events_sess.pres_mgmt.show_field_edit__filename == event_file_obj.event_file_id_random}
title={`Rename this file? "${event_file_obj.filename}"`}
>
<span class="fas fa-edit mx-1"></span>
@@ -406,7 +405,7 @@ onMount(() => {
});
});
}}
class="btn btn-sm variant-glass-tertiary hover:variant-soft-success"
class="btn btn-sm preset-tonal-tertiary hover:preset-tonal-success"
title="Hide this file from the presentation launcher"
>
@@ -445,7 +444,7 @@ onMount(() => {
log_lvl: 1
})
}}
class="btn btn-sm variant-glass-tertiary hover:variant-soft-success"
class="btn btn-sm preset-tonal-tertiary hover:preset-tonal-success"
title="Delete this file"
>
<span class="fas fa-trash-alt mx-1"></span>
@@ -587,7 +586,7 @@ onMount(() => {
</span>
<strong
class:font-normal={display_mode != 'default'}
>{event_file_obj.hash_sha256.slice(0, 10)}&mldr;</strong>
>{event_file_obj.hash_sha256.slice(0, 10)}</strong>
</span>
<span
class:hidden={!$ae_loc.administrator_access || display_mode != 'default'}>

View File

@@ -1,6 +1,4 @@
<script lang="ts">
// import { onMount } from 'svelte';
// import { clipboard } from '@skeletonlabs/skeleton';
import { liveQuery } from "dexie";
import type { key_val } from '$lib/ae_stores';

View File

@@ -1,8 +1,4 @@
<script lang="ts">
// import { onMount } from 'svelte';
// import { clipboard } from '@skeletonlabs/skeleton';
// import { liveQuery } from "dexie";
import type { key_val } from '$lib/ae_stores';
import { ae_util } from '$lib/ae_utils/ae_utils';
// import { api } from '$lib/api';
@@ -108,7 +104,7 @@ ae_tmp.show__direct_download = $ae_loc.core?.show__direct_download ?? false;
// $slct_trigger = 'load__hosted_file_obj_li';
// ae_tmp.show__file_li = true;
}}
class="btn btn-sm p-1 m-1 variant-soft-tertiary hover:variant-ghost-warning transition hover:transition-all *:hover:inline"
class="btn btn-sm p-1 m-1 preset-tonal-tertiary hover:preset-tonal-warning border border-warning-500 transition hover:transition-all *:hover:inline"
class:hidden={!$ae_loc.edit_mode || !$ae_loc.authenticated_access}
title="Refresh the list of files"
>
@@ -124,7 +120,7 @@ ae_tmp.show__direct_download = $ae_loc.core?.show__direct_download ?? false;
console.log('*** Show Alt Download button clicked ***');
ae_tmp.show__direct_download = !ae_tmp.show__direct_download;
}}
class="btn btn-sm p-1 m-1 variant-soft-tertiary hover:variant-ghost-warning transition hover:transition-all *:hover:inline"
class="btn btn-sm p-1 m-1 preset-tonal-tertiary hover:preset-tonal-warning border border-warning-500 transition hover:transition-all *:hover:inline"
class:hidden={!$ae_loc.edit_mode || !$ae_loc.trusted_access}
title="Toggle direct download link and copy link button"
>
@@ -170,7 +166,7 @@ ae_tmp.show__direct_download = $ae_loc.core?.show__direct_download ?? false;
console.log(`slct_hosted_file_kv:`, slct_hosted_file_kv);
}
}}
class="btn btn-sm variant-soft-secondary hover:variant-filled-secondary"
class="btn btn-sm preset-tonal-secondary hover:preset-filled-secondary-500"
title="Add/Remove file to/from the locally stored uploaded file list. This is referenced by other AE components."
>
{#if $ae_loc.files.uploaded_file_kv[hosted_file_obj.hosted_file_id]}
@@ -199,7 +195,7 @@ ae_tmp.show__direct_download = $ae_loc.core?.show__direct_download ?? false;
})
}}
class:hidden={!$ae_loc.administrator_access}
class="btn btn-sm variant-soft-secondary hover:variant-filled-secondary"
class="btn btn-sm preset-tonal-secondary hover:preset-filled-secondary-500"
title="Delete a file from the host server."
>
<span class="fas fa-trash-alt m-1"></span>
@@ -214,7 +210,7 @@ ae_tmp.show__direct_download = $ae_loc.core?.show__direct_download ?? false;
// This should show/hide the editable fields for the file. This might need to be in a little modal.
}}
class="btn btn-sm variant-soft-primary hover:variant-filled-primary"
class="btn btn-sm preset-tonal-primary hover:preset-filled-primary-500"
title="Edit file details"
>
<span class="fas fa-edit m-1"></span>

View File

@@ -1,7 +1,5 @@
<script lang="ts">
// NEW NEW NEW: 2025-01-07
// import { onMount } from 'svelte';
// import { clipboard } from '@skeletonlabs/skeleton';
import { liveQuery } from "dexie";
import type { key_val } from '$lib/ae_stores';

View File

@@ -382,21 +382,21 @@ function send_init_confirm_email(subject, message) {
class="ae_options m-1"
>
{#if scanning_status == 'not_started' }
<button on:click={handle_start_qr_scanning} class="btn btn-lg variant-soft-primary btn_start"><span class="fas fa-qrcode mx-1"></span> Start Scanning</button>
<button on:click={handle_start_qr_scanning} class="btn btn-lg preset-tonal-primary btn_start"><span class="fas fa-qrcode mx-1"></span> Start Scanning</button>
<span class="loading-text">
Scanning stopped
</span>
{:else if scanning_status == 'paused' && show_pause_btn}
<button on:click={handle_resume_qr_scanning} class="btn btn-md variant-soft-primary btn_resume"><span class="fas fa-play"></span> Resume</button>
<button on:click={handle_resume_qr_scanning} class="btn btn-md preset-tonal-primary btn_resume"><span class="fas fa-play"></span> Resume</button>
<span>Scanning paused</span>
{:else if scanning_status == 'scanning'}
<button on:click={handle_stop_qr_scanning} class="btn btn-md variant-soft-secondary btn_stop">
<button on:click={handle_stop_qr_scanning} class="btn btn-md preset-tonal-secondary btn_stop">
<span class="fas fa-crosshairs fa-spin opacity-50 m-1"></span>
<!-- <span class="fas fa-stop-circle m-1"></span> -->
Stop
</button>
{#if show_pause_btn}
<button on:click={handle_pause_qr_scanning} class="btn btn-lg variant-soft-secondary btn_pause"><span class="fas fa-pause-circle"></span> Pause</button>
<button on:click={handle_pause_qr_scanning} class="btn btn-lg preset-tonal-secondary btn_pause"><span class="fas fa-pause-circle"></span> Pause</button>
{/if}
<!-- <span>Scanning for QR code...</span> -->
<!-- <div class="modal-loading"> -->
@@ -416,7 +416,7 @@ function send_init_confirm_email(subject, message) {
{#if show_qr_manual_entry}
<label for="entered_text" class="">Enter text</label>
<input type="text" name="entered_text" id="entered_text" bind:value="{qr_entered_text}">
<button on:click={handle_qr_manual_entry} class="btn btn-md variant-soft-warning"><span class="fas fa-paper-plane"></span> Submit Text</button>
<button on:click={handle_qr_manual_entry} class="btn btn-md preset-tonal-warning"><span class="fas fa-paper-plane"></span> Submit Text</button>
<div class="search_by_text">
@@ -424,7 +424,7 @@ function send_init_confirm_email(subject, message) {
</div>
{:else}
<button on:click={() => show_qr_manual_entry=true} class="btn btn-md variant-soft-warning"><span class="fas fa-keyboard"></span> Enter Text</button>
<button on:click={() => show_qr_manual_entry=true} class="btn btn-md preset-tonal-warning"><span class="fas fa-keyboard"></span> Enter Text</button>
{/if}
</div>
{/if}
@@ -451,7 +451,7 @@ function send_init_confirm_email(subject, message) {
type="submit"
on:click={handle_qr_manual_entry}
disabled={disable_submit_badge_id_btn}
class="btn btn-md variant-ghost-primary m-1"
class="btn btn-md preset-tonal-primary border border-primary-500 m-1"
class:btn_default={disable_submit_badge_id_btn}
class:btn_primary={!disable_submit_badge_id_btn}
>
@@ -460,7 +460,7 @@ function send_init_confirm_email(subject, message) {
</form>
{:else}
<button on:click={() => show_qr_manual_entry=true} class="btn btn-md variant-soft-secondary m-1"><span class="fas fa-keyboard mx-1"></span> Enter Badge ID</button>
<button on:click={() => show_qr_manual_entry=true} class="btn btn-md preset-tonal-secondary m-1"><span class="fas fa-keyboard mx-1"></span> Enter Badge ID</button>
{/if}
</div>
{/if}

View File

@@ -514,21 +514,21 @@ function send_init_confirm_email(subject, message) {
class="ae_options m-1"
>
{#if scanning_status == 'not_started' }
<button on:click={handle_start_qr_scanning} class="btn btn-lg variant-soft-primary btn_start"><span class="fas fa-qrcode mx-1"></span> Start Scanning</button>
<button on:click={handle_start_qr_scanning} class="btn btn-lg preset-tonal-primary btn_start"><span class="fas fa-qrcode mx-1"></span> Start Scanning</button>
<span class="loading-text">
Scanning stopped
</span>
{:else if scanning_status == 'paused' && show_pause_btn}
<button on:click={handle_resume_qr_scanning} class="btn btn-md variant-soft-primary btn_resume"><span class="fas fa-play"></span> Resume</button>
<button on:click={handle_resume_qr_scanning} class="btn btn-md preset-tonal-primary btn_resume"><span class="fas fa-play"></span> Resume</button>
<span>Scanning paused</span>
{:else if scanning_status == 'scanning'}
<button on:click={handle_stop_qr_scanning} class="btn btn-md variant-soft-secondary btn_stop">
<button on:click={handle_stop_qr_scanning} class="btn btn-md preset-tonal-secondary btn_stop">
<span class="fas fa-crosshairs fa-spin opacity-50 m-1"></span>
<!-- <span class="fas fa-stop-circle m-1"></span> -->
Stop
</button>
{#if show_pause_btn}
<button on:click={handle_pause_qr_scanning} class="btn btn-lg variant-soft-secondary btn_pause"><span class="fas fa-pause-circle"></span> Pause</button>
<button on:click={handle_pause_qr_scanning} class="btn btn-lg preset-tonal-secondary btn_pause"><span class="fas fa-pause-circle"></span> Pause</button>
{/if}
<!-- <span>Scanning for QR code...</span> -->
<!-- <div class="modal-loading"> -->
@@ -548,7 +548,7 @@ function send_init_confirm_email(subject, message) {
{#if show_qr_manual_entry}
<label for="entered_text" class="">Enter text</label>
<input type="text" name="entered_text" id="entered_text" bind:value="{qr_entered_text}">
<button on:click={handle_qr_manual_entry} class="btn btn-md variant-soft-warning"><span class="fas fa-paper-plane"></span> Submit Text</button>
<button on:click={handle_qr_manual_entry} class="btn btn-md preset-tonal-warning"><span class="fas fa-paper-plane"></span> Submit Text</button>
<div class="search_by_text">
@@ -556,7 +556,7 @@ function send_init_confirm_email(subject, message) {
</div>
{:else}
<button on:click={() => show_qr_manual_entry=true} class="btn btn-md variant-soft-warning"><span class="fas fa-keyboard"></span> Enter Text</button>
<button on:click={() => show_qr_manual_entry=true} class="btn btn-md preset-tonal-warning"><span class="fas fa-keyboard"></span> Enter Text</button>
{/if}
</div>
{/if}
@@ -583,7 +583,7 @@ function send_init_confirm_email(subject, message) {
type="submit"
on:click={handle_qr_manual_entry}
disabled={disable_submit_badge_id_btn}
class="btn btn-md variant-ghost-primary m-1"
class="btn btn-md preset-tonal-primary border border-primary-500 m-1"
class:btn_default={disable_submit_badge_id_btn}
class:btn_primary={!disable_submit_badge_id_btn}
>
@@ -592,7 +592,7 @@ function send_init_confirm_email(subject, message) {
</form>
{:else}
<button on:click={() => show_qr_manual_entry=true} class="btn btn-md variant-soft-secondary m-1"><span class="fas fa-keyboard mx-1"></span> Enter Badge ID</button>
<button on:click={() => show_qr_manual_entry=true} class="btn btn-md preset-tonal-secondary m-1"><span class="fas fa-keyboard mx-1"></span> Enter Badge ID</button>
{/if}
</div>
{/if}

View File

@@ -464,21 +464,21 @@ function send_init_confirm_email(subject, message) {
class="ae_options flex flex-row justify-center items-center gap-1 m-1"
>
{#if scanning_status == 'not_started' }
<button on:click={handle_start_qr_scanning} class="btn btn-lg variant-soft-primary btn_start"><span class="fas fa-qrcode mx-1"></span> Start Scanning</button>
<button on:click={handle_start_qr_scanning} class="btn btn-lg preset-tonal-primary btn_start"><span class="fas fa-qrcode mx-1"></span> Start Scanning</button>
<span class="loading-text">
Scanning stopped
</span>
{:else if scanning_status == 'paused' && show_pause_btn}
<button on:click={handle_resume_qr_scanning} class="btn btn-md variant-soft-primary btn_resume"><span class="fas fa-play"></span> Resume</button>
<button on:click={handle_resume_qr_scanning} class="btn btn-md preset-tonal-primary btn_resume"><span class="fas fa-play"></span> Resume</button>
<span>Scanning paused</span>
{:else if scanning_status == 'scanning'}
<button on:click={handle_stop_qr_scanning} class="btn btn-md variant-soft-secondary btn_stop">
<button on:click={handle_stop_qr_scanning} class="btn btn-md preset-tonal-secondary btn_stop">
<span class="fas fa-crosshairs fa-spin opacity-50 m-1"></span>
<!-- <span class="fas fa-stop-circle m-1"></span> -->
Stop
</button>
{#if show_pause_btn}
<button on:click={handle_pause_qr_scanning} class="btn btn-lg variant-soft-secondary btn_pause"><span class="fas fa-pause-circle"></span> Pause</button>
<button on:click={handle_pause_qr_scanning} class="btn btn-lg preset-tonal-secondary btn_pause"><span class="fas fa-pause-circle"></span> Pause</button>
{/if}
<!-- <span>Scanning for QR code...</span> -->
<!-- <div class="modal-loading"> -->
@@ -498,7 +498,7 @@ function send_init_confirm_email(subject, message) {
{#if show_qr_manual_entry}
<label for="entered_text" class="">Enter text</label>
<input type="text" name="entered_text" id="entered_text" bind:value="{qr_entered_text}">
<button on:click={handle_qr_manual_entry} class="btn btn-md variant-soft-warning"><span class="fas fa-paper-plane"></span> Submit Text</button>
<button on:click={handle_qr_manual_entry} class="btn btn-md preset-tonal-warning"><span class="fas fa-paper-plane"></span> Submit Text</button>
<div class="search_by_text">
@@ -506,7 +506,7 @@ function send_init_confirm_email(subject, message) {
</div>
{:else}
<button on:click={() => show_qr_manual_entry=true} class="btn btn-md variant-soft-warning"><span class="fas fa-keyboard"></span> Enter Text</button>
<button on:click={() => show_qr_manual_entry=true} class="btn btn-md preset-tonal-warning"><span class="fas fa-keyboard"></span> Enter Text</button>
{/if}
</div>
{/if}
@@ -533,7 +533,7 @@ function send_init_confirm_email(subject, message) {
type="submit"
on:click={handle_qr_manual_entry}
disabled={disable_submit_badge_id_btn}
class="btn btn-md variant-ghost-primary m-1"
class="btn btn-md preset-tonal-primary border border-primary-500 m-1"
class:btn_default={disable_submit_badge_id_btn}
class:btn_primary={!disable_submit_badge_id_btn}
>
@@ -547,7 +547,7 @@ function send_init_confirm_email(subject, message) {
handle_stop_qr_scanning();
show_qr_manual_entry=true;
}}
class="btn btn-md variant-soft-secondary m-1"
class="btn btn-md preset-tonal-secondary m-1"
>
<span class="fas fa-keyboard mx-1"></span> Enter Badge ID
</button>

View File

@@ -487,7 +487,7 @@ function send_init_confirm_email(subject, message) {
navigator.mediaDevices.getUserMedia({video: true})
.then(get_user_media_success, get_user_media_error);
}}
class="ae_btn__allow_camera btn btn-sm variant-soft-primary"
class="ae_btn__allow_camera btn btn-sm preset-tonal-primary"
>
<span class="fas fa-camera mx-1"></span>
Allow Camera Access
@@ -500,7 +500,7 @@ function send_init_confirm_email(subject, message) {
// Select back camera or fail with `OverconstrainedError`.
// html5_qr_code.start({ facingMode: { exact: "environment"} }, config, qrCodeSuccessCallback);
}}
class="ae_btn__start btn btn-sm variant-soft-primary"
class="ae_btn__start btn btn-sm preset-tonal-primary"
>
<span class="fas fa-qrcode mx-1"></span>
Start Scanning
@@ -511,14 +511,14 @@ function send_init_confirm_email(subject, message) {
// Select back camera or fail with `OverconstrainedError`.
html5_qr_code.start({ facingMode: { exact: "environment"} }, config, qrCodeSuccessCallback);
}}
class="ae_btn__resume btn btn-sm variant-soft-primary">
class="ae_btn__resume btn btn-sm preset-tonal-primary">
<span class="fas fa-play"></span>
Resume
</button>
<button
on:click={handle_stop_qr_scanning}
class="ae_btn__stop btn btn-sm variant-soft-secondary"
class="ae_btn__stop btn btn-sm preset-tonal-secondary"
>
<span class="fas fa-crosshairs fa-spin opacity-50 m-1"></span>
<!-- <span class="fas fa-stop-circle m-1"></span> -->
@@ -535,7 +535,7 @@ function send_init_confirm_email(subject, message) {
{#if show_qr_manual_entry}
<label for="entered_text" class="">Enter text</label>
<input type="text" name="entered_text" id="entered_text" bind:value="{qr_entered_text}">
<button on:click={handle_qr_manual_entry} class="btn btn-md variant-soft-warning"><span class="fas fa-paper-plane"></span> Submit Text</button>
<button on:click={handle_qr_manual_entry} class="btn btn-md preset-tonal-warning"><span class="fas fa-paper-plane"></span> Submit Text</button>
<div class="search_by_text">
@@ -543,7 +543,7 @@ function send_init_confirm_email(subject, message) {
</div>
{:else}
<button on:click={() => show_qr_manual_entry=true} class="btn btn-md variant-soft-warning"><span class="fas fa-keyboard"></span> Enter Text</button>
<button on:click={() => show_qr_manual_entry=true} class="btn btn-md preset-tonal-warning"><span class="fas fa-keyboard"></span> Enter Text</button>
{/if}
</div>
{/if}
@@ -570,7 +570,7 @@ function send_init_confirm_email(subject, message) {
type="submit"
on:click={handle_qr_manual_entry}
disabled={disable_submit_badge_id_btn}
class="btn btn-md variant-ghost-primary m-1"
class="btn btn-md preset-tonal-primary border border-primary-500 m-1"
class:btn_default={disable_submit_badge_id_btn}
class:btn_primary={!disable_submit_badge_id_btn}
>
@@ -579,7 +579,7 @@ function send_init_confirm_email(subject, message) {
</form>
{:else}
<button on:click={() => show_qr_manual_entry=true} class="btn btn-md variant-soft-secondary m-1"><span class="fas fa-keyboard mx-1"></span> Enter Badge ID</button>
<button on:click={() => show_qr_manual_entry=true} class="btn btn-md preset-tonal-secondary m-1"><span class="fas fa-keyboard mx-1"></span> Enter Badge ID</button>
{/if}
</div>
{/if}

View File

@@ -360,7 +360,7 @@ function send_init_confirm_email(subject, message) {
navigator.mediaDevices.getUserMedia({video: true})
.then(get_user_media_success, get_user_media_error);
}}
class="ae_btn__allow_camera btn btn-sm variant-soft-primary"
class="ae_btn__allow_camera btn btn-sm preset-tonal-primary"
>
<span class="fas fa-camera mx-1"></span>
Allow Camera Access
@@ -373,7 +373,7 @@ function send_init_confirm_email(subject, message) {
// Select back camera or fail with `OverconstrainedError`.
// html5_qr_code.start({ facingMode: { exact: "environment"} }, config, qrCodeSuccessCallback);
}}
class="ae_btn__start btn btn-sm variant-soft-primary"
class="ae_btn__start btn btn-sm preset-tonal-primary"
>
<span class="fas fa-qrcode mx-1"></span>
Start Scanning
@@ -391,7 +391,7 @@ function send_init_confirm_email(subject, message) {
{#if (scanning_status == 'scanning')}
<button
on:click={handle_stop_qr_scanning}
class="ae_btn__stop btn btn-sm variant-soft-secondary"
class="ae_btn__stop btn btn-sm preset-tonal-secondary"
>
<span class="fas fa-crosshairs fa-spin opacity-50 m-1"></span>
<!-- <span class="fas fa-stop-circle m-1"></span> -->
@@ -409,7 +409,7 @@ function send_init_confirm_email(subject, message) {
{#if show_qr_manual_entry}
<label for="entered_text" class="">Enter text</label>
<input type="text" name="entered_text" id="entered_text" bind:value="{qr_entered_text}">
<button on:click={handle_qr_manual_entry} class="btn btn-md variant-soft-warning"><span class="fas fa-paper-plane"></span> Submit Text</button>
<button on:click={handle_qr_manual_entry} class="btn btn-md preset-tonal-warning"><span class="fas fa-paper-plane"></span> Submit Text</button>
<div class="search_by_text">
@@ -421,7 +421,7 @@ function send_init_confirm_email(subject, message) {
handle_stop_qr_scanning();
show_qr_manual_entry=true;
}}
class="btn btn-md variant-soft-warning m-1"
class="btn btn-md preset-tonal-warning m-1"
>
<span class="fas fa-keyboard mx-1"></span> Enter Text
</button>
@@ -451,7 +451,7 @@ function send_init_confirm_email(subject, message) {
type="submit"
on:click={handle_qr_manual_entry}
disabled={disable_submit_badge_id_btn}
class="btn btn-md variant-ghost-primary m-1"
class="btn btn-md preset-tonal-primary border border-primary-500 m-1"
class:btn_default={disable_submit_badge_id_btn}
class:btn_primary={!disable_submit_badge_id_btn}
>
@@ -464,7 +464,7 @@ function send_init_confirm_email(subject, message) {
handle_stop_qr_scanning();
show_qr_manual_entry=true;
}}
class="btn btn-md variant-soft-secondary m-1"
class="btn btn-md preset-tonal-secondary m-1"
>
<span class="fas fa-keyboard mx-1"></span> Enter Badge ID
</button>

View File

@@ -106,7 +106,7 @@ async function handle_run_sql(qry, data, as_list=false, log_lvl=0) {
on:click={async () => {
sql_qry_result = await handle_run_sql(sql_statement, sql_data, as_list, log_lvl);
}}
class="btn btn-md variant-soft-primary hover:variant-ghost-primary"
class="btn btn-md preset-tonal-primary hover:preset-tonal-primary border border-primary-500"
>
{button_label}
</button>
@@ -123,7 +123,7 @@ async function handle_run_sql(qry, data, as_list=false, log_lvl=0) {
Getting results...
{:then}
{#if sql_qry_result && sql_qry_result.length}
<table class="table table-compact table-bordered table-striped table-hover min-w-min sql_qry_result text-xs">
<table class="table table-compact table-bordered table-striped min-w-min sql_qry_result text-xs">
<Element_obj_tbl_row row_header={true} obj={sql_qry_result[0]} primary_obj_li_type='' />
{#each sql_qry_result as record}
<Element_obj_tbl_row obj={record} primary_obj_li_type='' />

View File

@@ -135,13 +135,13 @@ let mouse_leave_wait: number = 2000;
/>
</div>
<style lang="scss">
<style lang="css">
/*
// :global(.ProseMirror) {
// padding: .25em;
// }
*/
:global(.ProseMirror-focused) {
// padding: .25em;
// box-shadow: 0 0 0 2px hsla(208, 99%, 55%, .1);
outline: none;
}

View File

@@ -238,9 +238,9 @@ function handle_send_ws_data() {
on:click={() => {
hide__ws_form = !hide__ws_form;
}}
class="btn btn-sm text-xs hover:variant-filled-tertiary"
class:variant-soft-tertiary={hide__ws_form}
class:variant-filled-tertiary={!hide__ws_form}
class="btn btn-sm text-xs hover:preset-filled-tertiary-500"
class:preset-tonal-tertiary={hide__ws_form}
class:preset-filled-tertiary-500={!hide__ws_form}
>
{#if hide__ws_form}
Show Form
@@ -253,9 +253,9 @@ function handle_send_ws_data() {
on:click={() => {
hide__ws_messages = !hide__ws_messages;
}}
class="btn btn-sm text-xs hover:variant-filled-tertiary"
class:variant-soft-tertiary={hide__ws_messages}
class:variant-filled-tertiary={!hide__ws_messages}
class="btn btn-sm text-xs hover:preset-filled-tertiary-500"
class:preset-tonal-tertiary={hide__ws_messages}
class:preset-filled-tertiary-500={!hide__ws_messages}
>
{#if hide__ws_messages}
Show Messages
@@ -268,9 +268,9 @@ function handle_send_ws_data() {
on:click={() => {
hide__ws_commands = !hide__ws_commands;
}}
class="btn btn-sm text-xs hover:variant-filled-tertiary"
class:variant-soft-tertiary={hide__ws_commands}
class:variant-filled-tertiary={!hide__ws_commands}
class="btn btn-sm text-xs hover:preset-filled-tertiary-500"
class:preset-tonal-tertiary={hide__ws_commands}
class:preset-filled-tertiary-500={!hide__ws_commands}
>
{#if hide__ws_commands}
Show Commands
@@ -282,7 +282,7 @@ function handle_send_ws_data() {
<header>
<h1 class="h6 text-center">Websocket Messages &amp; Commands</h1>
<h1 class="h6 text-center">Websocket Messages & Commands</h1>
</header>
@@ -339,7 +339,7 @@ function handle_send_ws_data() {
<button
type="submit"
class="btn btn-sm variant-soft-warning"
class="btn btn-sm preset-tonal-warning"
>Send Group</button>
</form>
{/if}
@@ -368,7 +368,7 @@ ae_open:event_file=Kljq0uiTlXt (video)
<span>
[{(msg_entry.group_id||'No Group ID')}]
{(msg_entry.client_id.toString().slice(-5)||'No Client ID')}
&ndash;
{(msg_entry.target||'No Target')}
|
<!-- &ndash; -->
@@ -402,7 +402,7 @@ ae_open:event_file=Kljq0uiTlXt (video)
<span>
[{(cmd_entry.group_id||'No Group ID')}]
{(cmd_entry.client_id.toString().slice(-5)||'No Client ID')}
&mdash;
{(cmd_entry.target||'No Target')}
|
<!-- &mdash; -->