diff --git a/package-lock.json b/package-lock.json index 946e2c4d..f65be49a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -81,7 +81,7 @@ "svelte-tiptap": "^2.1.0", "tailwind-merge": "^2.5.5", "tailwind-variants": "^0.3.0", - "tailwindcss": "^3.4.10", + "tailwindcss": "^3.4.15", "tailwindcss-animate": "^1.0.7", "tslib": "^2.4.1", "typescript": "^5.0.0", diff --git a/package.json b/package.json index 6f17c5bc..f23c2f56 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "svelte-tiptap": "^2.1.0", "tailwind-merge": "^2.5.5", "tailwind-variants": "^0.3.0", - "tailwindcss": "^3.4.10", + "tailwindcss": "^3.4.15", "tailwindcss-animate": "^1.0.7", "tslib": "^2.4.1", "typescript": "^5.0.0", diff --git a/src/app.css b/src/app.css deleted file mode 100644 index f6165547..00000000 --- a/src/app.css +++ /dev/null @@ -1,461 +0,0 @@ -@tailwind base; -@tailwind components; -@tailwind utilities; -@tailwind variants; - -@layer base { - :root { - --background: 0 0% 100%; - --foreground: 224 71.4% 4.1%; - --muted: 220 14.3% 95.9%; - --muted-foreground: 220 8.9% 46.1%; - --popover: 0 0% 100%; - --popover-foreground: 224 71.4% 4.1%; - --card: 0 0% 100%; - --card-foreground: 224 71.4% 4.1%; - --border: 220 13% 91%; - --input: 220 13% 91%; - --primary: 220.9 39.3% 11%; - --primary-foreground: 210 20% 98%; - --secondary: 220 14.3% 95.9%; - --secondary-foreground: 220.9 39.3% 11%; - --accent: 220 14.3% 95.9%; - --accent-foreground: 220.9 39.3% 11%; - --destructive: 0 72.2% 50.6%; - --destructive-foreground: 210 20% 98%; - --ring: 224 71.4% 4.1%; - --radius: 0.5rem; - --sidebar-background: 0 0% 98%; - --sidebar-foreground: 240 5.3% 26.1%; - --sidebar-primary: 240 5.9% 10%; - --sidebar-primary-foreground: 0 0% 98%; - --sidebar-accent: 240 4.8% 95.9%; - --sidebar-accent-foreground: 240 5.9% 10%; - --sidebar-border: 220 13% 91%; - --sidebar-ring: 217.2 91.2% 59.8%; - } - - .dark { - --background: 224 71.4% 4.1%; - --foreground: 210 20% 98%; - --muted: 215 27.9% 16.9%; - --muted-foreground: 217.9 10.6% 64.9%; - --popover: 224 71.4% 4.1%; - --popover-foreground: 210 20% 98%; - --card: 224 71.4% 4.1%; - --card-foreground: 210 20% 98%; - --border: 215 27.9% 16.9%; - --input: 215 27.9% 16.9%; - --primary: 210 20% 98%; - --primary-foreground: 220.9 39.3% 11%; - --secondary: 215 27.9% 16.9%; - --secondary-foreground: 210 20% 98%; - --accent: 215 27.9% 16.9%; - --accent-foreground: 210 20% 98%; - --destructive: 0 62.8% 30.6%; - --destructive-foreground: 210 20% 98%; - --ring: 216 12.2% 83.9%; - --sidebar-background: 240 5.9% 10%; - --sidebar-foreground: 240 4.8% 95.9%; - --sidebar-primary: 224.3 76.3% 48%; - --sidebar-primary-foreground: 0 0% 100%; - --sidebar-accent: 240 3.7% 15.9%; - --sidebar-accent-foreground: 240 4.8% 95.9%; - --sidebar-border: 240 3.7% 15.9%; - --sidebar-ring: 217.2 91.2% 59.8%; - } -} - -@layer base { - * { - @apply border-border; - } - body { - @apply bg-background text-foreground; - } -} - - - - -/* There are no more Tailwind layers. */ - -html, -body { - @apply h-full overflow-hidden; - - /* font-family: 'Liberation Sans', sans-serif; */ - /* font-family: 'Noto Sans', sans-serif; */ -} - -html.super_access #appShell { - background-color: hsla(0, 100%, 50%, 0.5); -} - -html.manager_access #appShell { - background-color: hsla(0, 50%, 75%, 0.5); -} -html.administrator_access #appShell { - background-color: hsla(40, 50%, 85%, 0.5); -} -html.trusted_access #appShell { - background-color: hsla(20, 50%, 85%, 0.25); -} - -/* default theme */ -/* @font-face { - font-family: 'Liberation Sans', sans-serif; - font-family: 'Noto Sans', sans-serif; - src: url('/fonts/liberation/LiberationSans-Regular.ttf'); - src: url('/fonts/noto/NotoSans-Regular.ttf'); - font-display: swap; -} */ - -/* modern theme */ -@font-face { - font-family: 'Quicksand'; - src: url('/fonts/Quicksand.ttf'); - font-display: swap; -} - -/* :root [data-theme='modern'] { */ - /* --theme-rounded-base: 20px; - --theme-rounded-container: 4px; */ - - /* --theme-font-family-base: 'Liberation Sans', sans-serif; */ - /* --theme-font-family-heading: 'Liberation Sans', sans-serif; */ -/* } */ - -.card-footer { - border-top: 1px solid hsla(0, 0%, 0%, 0.5); - margin-top: 1em; - padding-top: 1em; - - opacity: .5; -} - - -/* Tailwind: This "fixes" Tailwind's default group button styles that do not seem to allow hidding buttons. */ -.btn-group a.hidden, .btn-group button.hidden { - display: none; -} - - -.ae_d_none { - display: none; -} - - -/* Allow content to scroll horizontal if too wide */ -.ae_h_scrollfix { - max-width: 100%; - overflow-x: auto; -} - -/* These helps with the Skeleton Tailwind modal utility. */ -.ae_modal_scrollfix { - /* Allow modal content to scroll if it's too long */ - overflow-y: auto; - max-height: 96vh; - /* max-height: 99%; */ - -} - -.ae_debug { - /* A darker pink outline */ - outline: thin dashed; - outline-color: hsla(0, 100%, 50%, 0.15); - /* A light pink background color */ - background-color: hsla(0, 100%, 50%, 0.15); -} -.ae_debug:hover { - /* A darker pink outline */ - outline-color: hsla(0, 100%, 50%, 0.50); - /* A light pink background color */ - background-color: hsla(0, 100%, 50%, 0.40); -} - - -/* Deal with being in an iframe */ -#appShell #shell-header.iframe { - display: none; -} - -#appShell #shell-footer.iframe { - display: none; -} - -/* Remove the background from the body in all cases */ -/* body[data-theme] { */ - /* background: none; */ - /* background-image: none; */ -/* } */ - -/* Remove the background from the body if using iframes */ -/* body[data-theme]:has(#page.iframe) { */ - /* background: none; */ - /* background-image: none; */ - /* background-image: url('https://static.oneskyit.com/c/CHOW/images/CHOW_2024_yellow_background.png'); */ - /* background-size: cover; */ -/* } */ - -main { - /* background: none; - background-color: hsla(0, 0%, 100%, 0.92); */ -} - -main>section { - background: none; - background-color: hsla(0, 0%, 100%, 0.92); - padding: .5em; -} - -/* @media (min-width: 640px) { - main>div, main>section { - padding: 0; - max-width: 100%; - } -} */ - -/* @media (min-width: 768px) { - main>div, main>section { - padding: 0; - max-width: 100%; - } -} */ - -.ae_sponsorships { - /* background: none; */ - /* background-color: hsla(0, 0%, 100%, 0.92); */ - /* background-image: url('https://static.oneskyit.com/c/CHOW/images/CHOW_2024_yellow_background.png'); */ - /* background-size: cover; */ -} - -pre.pre_wrap { - white-space: pre-wrap; - word-break: normal; - word-wrap: normal; - - border: none; - - max-width: 100%; - overflow-x: auto; -} - - -input.required { - /* border-right: solid medium var(--color-warning-500); */ - /* color: var(--color-warning-500); */ -} - -input:required { - /* background-color: var(--alert-color-lightest); */ - /* border: solid 2px red; */ - /* outline: dashed thin var(--alert-color-lighter); */ - - /* border-right: solid medium var(--alert-color-mid); */ - /* border-right: solid medium var(--warning-color-mid); */ - /* border-right: solid medium var(--error-color-mid); */ -} -/* input:required:hover { - background-color: var(--alert-color-lighter); - border-right: solid thick var(--alert-color-darker); -} */ - -/* input:required::before { - display: block; - - content: '*'; - color: var(--warning-color-darker); - - top: 5px; - left: 5px; -} */ - -.input_required::after { - content: '*'; - color: rgb(var(--color-error-500) / 0.9); - - position: relative; - /* top: 0em; */ - left: .25em; -} - -/* Make the group a flex row by default */ -/* div.btn-group { */ - /* display: flex; */ - /* gap: 0; */ - /* flex-direction: row; */ - /* justify-content: space-around; */ - /* align-items: center; */ - /* margin: 0; - padding: 0; */ - -/* } */ -/* Make all button elements except for the the first button element not rounded on the left. */ -/* Make all button elements except for the fhe last button element not rounded on the right. */ -/* These helps with the Skeleton (Tailwind?) button group element. */ -.btn-group button { - border-radius: 0; - border: none; -} - -/* .md:btn-group button, -.lg:btn-group button { - border-radius: 0; - border: none; -} */ - -/* div.btn-group button:first-child { - border-top-left-radius: .25rem; - border-bottom-left-radius: .25rem; -} -div.btn-group button:last-child { - border-top-right-radius: .25rem; - border-bottom-right-radius: .25rem; -} */ - -.ae_obj_prop .label { - -} - -.ae_obj_prop .value { - font-weight: bold; -} - - -.ae_md_hide { - /* outline: medium dashed green; */ - /* display: none; */ - -} - -@media (max-width: 767px) { - .ae_md_hide { - /* outline: medium dashed red; */ - display: none; - } -} -@media (min-width: 768px) { - .ae_lg_hide { - /* outline: medium dashed blue; */ - display: none; - } -} - - - - -/* Use the div.ae_quick_modal_container to block background clicks when using the section.ae_quick_popover. */ -div.ae_quick_modal_container { - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; - z-index: 100; - background-color: hsla(0, 0%, 0%, .5); -} - -/* The section.ae_quick_popover should be above the rest of the content and centered on the page. */ -section.ae_quick_popover { - position: fixed; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - z-index: 100; - background-color: hsla(0, 0%, 100%, .95); - padding: 1rem; - border-radius: .5rem; - box-shadow: 0 0 1rem hsla(0, 0%, 0%, .5); - - min-height: 98%; - min-width: 98%; -} - -section.ae_quick_popover_small { - position: fixed; - top: 1em; - left: 50%; - transform: translate(-50%, 0%); - z-index: 100; - background-color: hsla(0, 0%, 100%, .95); - padding: 1rem; - border-radius: .5rem; - box-shadow: 0 0 1rem hsla(0, 0%, 0%, .5); - - min-height: 24rem; - max-height: 95%; - min-width: 50%; - max-width: 95%; -} - - -.fade_50 { - opacity: 0.5; -} -.fade_50:hover { - opacity: 1; -} - - -.auth_view_only { - display: none; -} -.ae_root--auth_access .auth_view_only { - display: initial; -} - - - -img.qr_code { - /* outline: solid thin hsla(30, 100%, 50%, .1); */ - /* width: 1.50in; */ -} - -img.qr_code:hover { - /* outline: solid thin green; */ - /* width: 2.50in; */ -} - -img.qr_code:focus { - /* outline: solid thin red; */ - /* width: 2.50in; */ -} - - -.dim { - opacity: 0.5; - color: hsla(0, 0%, 50%, .95); -} -.dim_warning { - opacity: 0.5; - /* color: hsla(0, 100%, 50%, .95); */ - /* background should be hash marks */ - background-image: repeating-linear-gradient(-45deg, hsla(0, 100%, 50%, .25), hsla(0, 100%, 50%, .25) 10px, transparent 10px, transparent 20px); -} - - -@media (max-width: 767px) { - .sk_header.hide_sm { - display: none; - } - .sk_header.show_sm { - display: initial; - } - .sk_header.show_md { - display: none; - } -} - -@media (min-width: 768px) { - .sk_header.hide_md { - display: none; - } - .sk_header.show_md { - display: initial; - } - .sk_header.show_sm { - display: none; - } -} diff --git a/src/app.postcss b/src/app.postcss index 9631e131..37f6b98f 100644 --- a/src/app.postcss +++ b/src/app.postcss @@ -73,4 +73,389 @@ body { @apply bg-background text-foreground; } -} \ No newline at end of file +} + + + + +/* There are no more Tailwind layers. */ + +html, +body { + @apply h-full overflow-hidden; + + /* font-family: 'Liberation Sans', sans-serif; */ + /* font-family: 'Noto Sans', sans-serif; */ +} + +html.super_access #appShell { + background-color: hsla(0, 100%, 50%, 0.5); +} + +html.manager_access #appShell { + background-color: hsla(0, 50%, 75%, 0.5); +} +html.administrator_access #appShell { + background-color: hsla(40, 50%, 85%, 0.25); +} +html.trusted_access #appShell { + background-color: hsla(20, 50%, 85%, 0.25); +} + +/* default theme */ +/* @font-face { + font-family: 'Liberation Sans', sans-serif; + font-family: 'Noto Sans', sans-serif; + src: url('/fonts/liberation/LiberationSans-Regular.ttf'); + src: url('/fonts/noto/NotoSans-Regular.ttf'); + font-display: swap; +} */ + +/* modern theme */ +@font-face { + font-family: 'Quicksand'; + src: url('/fonts/Quicksand.ttf'); + font-display: swap; +} + +/* :root [data-theme='modern'] { */ + /* --theme-rounded-base: 20px; + --theme-rounded-container: 4px; */ + + /* --theme-font-family-base: 'Liberation Sans', sans-serif; */ + /* --theme-font-family-heading: 'Liberation Sans', sans-serif; */ +/* } */ + +.card-footer { + border-top: 1px solid hsla(0, 0%, 0%, 0.5); + margin-top: 1em; + padding-top: 1em; + + opacity: .5; +} + + +/* Tailwind: This "fixes" Tailwind's default group button styles that do not seem to allow hiding buttons. */ +.btn-group a.hidden, .btn-group button.hidden { + display: none; +} + + +.ae_d_none { + display: none; +} + + +/* Allow content to scroll horizontal if too wide */ +.ae_h_scrollfix { + max-width: 100%; + overflow-x: auto; +} + +/* These helps with the Skeleton Tailwind modal utility. */ +.ae_modal_scrollfix { + /* Allow modal content to scroll if it's too long */ + overflow-y: auto; + max-height: 96vh; + /* max-height: 99%; */ + +} + +.ae_debug { + /* A darker pink outline */ + outline: thin dashed; + outline-color: hsla(0, 100%, 50%, 0.15); + /* A light pink background color */ + background-color: hsla(0, 100%, 50%, 0.15); +} +.ae_debug:hover { + /* A darker pink outline */ + outline-color: hsla(0, 100%, 50%, 0.50); + /* A light pink background color */ + background-color: hsla(0, 100%, 50%, 0.40); +} + + +/* Deal with being in an iframe */ +#appShell #shell-header.iframe { + display: none; +} + +#appShell #shell-footer.iframe { + display: none; +} + +/* Remove the background from the body in all cases */ +/* body[data-theme] { */ + /* background: none; */ + /* background-image: none; */ +/* } */ + +/* Remove the background from the body if using iframes */ +/* body[data-theme]:has(#page.iframe) { */ + /* background: none; */ + /* background-image: none; */ + /* background-image: url('https://static.oneskyit.com/c/CHOW/images/CHOW_2024_yellow_background.png'); */ + /* background-size: cover; */ +/* } */ + +main { + /* background: none; + background-color: hsla(0, 0%, 100%, 0.92); */ +} + +main>section { + background: none; + background-color: hsla(0, 0%, 100%, 0.92); + padding: .5em; +} + +/* @media (min-width: 640px) { + main>div, main>section { + padding: 0; + max-width: 100%; + } +} */ + +/* @media (min-width: 768px) { + main>div, main>section { + padding: 0; + max-width: 100%; + } +} */ + +.ae_sponsorships { + /* background: none; */ + /* background-color: hsla(0, 0%, 100%, 0.92); */ + /* background-image: url('https://static.oneskyit.com/c/CHOW/images/CHOW_2024_yellow_background.png'); */ + /* background-size: cover; */ +} + +pre.pre_wrap { + white-space: pre-wrap; + word-break: normal; + word-wrap: normal; + + border: none; + + max-width: 100%; + overflow-x: auto; +} + + +input.required { + /* border-right: solid medium var(--color-warning-500); */ + /* color: var(--color-warning-500); */ +} + +input:required { + /* background-color: var(--alert-color-lightest); */ + /* border: solid 2px red; */ + /* outline: dashed thin var(--alert-color-lighter); */ + + /* border-right: solid medium var(--alert-color-mid); */ + /* border-right: solid medium var(--warning-color-mid); */ + /* border-right: solid medium var(--error-color-mid); */ +} +/* input:required:hover { + background-color: var(--alert-color-lighter); + border-right: solid thick var(--alert-color-darker); +} */ + +/* input:required::before { + display: block; + + content: '*'; + color: var(--warning-color-darker); + + top: 5px; + left: 5px; +} */ + +.input_required::after { + content: '*'; + color: rgb(var(--color-error-500) / 0.9); + + position: relative; + /* top: 0em; */ + left: .25em; +} + +/* Make the group a flex row by default */ +/* div.btn-group { */ + /* display: flex; */ + /* gap: 0; */ + /* flex-direction: row; */ + /* justify-content: space-around; */ + /* align-items: center; */ + /* margin: 0; + padding: 0; */ + +/* } */ +/* Make all button elements except for the the first button element not rounded on the left. */ +/* Make all button elements except for the fhe last button element not rounded on the right. */ +/* These helps with the Skeleton (Tailwind?) button group element. */ +.btn-group button { + border-radius: 0; + border: none; +} + +/* .md:btn-group button, +.lg:btn-group button { + border-radius: 0; + border: none; +} */ + +/* div.btn-group button:first-child { + border-top-left-radius: .25rem; + border-bottom-left-radius: .25rem; +} +div.btn-group button:last-child { + border-top-right-radius: .25rem; + border-bottom-right-radius: .25rem; +} */ + +.ae_obj_prop .label { + +} + +.ae_obj_prop .value { + font-weight: bold; +} + + +.ae_md_hide { + /* outline: medium dashed green; */ + /* display: none; */ + +} + +@media (max-width: 767px) { + .ae_md_hide { + /* outline: medium dashed red; */ + display: none; + } +} +@media (min-width: 768px) { + .ae_lg_hide { + /* outline: medium dashed blue; */ + display: none; + } +} + + + + +/* Use the div.ae_quick_modal_container to block background clicks when using the section.ae_quick_popover. */ +div.ae_quick_modal_container { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 100; + background-color: hsla(0, 0%, 0%, .5); +} + +/* The section.ae_quick_popover should be above the rest of the content and centered on the page. */ +section.ae_quick_popover { + position: fixed; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + z-index: 100; + background-color: hsla(0, 0%, 100%, .95); + padding: 1rem; + border-radius: .5rem; + box-shadow: 0 0 1rem hsla(0, 0%, 0%, .5); + + min-height: 98%; + min-width: 98%; +} + +section.ae_quick_popover_small { + position: fixed; + top: 1em; + left: 50%; + transform: translate(-50%, 0%); + z-index: 100; + background-color: hsla(0, 0%, 100%, .95); + padding: 1rem; + border-radius: .5rem; + box-shadow: 0 0 1rem hsla(0, 0%, 0%, .5); + + min-height: 24rem; + max-height: 95%; + min-width: 50%; + max-width: 95%; +} + + +.fade_50 { + opacity: 0.5; +} +.fade_50:hover { + opacity: 1; +} + + +.auth_view_only { + display: none; +} +.ae_root--auth_access .auth_view_only { + display: initial; +} + + + +img.qr_code { + /* outline: solid thin hsla(30, 100%, 50%, .1); */ + /* width: 1.50in; */ +} + +img.qr_code:hover { + /* outline: solid thin green; */ + /* width: 2.50in; */ +} + +img.qr_code:focus { + /* outline: solid thin red; */ + /* width: 2.50in; */ +} + + +.dim { + opacity: 0.5; + color: hsla(0, 0%, 50%, .95); +} +.dim_warning { + opacity: 0.5; + /* color: hsla(0, 100%, 50%, .95); */ + /* background should be hash marks */ + background-image: repeating-linear-gradient(-45deg, hsla(0, 100%, 50%, .25), hsla(0, 100%, 50%, .25) 10px, transparent 10px, transparent 20px); +} + + +@media (max-width: 767px) { + .sk_header.hide_sm { + display: none; + } + .sk_header.show_sm { + display: initial; + } + .sk_header.show_md { + display: none; + } +} + +@media (min-width: 768px) { + .sk_header.hide_md { + display: none; + } + .sk_header.show_md { + display: initial; + } + .sk_header.show_sm { + display: none; + } +} diff --git a/src/lib/element_tiptap_editor.svelte b/src/lib/element_tiptap_editor.svelte index 4bf22dbd..8c86f51e 100644 --- a/src/lib/element_tiptap_editor.svelte +++ b/src/lib/element_tiptap_editor.svelte @@ -7,29 +7,29 @@ import ShadEditor from '$lib/components/shad-editor/shad-editor.svelte'; // Import Tiptap related modules -import { Editor } from "@tiptap/core"; -import StarterKit from "@tiptap/starter-kit"; -import Bold from '@tiptap/extension-bold'; -import BulletList from '@tiptap/extension-bullet-list'; -import CodeBlock from '@tiptap/extension-code-block'; -import Code from '@tiptap/extension-code'; -import Color from '@tiptap/extension-color'; -import Document from '@tiptap/extension-document'; -import Heading from '@tiptap/extension-heading'; -import Highlight from '@tiptap/extension-highlight'; -import History from '@tiptap/extension-history'; -import Italic from '@tiptap/extension-italic'; -import Link from '@tiptap/extension-link'; -import ListItem from '@tiptap/extension-list-item'; -import OrderedList from '@tiptap/extension-ordered-list'; -import Paragraph from '@tiptap/extension-paragraph'; -import Strike from '@tiptap/extension-strike'; -import Text from '@tiptap/extension-text'; -import TextStyle from '@tiptap/extension-text-style'; -import Typography from '@tiptap/extension-typography'; -import Underline from '@tiptap/extension-underline'; +// import { Editor } from "@tiptap/core"; +// import StarterKit from "@tiptap/starter-kit"; +// import Bold from '@tiptap/extension-bold'; +// import BulletList from '@tiptap/extension-bullet-list'; +// import CodeBlock from '@tiptap/extension-code-block'; +// import Code from '@tiptap/extension-code'; +// import Color from '@tiptap/extension-color'; +// import Document from '@tiptap/extension-document'; +// import Heading from '@tiptap/extension-heading'; +// import Highlight from '@tiptap/extension-highlight'; +// import History from '@tiptap/extension-history'; +// import Italic from '@tiptap/extension-italic'; +// import Link from '@tiptap/extension-link'; +// import ListItem from '@tiptap/extension-list-item'; +// import OrderedList from '@tiptap/extension-ordered-list'; +// import Paragraph from '@tiptap/extension-paragraph'; +// import Strike from '@tiptap/extension-strike'; +// import Text from '@tiptap/extension-text'; +// import TextStyle from '@tiptap/extension-text-style'; +// import Typography from '@tiptap/extension-typography'; +// import Underline from '@tiptap/extension-underline'; -import "./element_tiptap_editor.scss"; +import './element_tiptap_editor.scss'; // https://tiptap.dev/docs/examples/basics/default-text-editor // https://tiptap.dev/docs/examples/basics/formatting @@ -120,129 +120,11 @@ if (show_button_kv) { export let new_html: string = ''; onMount(() => { - editor = new Editor({ - // element: element, - // extensions: [ - // // StarterKit, - // Bold, // part of StarterKit - // Code, // part of StarterKit - // CodeBlock, // part of StarterKit - // Italic, // part of StarterKit - // Strike, // part of StarterKit - // Underline, // part of StarterKit - // BulletList, // part of StarterKit - // // Color.configure({ types: [TextStyle.name, ListItem.name] }), - // // TextStyle.configure({ types: [ListItem.name] }), - // // Heading.configure({ levels: [1, 2, 3, 4, 5, 6] }), - // Highlight, - // History.configure({ - // depth: 100, - // newGroupDelay: 500 - // }), - // Link.configure({ - // openOnClick: false, - // autolink: true, - // defaultProtocol: 'https', - // protocols: ['http', 'https'], - // isAllowedUri: (url, ctx) => { - // try { - // // construct URL - // const parsedUrl = url.includes(':') ? new URL(url) : new URL(`${ctx.defaultProtocol}://${url}`) - - // // use default validation - // if (!ctx.defaultValidate(parsedUrl.href)) { - // return false - // } - - // // disallowed protocols - // const disallowedProtocols = ['ftp', 'file', 'mailto'] - // const protocol = parsedUrl.protocol.replace(':', '') - - // if (disallowedProtocols.includes(protocol)) { - // return false - // } - - // // only allow protocols specified in ctx.protocols - // const allowedProtocols = ctx.protocols.map(p => (typeof p === 'string' ? p : p.scheme)) - - // if (!allowedProtocols.includes(protocol)) { - // return false - // } - - // // disallowed domains - // const disallowedDomains = ['example-phishing.com', 'malicious-site.net'] - // const domain = parsedUrl.hostname - - // if (disallowedDomains.includes(domain)) { - // return false - // } - - // // all checks have passed - // return true - // } catch (error) { - // return false - // } - // }, - // shouldAutoLink: url => { - // try { - // // construct URL - // const parsedUrl = url.includes(':') ? new URL(url) : new URL(`https://${url}`) - - // // only auto-link if the domain is not in the disallowed list - // const disallowedDomains = ['example-no-autolink.com', 'another-no-autolink.com'] - // const domain = parsedUrl.hostname - - // return !disallowedDomains.includes(domain) - // } catch (error) { - // return false - // } - // }, - // }), - // ListItem, - // Document, - // OrderedList, // part of StarterKit - // Paragraph, - // Text, - // Typography, - // ], - // content: html_text, - // onTransaction: ({ editor, transaction }) => { - // // console.log('onTransaction'); - // // force re-render so `editor.isActive` works as expected - // // editor = editor; - - // // let updated_html = editor.getHTML(); - // // if (updated_html == '

') { - // // new_html = ''; - // // } else { - // // new_html = updated_html; - // // } - // }, - // onUpdate: ({ editor }) => { - // // console.log('onUpdate', editor.getHTML()); - // // let updated_html = editor.getHTML(); - // // if (updated_html == '

') { - // // new_html = ''; - // // } else { - // // new_html = updated_html; - // // } - // } - }); }); onDestroy(() => { - if (editor) { - editor.destroy(); - } }); -function getContent() { - if (editor) { - return editor.getHTML(); - } - return ''; -} - let mouse_entered_timer: any; let mouse_enter_wait: number = 500; let mouse_leave_wait: number = 2000; diff --git a/src/routes/idaa/(idaa)/bb/+page.svelte b/src/routes/idaa/(idaa)/bb/+page.svelte index 24fb5d22..8db16ee9 100644 --- a/src/routes/idaa/(idaa)/bb/+page.svelte +++ b/src/routes/idaa/(idaa)/bb/+page.svelte @@ -1,18 +1,20 @@