UNPKG

vue-libre-editor

Version:
1,381 lines (1,163 loc) 35 kB
/* Add some additional styles for better button feedback */ .vue-libre-editor-root button[data-v-2f778b9b] { transition: all 0.15s ease; appearance: button; text-transform: none; overflow: visible; font-family: inherit; font-size: 100%; line-height: 1.15; margin: 0; padding: 0; border: 0; cursor: pointer; } .vue-libre-editor-root button[data-v-2f778b9b]:focus { outline: none; } .vue-libre-editor-root button[data-v-2f778b9b]:hover { background-color: rgba(0, 0, 0, 0.05); } .vue-libre-editor-root button[data-v-2f778b9b]:active { transform: scale(0.97); } .vue-libre-editor-root .editor-button-active[data-v-2f778b9b] { font-weight: bold; } .vue-libre-editor-root button[data-v-b6c5bd51]:active { transform: scale(0.97); } .vue-libre-editor-root button[data-v-125c9b8f]:active { transform: scale(0.97); } .vue-libre-editor-root button[data-v-109255c1]:active { transform: scale(0.97); } .vue-libre-editor-root button[data-v-93a26b55]:active { transform: scale(0.97); } .vue-libre-editor-root button[data-v-86d5696c]:active { transform: scale(0.97); } /*! tailwindcss v4.1.10 | MIT License | https://tailwindcss.com */ @layer properties { @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) { .vue-libre-editor-root *, .vue-libre-editor-root :before, .vue-libre-editor-root :after, .vue-libre-editor-root ::backdrop { --tw-translate-x: 0; --tw-translate-y: 0; --tw-translate-z: 0; --tw-rotate-x: initial; --tw-rotate-y: initial; --tw-rotate-z: initial; --tw-skew-x: initial; --tw-skew-y: initial; --tw-space-x-reverse: 0; --tw-border-style: solid; --tw-font-weight: initial; --tw-shadow: 0 0 #0000; --tw-shadow-color: initial; --tw-shadow-alpha: 100%; --tw-inset-shadow: 0 0 #0000; --tw-inset-shadow-color: initial; --tw-inset-shadow-alpha: 100%; --tw-ring-color: initial; --tw-ring-shadow: 0 0 #0000; --tw-inset-ring-color: initial; --tw-inset-ring-shadow: 0 0 #0000; --tw-ring-inset: initial; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-outline-style: solid; --tw-blur: initial; --tw-brightness: initial; --tw-contrast: initial; --tw-grayscale: initial; --tw-hue-rotate: initial; --tw-invert: initial; --tw-opacity: initial; --tw-saturate: initial; --tw-sepia: initial; --tw-drop-shadow: initial; --tw-drop-shadow-color: initial; --tw-drop-shadow-alpha: 100%; --tw-drop-shadow-size: initial; } } } @layer theme { .vue-libre-editor-root .:root, .vue-libre-editor-root :host { --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --color-gray-50: oklch(98.5% .002 247.839); --color-gray-100: oklch(96.7% .003 264.542); --color-gray-300: oklch(87.2% .01 258.338); --color-gray-600: oklch(44.6% .03 256.802); --spacing: .25rem; --container-md: 28rem; --text-xs: .75rem; --text-xs--line-height: calc(1 / .75); --text-sm: .875rem; --text-sm--line-height: calc(1.25 / .875); --text-lg: 1.125rem; --text-lg--line-height: calc(1.75 / 1.125); --text-xl: 1.25rem; --text-xl--line-height: calc(1.75 / 1.25); --text-3xl: 1.875rem; --text-3xl--line-height: calc(2.25 / 1.875); --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --default-transition-duration: .15s; --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1); --default-mono-font-family: var(--font-mono); } } @layer base { .vue-libre-editor-root *, .vue-libre-editor-root :after, .vue-libre-editor-root :before, .vue-libre-editor-root ::backdrop { box-sizing: border-box; border: 0 solid; margin: 0; padding: 0; } .vue-libre-editor-root ::file-selector-button { box-sizing: border-box; border: 0 solid; margin: 0; padding: 0; } .vue-libre-editor-root .html, .vue-libre-editor-root :host { -webkit-text-size-adjust: 100%; tab-size: 4; font-feature-settings: normal; font-variation-settings: normal; -webkit-tap-highlight-color: transparent; font-family: ui-sans-serif, system-ui, sans-serif; line-height: 1.5; } .vue-libre-editor-root hr { height: 0; color: inherit; border-top-width: 1px; } .vue-libre-editor-root abbr:where([title]) { -webkit-text-decoration: underline dotted; text-decoration: underline dotted; } .vue-libre-editor-root h1, .vue-libre-editor-root h2, .vue-libre-editor-root h3, .vue-libre-editor-root h4, .vue-libre-editor-root h5, .vue-libre-editor-root h6 { font-size: inherit; font-weight: inherit; } .vue-libre-editor-root a { color: inherit; -webkit-text-decoration: inherit; -webkit-text-decoration: inherit; -webkit-text-decoration: inherit; text-decoration: inherit; } .vue-libre-editor-root b, .vue-libre-editor-root strong { font-weight: bolder; } .vue-libre-editor-root code, .vue-libre-editor-root kbd, .vue-libre-editor-root samp, .vue-libre-editor-root pre { font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace); font-feature-settings: var(--default-mono-font-feature-settings, normal); font-variation-settings: var(--default-mono-font-variation-settings, normal); font-size: 1em; } .vue-libre-editor-root small { font-size: 80%; } .vue-libre-editor-root sub, .vue-libre-editor-root sup { vertical-align: baseline; font-size: 75%; line-height: 0; position: relative; } .vue-libre-editor-root sub { bottom: -.25em; } .vue-libre-editor-root sup { top: -.5em; } .vue-libre-editor-root table { text-indent: 0; border-color: inherit; border-collapse: collapse; } .vue-libre-editor-root :-moz-focusring { outline: auto; } .vue-libre-editor-root progress { vertical-align: baseline; } .vue-libre-editor-root summary { display: list-item; } .vue-libre-editor-root ol, .vue-libre-editor-root ul, .vue-libre-editor-root menu { list-style: none; } .vue-libre-editor-root img, .vue-libre-editor-root svg, .vue-libre-editor-root video, .vue-libre-editor-root canvas, .vue-libre-editor-root audio, .vue-libre-editor-root iframe, .vue-libre-editor-root embed, .vue-libre-editor-root object { vertical-align: middle; display: block; } .vue-libre-editor-root img, .vue-libre-editor-root video { max-width: 100%; height: auto; } .vue-libre-editor-root button, .vue-libre-editor-root input, .vue-libre-editor-root select, .vue-libre-editor-root optgroup, .vue-libre-editor-root textarea { font: inherit; font-feature-settings: inherit; font-variation-settings: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: #0000; border-radius: 0; } .vue-libre-editor-root ::file-selector-button { font: inherit; font-feature-settings: inherit; font-variation-settings: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: #0000; border-radius: 0; } .vue-libre-editor-root :where(select:is([multiple], [size])) optgroup { font-weight: bolder; } .vue-libre-editor-root :where(select:is([multiple], [size])) optgroup option { padding-inline-start: 20px; } .vue-libre-editor-root ::file-selector-button { margin-inline-end: 4px; } .vue-libre-editor-root ::placeholder { opacity: 1; } @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) { .vue-libre-editor-root ::placeholder { color: currentColor; } @supports (color: color-mix(in lab, red, red)) { .vue-libre-editor-root ::placeholder { color: color-mix(in oklab, currentcolor 50%, transparent); } } } .vue-libre-editor-root textarea { resize: vertical; } .vue-libre-editor-root ::-webkit-search-decoration { -webkit-appearance: none; } .vue-libre-editor-root ::-webkit-date-and-time-value { min-height: 1lh; text-align: inherit; } .vue-libre-editor-root ::-webkit-datetime-edit { display: inline-flex; } .vue-libre-editor-root ::-webkit-datetime-edit-fields-wrapper { padding: 0; } .vue-libre-editor-root ::-webkit-datetime-edit { padding-block: 0; } .vue-libre-editor-root ::-webkit-datetime-edit-year-field { padding-block: 0; } .vue-libre-editor-root ::-webkit-datetime-edit-month-field { padding-block: 0; } .vue-libre-editor-root ::-webkit-datetime-edit-day-field { padding-block: 0; } .vue-libre-editor-root ::-webkit-datetime-edit-hour-field { padding-block: 0; } .vue-libre-editor-root ::-webkit-datetime-edit-minute-field { padding-block: 0; } .vue-libre-editor-root ::-webkit-datetime-edit-second-field { padding-block: 0; } .vue-libre-editor-root ::-webkit-datetime-edit-millisecond-field { padding-block: 0; } .vue-libre-editor-root ::-webkit-datetime-edit-meridiem-field { padding-block: 0; } .vue-libre-editor-root :-moz-ui-invalid { box-shadow: none; } .vue-libre-editor-root button, .vue-libre-editor-root input:where([type="button"], [type="reset"], [type="submit"]) { appearance: button; } .vue-libre-editor-root ::file-selector-button { appearance: button; } .vue-libre-editor-root ::-webkit-inner-spin-button { height: auto; } .vue-libre-editor-root ::-webkit-outer-spin-button { height: auto; } .vue-libre-editor-root [hidden]:where(:not([hidden="until-found"])) { display: none !important; } .vue-libre-editor-root { --background: 0 0% 100%; --foreground: 222.2 47.4% 11.2%; --muted: 210 40% 96.1%; --muted-foreground: 215.4 16.3% 46.9%; --popover: 0 0% 100%; --popover-foreground: 222.2 47.4% 11.2%; --border: 214.3 31.8% 91.4%; --input: 214.3 31.8% 91.4%; --card: 0 0% 100%; --card-foreground: 222.2 47.4% 11.2%; --primary: 222.2 47.4% 11.2%; --primary-foreground: 210 40% 98%; --secondary: 210 40% 96.1%; --secondary-foreground: 222.2 47.4% 11.2%; --accent: 210 40% 96.1%; --accent-foreground: 222.2 47.4% 11.2%; --destructive: 0 100% 50%; --destructive-foreground: 210 40% 98%; --ring: 215 20.2% 65.1%; --radius: .5rem; } .vue-libre-editor-root.dark { --background: 224 71% 4%; --foreground: 213 31% 91%; --muted: 223 47% 11%; --muted-foreground: 215.4 16.3% 56.9%; --accent: 216 34% 17%; --accent-foreground: 210 40% 98%; --popover: 224 71% 4%; --popover-foreground: 215 20.2% 65.1%; --border: 216 34% 17%; --input: 216 34% 17%; --card: 224 71% 4%; --card-foreground: 213 31% 91%; --primary: 210 40% 98%; --primary-foreground: 222.2 47.4% 1.2%; --secondary: 222.2 47.4% 11.2%; --secondary-foreground: 210 40% 98%; --destructive: 0 63% 31%; --destructive-foreground: 210 40% 98%; --ring: 216 34% 17%; } } @layer components; @layer utilities { .vue-libre-editor-root .visible { visibility: visible; } .vue-libre-editor-root .absolute { position: absolute; } .vue-libre-editor-root .fixed { position: fixed; } .vue-libre-editor-root .relative { position: relative; } .vue-libre-editor-root .inset-0 { inset: calc(var(--spacing) * 0); } .vue-libre-editor-root .top-1\/2 { top: 50%; } .vue-libre-editor-root .top-full { top: 100%; } .vue-libre-editor-root .right-2 { right: calc(var(--spacing) * 2); } .vue-libre-editor-root .left-0 { left: calc(var(--spacing) * 0); } .vue-libre-editor-root .z-10 { z-index: 10; } .vue-libre-editor-root .z-50 { z-index: 50; } .vue-libre-editor-root .container { width: 100%; } @media (min-width: 40rem) { .vue-libre-editor-root .container { max-width: 40rem; } } @media (min-width: 48rem) { .vue-libre-editor-root .container { max-width: 48rem; } } @media (min-width: 64rem) { .vue-libre-editor-root .container { max-width: 64rem; } } @media (min-width: 80rem) { .vue-libre-editor-root .container { max-width: 80rem; } } @media (min-width: 96rem) { .vue-libre-editor-root .container { max-width: 96rem; } } .vue-libre-editor-root .mx-1 { margin-inline: calc(var(--spacing) * 1); } .vue-libre-editor-root .mx-auto { margin-inline: auto; } .vue-libre-editor-root .mt-1 { margin-top: calc(var(--spacing) * 1); } .vue-libre-editor-root .mt-2 { margin-top: calc(var(--spacing) * 2); } .vue-libre-editor-root .mt-4 { margin-top: calc(var(--spacing) * 4); } .vue-libre-editor-root .mt-6 { margin-top: calc(var(--spacing) * 6); } .vue-libre-editor-root .mt-8 { margin-top: calc(var(--spacing) * 8); } .vue-libre-editor-root .mr-2 { margin-right: calc(var(--spacing) * 2); } .vue-libre-editor-root .mb-1 { margin-bottom: calc(var(--spacing) * 1); } .vue-libre-editor-root .mb-2 { margin-bottom: calc(var(--spacing) * 2); } .vue-libre-editor-root .mb-3 { margin-bottom: calc(var(--spacing) * 3); } .vue-libre-editor-root .mb-4 { margin-bottom: calc(var(--spacing) * 4); } .vue-libre-editor-root .mb-6 { margin-bottom: calc(var(--spacing) * 6); } .vue-libre-editor-root .mb-8 { margin-bottom: calc(var(--spacing) * 8); } .vue-libre-editor-root .block { display: block; } .vue-libre-editor-root .flex { display: flex; } .vue-libre-editor-root .grid { display: grid; } .vue-libre-editor-root .hidden { display: none; } .vue-libre-editor-root .inline { display: inline; } .vue-libre-editor-root .table { display: table; } .vue-libre-editor-root .h-4 { height: calc(var(--spacing) * 4); } .vue-libre-editor-root .h-8 { height: calc(var(--spacing) * 8); } .vue-libre-editor-root .h-10 { height: calc(var(--spacing) * 10); } .vue-libre-editor-root .w-4 { width: calc(var(--spacing) * 4); } .vue-libre-editor-root .w-8 { width: calc(var(--spacing) * 8); } .vue-libre-editor-root .w-10 { width: calc(var(--spacing) * 10); } .vue-libre-editor-root .w-64 { width: calc(var(--spacing) * 64); } .vue-libre-editor-root .w-full { width: 100%; } .vue-libre-editor-root .w-px { width: 1px; } .vue-libre-editor-root .max-w-md { max-width: var(--container-md); } .vue-libre-editor-root .border-collapse { border-collapse: collapse; } .vue-libre-editor-root .-translate-y-1\/2 { --tw-translate-y: calc(calc(1 / 2 * 100%) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); } .vue-libre-editor-root .transform { transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, ); } .vue-libre-editor-root .resize { resize: both; } .vue-libre-editor-root .grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); } .vue-libre-editor-root .grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .vue-libre-editor-root .grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); } .vue-libre-editor-root .flex-wrap { flex-wrap: wrap; } .vue-libre-editor-root .items-center { align-items: center; } .vue-libre-editor-root .justify-center { justify-content: center; } .vue-libre-editor-root .justify-end { justify-content: flex-end; } .vue-libre-editor-root .gap-1 { gap: calc(var(--spacing) * 1); } .vue-libre-editor-root .gap-2 { gap: calc(var(--spacing) * 2); } .vue-libre-editor-root .gap-4 { gap: calc(var(--spacing) * 4); } .vue-libre-editor-root :where(.space-x-2 > :not(:last-child)) { --tw-space-x-reverse: 0; margin-inline-start: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse)); margin-inline-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse))); } .vue-libre-editor-root .overflow-x-auto { overflow-x: auto; } .vue-libre-editor-root .rounded { border-radius: .25rem; } .vue-libre-editor-root .rounded-lg { border-radius: var(--radius); } .vue-libre-editor-root .rounded-md { border-radius: calc(var(--radius) - 2px); } .vue-libre-editor-root .rounded-sm { border-radius: calc(var(--radius) - 4px); } .vue-libre-editor-root .border { border-style: var(--tw-border-style); border-width: 1px; } .vue-libre-editor-root .border-gray-300 { border-color: var(--color-gray-300); } .vue-libre-editor-root .bg-gray-50 { background-color: var(--color-gray-50); } .vue-libre-editor-root .bg-gray-100 { background-color: var(--color-gray-100); } .vue-libre-editor-root .p-1 { padding: calc(var(--spacing) * 1); } .vue-libre-editor-root .p-2 { padding: calc(var(--spacing) * 2); } .vue-libre-editor-root .p-3 { padding: calc(var(--spacing) * 3); } .vue-libre-editor-root .p-4 { padding: calc(var(--spacing) * 4); } .vue-libre-editor-root .p-6 { padding: calc(var(--spacing) * 6); } .vue-libre-editor-root .px-2 { padding-inline: calc(var(--spacing) * 2); } .vue-libre-editor-root .px-3 { padding-inline: calc(var(--spacing) * 3); } .vue-libre-editor-root .px-4 { padding-inline: calc(var(--spacing) * 4); } .vue-libre-editor-root .py-1 { padding-block: calc(var(--spacing) * 1); } .vue-libre-editor-root .py-2 { padding-block: calc(var(--spacing) * 2); } .vue-libre-editor-root .text-3xl { font-size: var(--text-3xl); line-height: var(--tw-leading, var(--text-3xl--line-height)); } .vue-libre-editor-root .text-lg { font-size: var(--text-lg); line-height: var(--tw-leading, var(--text-lg--line-height)); } .vue-libre-editor-root .text-sm { font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); } .vue-libre-editor-root .text-xl { font-size: var(--text-xl); line-height: var(--tw-leading, var(--text-xl--line-height)); } .vue-libre-editor-root .text-xs { font-size: var(--text-xs); line-height: var(--tw-leading, var(--text-xs--line-height)); } .vue-libre-editor-root .font-bold { --tw-font-weight: var(--font-weight-bold); font-weight: var(--font-weight-bold); } .vue-libre-editor-root .font-medium { --tw-font-weight: var(--font-weight-medium); font-weight: var(--font-weight-medium); } .vue-libre-editor-root .font-semibold { --tw-font-weight: var(--font-weight-semibold); font-weight: var(--font-weight-semibold); } .vue-libre-editor-root .whitespace-pre-wrap { white-space: pre-wrap; } .vue-libre-editor-root .text-gray-600 { color: var(--color-gray-600); } .vue-libre-editor-root .italic { font-style: italic; } .vue-libre-editor-root .underline { text-decoration-line: underline; } .vue-libre-editor-root .shadow-lg { --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); } .vue-libre-editor-root .ring { --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); } .vue-libre-editor-root .outline { outline-style: var(--tw-outline-style); outline-width: 1px; } .vue-libre-editor-root .blur { --tw-blur: blur(8px); filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, ); } .vue-libre-editor-root .transition { transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, visibility, content-visibility, overlay, pointer-events; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); } @media (hover: hover) { .vue-libre-editor-root .hover\:opacity-80:hover { opacity: .8; } .vue-libre-editor-root .hover\:opacity-90:hover { opacity: .9; } } .vue-libre-editor-root .focus\:outline-none:focus { --tw-outline-style: none; outline-style: none; } .vue-libre-editor-root .active\:opacity-70:active { opacity: .7; } .vue-libre-editor-root .active\:opacity-80:active { opacity: .8; } @media (min-width: 48rem) { .vue-libre-editor-root .md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } } } @layer custom; @keyframes enter { from { opacity: var(--tw-enter-opacity, 1); transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0)); } } @keyframes exit { to { opacity: var(--tw-exit-opacity, 1); transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0)); } } @property --tw-translate-x { syntax: "*"; inherits: false; initial-value: 0; } @property --tw-translate-y { syntax: "*"; inherits: false; initial-value: 0; } @property --tw-translate-z { syntax: "*"; inherits: false; initial-value: 0; } @property --tw-rotate-x { syntax: "*"; inherits: false } @property --tw-rotate-y { syntax: "*"; inherits: false } @property --tw-rotate-z { syntax: "*"; inherits: false } @property --tw-skew-x { syntax: "*"; inherits: false } @property --tw-skew-y { syntax: "*"; inherits: false } @property --tw-space-x-reverse { syntax: "*"; inherits: false; initial-value: 0; } @property --tw-border-style { syntax: "*"; inherits: false; initial-value: solid; } @property --tw-font-weight { syntax: "*"; inherits: false } @property --tw-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; } @property --tw-shadow-color { syntax: "*"; inherits: false } @property --tw-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; } @property --tw-inset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; } @property --tw-inset-shadow-color { syntax: "*"; inherits: false } @property --tw-inset-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; } @property --tw-ring-color { syntax: "*"; inherits: false } @property --tw-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; } @property --tw-inset-ring-color { syntax: "*"; inherits: false } @property --tw-inset-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; } @property --tw-ring-inset { syntax: "*"; inherits: false } @property --tw-ring-offset-width { syntax: "<length>"; inherits: false; initial-value: 0; } @property --tw-ring-offset-color { syntax: "*"; inherits: false; initial-value: #fff; } @property --tw-ring-offset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; } @property --tw-outline-style { syntax: "*"; inherits: false; initial-value: solid; } @property --tw-blur { syntax: "*"; inherits: false } @property --tw-brightness { syntax: "*"; inherits: false } @property --tw-contrast { syntax: "*"; inherits: false } @property --tw-grayscale { syntax: "*"; inherits: false } @property --tw-hue-rotate { syntax: "*"; inherits: false } @property --tw-invert { syntax: "*"; inherits: false } @property --tw-opacity { syntax: "*"; inherits: false } @property --tw-saturate { syntax: "*"; inherits: false } @property --tw-sepia { syntax: "*"; inherits: false } @property --tw-drop-shadow { syntax: "*"; inherits: false } @property --tw-drop-shadow-color { syntax: "*"; inherits: false } @property --tw-drop-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; } @property --tw-drop-shadow-size { syntax: "*"; inherits: false } /* CSS variables and Tailwind utilities are now imported from editor-globals.css */ .vue-libre-editor-root .vue-libre-editor .editor-content[data-v-49187fe8] { overflow-y: auto; } .vue-libre-editor-root .vue-libre-editor .editor-content[data-placeholder][data-v-49187fe8]:empty:before { content: attr(data-placeholder); color: #aaa; pointer-events: none; } .vue-libre-editor-root .vue-libre-editor .editor-content[data-v-49187fe8]:focus { outline: none; } /* Table styles for the editor */ .vue-libre-editor-root .vue-libre-editor .editor-content table[data-v-49187fe8] { border-collapse: collapse; margin: 10px 0; position: relative; } .vue-libre-editor-root .vue-libre-editor .editor-content th[data-v-49187fe8], .vue-libre-editor-root .vue-libre-editor .editor-content td[data-v-49187fe8] { border: 1px solid #ddd; padding: 8px; position: relative; min-width: 30px; min-height: 20px; } .vue-libre-editor-root .vue-libre-editor .editor-content tr[data-v-49187fe8]:hover { background-color: #f5f5f5; } /* Column resizer styles */ .vue-libre-editor-root .vue-libre-editor .column-resizer[data-v-49187fe8] { position: absolute; top: 0; right: -3px; width: 6px; height: 100%; background-color: transparent; cursor: col-resize; z-index: 1; } .vue-libre-editor-root .vue-libre-editor .column-resizer[data-v-49187fe8]:hover, .vue-libre-editor-root .vue-libre-editor .column-resizer[data-v-49187fe8]:active { background-color: #2563eb; } /* Table resizer styles */ .vue-libre-editor-root .vue-libre-editor .table-resizer[data-v-49187fe8] { position: absolute; right: -5px; bottom: -5px; width: 10px; height: 10px; background-color: #2563eb; border-radius: 50%; cursor: nwse-resize; z-index: 2; } /* When resizing is active */ .vue-libre-editor-root .vue-libre-editor body.resizing[data-v-49187fe8] { cursor: col-resize; user-select: none; } /* Dark theme adjustments for tables */ .vue-libre-editor-root[data-v-49187fe8] .editor-theme-dark .vue-libre-editor .editor-content table td, .vue-libre-editor-root[data-v-49187fe8] .editor-theme-dark .vue-libre-editor .editor-content table th { border-color: #4b5563; } .vue-libre-editor-root[data-v-49187fe8] .editor-theme-dark .vue-libre-editor .editor-content table tr:hover { background-color: #374151; } .vue-libre-editor-root[data-v-49187fe8] .editor-theme-dark .vue-libre-editor .column-resizer:hover, .vue-libre-editor-root[data-v-49187fe8] .editor-theme-dark .vue-libre-editor .column-resizer:active, .vue-libre-editor-root[data-v-49187fe8] .editor-theme-dark .vue-libre-editor .table-resizer { background-color: #60a5fa; } /* Row resizer styles */ .vue-libre-editor-root .vue-libre-editor .row-resizer[data-v-49187fe8] { position: absolute; left: 0; bottom: -3px; width: 100%; height: 6px; background-color: transparent; cursor: row-resize; z-index: 1; } .vue-libre-editor-root .vue-libre-editor .row-resizer[data-v-49187fe8]:hover, .vue-libre-editor-root .vue-libre-editor .row-resizer[data-v-49187fe8]:active { background-color: #2563eb; } .vue-libre-editor-root[data-v-49187fe8] .editor-theme-dark .vue-libre-editor .row-resizer:hover, .vue-libre-editor-root[data-v-49187fe8] .editor-theme-dark .vue-libre-editor .row-resizer:active { background-color: #60a5fa; } /* Cell selection styles */ .vue-libre-editor-root .vue-libre-editor .cell-selected[data-v-49187fe8] { background-color: rgba(37, 99, 235, 0.2) ; outline: 2px solid #2563eb ; position: relative; z-index: 1; } /* Multi-selected cells have a stronger highlight */ .vue-libre-editor-root .vue-libre-editor .cell-selected[data-multi-selected="true"][data-v-49187fe8] { background-color: rgba(37, 99, 235, 0.3) ; outline: 3px solid #2563eb ; box-shadow: inset 0 0 0 1px rgba(37, 99, 235, 0.5); } /* Add a label to indicate multi-selection mode */ .vue-libre-editor-root .vue-libre-editor .cell-selected[data-multi-selected="true"][data-v-49187fe8]::after { content: ""; position: absolute; top: 2px; right: 2px; width: 8px; height: 8px; background-color: #2563eb; border-radius: 50%; } .vue-libre-editor-root[data-v-49187fe8] .editor-theme-dark .vue-libre-editor .cell-selected { background-color: rgba(96, 165, 250, 0.2) ; outline: 2px solid #60a5fa ; } .vue-libre-editor-root[data-v-49187fe8] .editor-theme-dark .vue-libre-editor .cell-selected[data-multi-selected="true"] { background-color: rgba(96, 165, 250, 0.3) ; outline: 3px solid #60a5fa ; box-shadow: inset 0 0 0 1px rgba(96, 165, 250, 0.5); } .vue-libre-editor-root[data-v-49187fe8] .editor-theme-dark .vue-libre-editor .cell-selected[data-multi-selected="true"]::after { background-color: #60a5fa; } /* Styles for content when the module is not imported */ /* These styles can be exported and used separately */ .vue-libre-editor-root .vue-libre-editor-content table[data-v-49187fe8] { border-collapse: collapse; margin: 10px 0; position: relative; border-spacing: 0; width: auto; height: auto; table-layout: auto; caption-side: top; empty-cells: show; border: none; border-style: none; border-width: 0; border-color: currentColor; background-color: transparent; color: inherit; font-family: inherit; font-size: inherit; text-align: left; vertical-align: middle; } .vue-libre-editor-root .vue-libre-editor .vue-libre-editor-content thead[data-v-49187fe8] { vertical-align: middle; border-color: inherit; display: table-header-group; } .vue-libre-editor-root .vue-libre-editor .vue-libre-editor-content tbody[data-v-49187fe8] { vertical-align: middle; border-color: inherit; display: table-row-group; } .vue-libre-editor-root .vue-libre-editor .vue-libre-editor-content tr[data-v-49187fe8] { vertical-align: inherit; border-color: inherit; display: table-row; } .vue-libre-editor-root .vue-libre-editor .vue-libre-editor-content a[data-v-49187fe8] { color: #0000EE; text-decoration: underline; cursor: pointer; background-color: transparent; } .vue-libre-editor-root .vue-libre-editor .vue-libre-editor-content img[data-v-49187fe8] { border-style: none; max-width: 100%; height: auto; vertical-align: middle; } .vue-libre-editor-root .vue-libre-editor .vue-libre-editor-content p[data-v-49187fe8] { margin-top: 1em; margin-bottom: 1em; display: block; } .vue-libre-editor-root .vue-libre-editor .vue-libre-editor-content button[data-v-49187fe8] { appearance: button; text-transform: none; overflow: visible; font-family: inherit; font-size: 100%; line-height: 1.15; margin: 0; padding: 0; border: 1px solid #ccc; background-color: #f8f8f8; cursor: pointer; } .vue-libre-editor-root .vue-libre-editor .vue-libre-editor-content span[data-v-49187fe8] { display: inline; font-family: inherit; font-size: inherit; color: inherit; line-height: inherit; } .vue-libre-editor-root .vue-libre-editor .vue-libre-editor-content thead[data-v-49187fe8] { vertical-align: middle; border-color: inherit; display: table-header-group; } .vue-libre-editor-root .vue-libre-editor .vue-libre-editor-content tbody[data-v-49187fe8] { vertical-align: middle; border-color: inherit; display: table-row-group; } .vue-libre-editor-root .vue-libre-editor .vue-libre-editor-content tr[data-v-49187fe8] { vertical-align: inherit; border-color: inherit; display: table-row; } .vue-libre-editor-root .vue-libre-editor .vue-libre-editor-content a[data-v-49187fe8] { color: #0000EE; text-decoration: underline; cursor: pointer; background-color: transparent; } .vue-libre-editor-root .vue-libre-editor .vue-libre-editor-content img[data-v-49187fe8] { border-style: none; max-width: 100%; height: auto; vertical-align: middle; } .vue-libre-editor-root .vue-libre-editor .vue-libre-editor-content p[data-v-49187fe8] { margin-top: 1em; margin-bottom: 1em; display: block; } .vue-libre-editor-root .vue-libre-editor .vue-libre-editor-content button[data-v-49187fe8] { appearance: button; text-transform: none; overflow: visible; font-family: inherit; font-size: 100%; line-height: 1.15; margin: 0; padding: 0; border: 1px solid #ccc; background-color: #f8f8f8; cursor: pointer; } .vue-libre-editor-root .vue-libre-editor .vue-libre-editor-content span[data-v-49187fe8] { display: inline; font-family: inherit; font-size: inherit; color: inherit; line-height: inherit; } .vue-libre-editor-root .vue-libre-editor .vue-libre-editor-content table th[data-v-49187fe8], .vue-libre-editor-root .vue-libre-editor .vue-libre-editor-content table td[data-v-49187fe8] { border: 1px solid #ddd; padding: 8px; position: relative; min-width: 30px; min-height: 20px; overflow: hidden; word-wrap: break-word; white-space: normal; } .vue-libre-editor-root .vue-libre-editor .vue-libre-editor-content table tr[data-v-49187fe8]:hover { background-color: #f5f5f5; } .vue-libre-editor-root .vue-libre-editor .vue-libre-editor-content .cell-content[data-v-49187fe8] { /* width is now set dynamically by JavaScript */ height: 100%; position: relative; z-index: 0; overflow: hidden; word-wrap: break-word; white-space: normal; } /* Dark theme adjustments for content */ .vue-libre-editor-root .vue-libre-editor .vue-libre-editor-content.dark-theme table td[data-v-49187fe8], .vue-libre-editor-root .vue-libre-editor .vue-libre-editor-content.dark-theme table th[data-v-49187fe8] { border-color: #4b5563; } .vue-libre-editor-root .vue-libre-editor .vue-libre-editor-content.dark-theme table tr[data-v-49187fe8]:hover { background-color: #374151; }