@abduljebar/text-editor 2.4.1 → 2.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +564 -564
- package/dist/Reproduction.d.ts +2 -0
- package/dist/Reproduction.d.ts.map +1 -0
- package/dist/components/TextEditor.d.ts.map +1 -1
- package/dist/hooks/useTextEditor.d.ts.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.js +1018 -1019
- package/dist/index.umd.cjs +9 -9
- package/package.json +84 -84
- package/dist/demo.jpg +0 -1
package/dist/index.umd.cjs
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
(function(se,y){typeof exports=="object"&&typeof module<"u"?y(exports,require("react"),require("lucide-react")):typeof define=="function"&&define.amd?define(["exports","react","lucide-react"],y):(se=typeof globalThis<"u"?globalThis:se||self,y(se.TextEditor={},se.React,se.LucideReact))})(this,(function(se,y,N){"use strict";var Ge=document.createElement("style");Ge.textContent=`@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--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-duration:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-orange-600:oklch(64.6% .222 41.116);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--font-weight-medium:500;--font-weight-bold:700;--radius-md:.375rem;--radius-lg:.5rem;--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,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}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::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}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.absolute{position:absolute}.relative{position:relative}.-top-2{top:calc(var(--spacing)*-2)}.top-6{top:calc(var(--spacing)*6)}.-right-2{right:calc(var(--spacing)*-2)}.right-2{right:calc(var(--spacing)*2)}.bottom-2{bottom:calc(var(--spacing)*2)}.left-6{left:calc(var(--spacing)*6)}.order-1{order:1}.order-2{order:2}.order-3{order:3}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-0\\.5{margin-inline:calc(var(--spacing)*.5)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mr-2{margin-right:calc(var(--spacing)*2)}.block{display:block}.flex{display:flex}.hidden{display:none}.inline{display:inline}.h-2{height:calc(var(--spacing)*2)}.h-4{height:calc(var(--spacing)*4)}.h-6{height:calc(var(--spacing)*6)}.h-9{height:calc(var(--spacing)*9)}.h-auto{height:auto}.min-h-\\[200px\\]{min-height:200px}.min-h-\\[400px\\]{min-height:400px}.w-2{width:calc(var(--spacing)*2)}.w-4{width:calc(var(--spacing)*4)}.w-full{width:100%}.w-px{width:1px}.max-w-full{max-width:100%}.min-w-\\[36px\\]{min-width:36px}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-text{cursor:text}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-6{gap:calc(var(--spacing)*6)}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-blue-100{border-color:var(--color-blue-100)}.border-blue-300{border-color:var(--color-blue-300)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-green-100{border-color:var(--color-green-100)}.border-red-100{border-color:var(--color-red-100)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-600{background-color:var(--color-green-600)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-600{background-color:var(--color-red-600)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\\/80{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.bg-white\\/80{background-color:color-mix(in oklab,var(--color-white)80%,transparent)}}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-gray-50{--tw-gradient-from:var(--color-gray-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-white{--tw-gradient-to:var(--color-white);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.pr-2{padding-right:calc(var(--spacing)*2)}.text-right{text-align:right}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.text-amber-600{color:var(--color-amber-600)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-orange-600{color:var(--color-orange-600)}.text-red-700{color:var(--color-red-700)}.text-white{color:var(--color-white)}.italic{font-style:italic}.underline{text-decoration-line:underline}.opacity-80{opacity:.8}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px 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)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-text{-webkit-user-select:text;-moz-user-select:text;user-select:text}.placeholder\\:text-gray-400::-moz-placeholder{color:var(--color-gray-400)}.placeholder\\:text-gray-400::placeholder{color:var(--color-gray-400)}.last\\:mr-0:last-child{margin-right:calc(var(--spacing)*0)}.last\\:border-r-0:last-child{border-right-style:var(--tw-border-style);border-right-width:0}.last\\:pr-0:last-child{padding-right:calc(var(--spacing)*0)}@media(hover:hover){.hover\\:border-gray-400:hover{border-color:var(--color-gray-400)}.hover\\:bg-blue-200:hover{background-color:var(--color-blue-200)}.hover\\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\\:bg-green-700:hover{background-color:var(--color-green-700)}.hover\\:bg-red-700:hover{background-color:var(--color-red-700)}}.active\\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:bg-blue-300:disabled{background-color:var(--color-blue-300)}.disabled\\:opacity-50:disabled{opacity:.5}@media(min-width:40rem){.sm\\:order-2{order:2}.sm\\:order-3{order:3}.sm\\:mt-0{margin-top:calc(var(--spacing)*0)}.sm\\:inline{display:inline}.sm\\:w-auto{width:auto}.sm\\:flex-row{flex-direction:row}.sm\\:items-center{align-items:center}}@media(min-width:48rem){.md\\:block{display:block}.md\\:p-6{padding:calc(var(--spacing)*6)}.md\\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@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-duration{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}
|
|
2
|
-
/*$vite$:1*/`,document.head.appendChild(
|
|
1
|
+
(function(le,b){typeof exports=="object"&&typeof module<"u"?b(exports,require("react"),require("lucide-react")):typeof define=="function"&&define.amd?define(["exports","react","lucide-react"],b):(le=typeof globalThis<"u"?globalThis:le||self,b(le.TextEditor={},le.React,le.LucideReact))})(this,(function(le,b,L){"use strict";var We=document.createElement("style");We.textContent=`@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--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-duration:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-orange-600:oklch(64.6% .222 41.116);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--font-weight-medium:500;--font-weight-bold:700;--radius-md:.375rem;--radius-lg:.5rem;--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,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}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::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}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.absolute{position:absolute}.relative{position:relative}.-top-2{top:calc(var(--spacing)*-2)}.top-6{top:calc(var(--spacing)*6)}.-right-2{right:calc(var(--spacing)*-2)}.right-2{right:calc(var(--spacing)*2)}.bottom-2{bottom:calc(var(--spacing)*2)}.left-6{left:calc(var(--spacing)*6)}.order-1{order:1}.order-2{order:2}.order-3{order:3}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-0\\.5{margin-inline:calc(var(--spacing)*.5)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mr-2{margin-right:calc(var(--spacing)*2)}.block{display:block}.flex{display:flex}.hidden{display:none}.inline{display:inline}.h-2{height:calc(var(--spacing)*2)}.h-4{height:calc(var(--spacing)*4)}.h-6{height:calc(var(--spacing)*6)}.h-9{height:calc(var(--spacing)*9)}.h-auto{height:auto}.min-h-\\[200px\\]{min-height:200px}.min-h-\\[400px\\]{min-height:400px}.w-2{width:calc(var(--spacing)*2)}.w-4{width:calc(var(--spacing)*4)}.w-full{width:100%}.w-px{width:1px}.max-w-full{max-width:100%}.min-w-\\[36px\\]{min-width:36px}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-text{cursor:text}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-6{gap:calc(var(--spacing)*6)}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-blue-100{border-color:var(--color-blue-100)}.border-blue-300{border-color:var(--color-blue-300)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-green-100{border-color:var(--color-green-100)}.border-red-100{border-color:var(--color-red-100)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-600{background-color:var(--color-green-600)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-600{background-color:var(--color-red-600)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\\/80{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.bg-white\\/80{background-color:color-mix(in oklab,var(--color-white)80%,transparent)}}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-gray-50{--tw-gradient-from:var(--color-gray-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-white{--tw-gradient-to:var(--color-white);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-10{padding:calc(var(--spacing)*10)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.pr-2{padding-right:calc(var(--spacing)*2)}.text-right{text-align:right}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.text-amber-600{color:var(--color-amber-600)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-orange-600{color:var(--color-orange-600)}.text-red-700{color:var(--color-red-700)}.text-white{color:var(--color-white)}.italic{font-style:italic}.underline{text-decoration-line:underline}.opacity-80{opacity:.8}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px 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)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-text{-webkit-user-select:text;-moz-user-select:text;user-select:text}.placeholder\\:text-gray-400::-moz-placeholder{color:var(--color-gray-400)}.placeholder\\:text-gray-400::placeholder{color:var(--color-gray-400)}.last\\:mr-0:last-child{margin-right:calc(var(--spacing)*0)}.last\\:border-r-0:last-child{border-right-style:var(--tw-border-style);border-right-width:0}.last\\:pr-0:last-child{padding-right:calc(var(--spacing)*0)}@media(hover:hover){.hover\\:border-gray-400:hover{border-color:var(--color-gray-400)}.hover\\:bg-blue-200:hover{background-color:var(--color-blue-200)}.hover\\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\\:bg-green-700:hover{background-color:var(--color-green-700)}.hover\\:bg-red-700:hover{background-color:var(--color-red-700)}}.active\\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:bg-blue-300:disabled{background-color:var(--color-blue-300)}.disabled\\:opacity-50:disabled{opacity:.5}@media(min-width:40rem){.sm\\:order-2{order:2}.sm\\:order-3{order:3}.sm\\:mt-0{margin-top:calc(var(--spacing)*0)}.sm\\:inline{display:inline}.sm\\:w-auto{width:auto}.sm\\:flex-row{flex-direction:row}.sm\\:items-center{align-items:center}}@media(min-width:48rem){.md\\:block{display:block}.md\\:p-6{padding:calc(var(--spacing)*6)}.md\\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@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-duration{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}
|
|
2
|
+
/*$vite$:1*/`,document.head.appendChild(We);var ve=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function At(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var we={exports:{}},he={};var Ve;function zt(){if(Ve)return he;Ve=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function r(o,a,d){var l=null;if(d!==void 0&&(l=""+d),a.key!==void 0&&(l=""+a.key),"key"in a){d={};for(var i in a)i!=="key"&&(d[i]=a[i])}else d=a;return a=d.ref,{$$typeof:e,type:o,key:l,ref:a!==void 0?a:null,props:d}}return he.Fragment=t,he.jsx=r,he.jsxs=r,he}var be={};var He;function _t(){return He||(He=1,process.env.NODE_ENV!=="production"&&(function(){function e(n){if(n==null)return null;if(typeof n=="function")return n.$$typeof===S?null:n.displayName||n.name||null;if(typeof n=="string")return n;switch(n){case M:return"Fragment";case H:return"Profiler";case K:return"StrictMode";case J:return"Suspense";case Q:return"SuspenseList";case y:return"Activity"}if(typeof n=="object")switch(typeof n.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),n.$$typeof){case W:return"Portal";case I:return n.displayName||"Context";case C:return(n._context.displayName||"Context")+".Consumer";case q:var j=n.render;return n=n.displayName,n||(n=j.displayName||j.name||"",n=n!==""?"ForwardRef("+n+")":"ForwardRef"),n;case p:return j=n.displayName||null,j!==null?j:e(n.type)||"Memo";case c:j=n._payload,n=n._init;try{return e(n(j))}catch{}}return null}function t(n){return""+n}function r(n){try{t(n);var j=!1}catch{j=!0}if(j){j=console;var k=j.error,E=typeof Symbol=="function"&&Symbol.toStringTag&&n[Symbol.toStringTag]||n.constructor.name||"Object";return k.call(j,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",E),t(n)}}function o(n){if(n===M)return"<>";if(typeof n=="object"&&n!==null&&n.$$typeof===c)return"<...>";try{var j=e(n);return j?"<"+j+">":"<...>"}catch{return"<...>"}}function a(){var n=v.A;return n===null?null:n.getOwner()}function d(){return Error("react-stack-top-frame")}function l(n){if(w.call(n,"key")){var j=Object.getOwnPropertyDescriptor(n,"key").get;if(j&&j.isReactWarning)return!1}return n.key!==void 0}function i(n,j){function k(){P||(P=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",j))}k.isReactWarning=!0,Object.defineProperty(n,"key",{get:k,configurable:!0})}function u(){var n=e(this.type);return V[n]||(V[n]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),n=this.props.ref,n!==void 0?n:null}function m(n,j,k,E,Z,ae){var T=k.ref;return n={$$typeof:R,type:n,key:j,props:k,_owner:E},(T!==void 0?T:null)!==null?Object.defineProperty(n,"ref",{enumerable:!1,get:u}):Object.defineProperty(n,"ref",{enumerable:!1,value:null}),n._store={},Object.defineProperty(n._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(n,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(n,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:Z}),Object.defineProperty(n,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:ae}),Object.freeze&&(Object.freeze(n.props),Object.freeze(n)),n}function A(n,j,k,E,Z,ae){var T=j.children;if(T!==void 0)if(E)if(z(T)){for(E=0;E<T.length;E++)O(T[E]);Object.freeze&&Object.freeze(T)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else O(T);if(w.call(j,"key")){T=e(n);var $=Object.keys(j).filter(function(re){return re!=="key"});E=0<$.length?"{key: someKey, "+$.join(": ..., ")+": ...}":"{key: someKey}",te[T+E]||($=0<$.length?"{"+$.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
|
|
3
3
|
let props = %s;
|
|
4
4
|
<%s {...props} />
|
|
5
5
|
React keys must be passed directly to JSX without using spread:
|
|
6
6
|
let props = %s;
|
|
7
|
-
<%s key={someKey} {...props} />`,R,E,$,E),re[E+R]=!0)}if(E=null,k!==void 0&&(r(k),E=""+k),c(j)&&(r(j.key),E=""+j.key),"key"in j){k={};for(var oe in j)oe!=="key"&&(k[oe]=j[oe])}else k=j;return E&&i(k,typeof n=="function"?n.displayName||n.name||"Unknown":n),f(n,E,k,a(),ee,ne)}function L(n){U(n)?n._store&&(n._store.validated=1):typeof n=="object"&&n!==null&&n.$$typeof===d&&(n._payload.status==="fulfilled"?U(n._payload.value)&&n._payload.value._store&&(n._payload.value._store.validated=1):n._store&&(n._store.validated=1))}function U(n){return typeof n=="object"&&n!==null&&n.$$typeof===T}var D=y,T=Symbol.for("react.transitional.element"),B=Symbol.for("react.portal"),O=Symbol.for("react.fragment"),J=Symbol.for("react.strict_mode"),W=Symbol.for("react.profiler"),C=Symbol.for("react.consumer"),I=Symbol.for("react.context"),K=Symbol.for("react.forward_ref"),Y=Symbol.for("react.suspense"),X=Symbol.for("react.suspense_list"),h=Symbol.for("react.memo"),d=Symbol.for("react.lazy"),w=Symbol.for("react.activity"),S=Symbol.for("react.client.reference"),x=D.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,v=Object.prototype.hasOwnProperty,z=Array.isArray,F=console.createTask?console.createTask:function(){return null};D={react_stack_bottom_frame:function(n){return n()}};var M,G={},b=D.react_stack_bottom_frame.bind(D,u)(),V=F(o(u)),re={};pe.Fragment=O,pe.jsx=function(n,j,k){var R=1e4>x.recentlyCreatedOwnerStacks++;return A(n,j,k,!1,R?Error("react-stack-top-frame"):b,R?F(o(n)):V)},pe.jsxs=function(n,j,k){var R=1e4>x.recentlyCreatedOwnerStacks++;return A(n,j,k,!0,R?Error("react-stack-top-frame"):b,R?F(o(n)):V)}})()),pe}var He;function It(){return He||(He=1,process.env.NODE_ENV==="production"?xe.exports=zt():xe.exports=_t()),xe.exports}var s=It();const Nt=({onCommand:e,onSave:t,onExport:r,onClear:o,onImageUpload:a,showButtons:u=!1,hasUnsavedChanges:c,pendingImagesCount:i=0})=>{const[m,f]=y.useState([]),[A,L]=y.useState("p"),[U,D]=y.useState(!1),[T,B]=y.useState(!1),[O,J]=y.useState(!1),[W,C]=y.useState(!1),[I,K]=y.useState(!1),[Y,X]=y.useState(!1),[h,d]=y.useState("left"),w=y.useRef(null),S=y.useCallback(()=>{if(typeof window>"u"||typeof document>"u")return;const P=window.getSelection();if(!P||P.rangeCount===0||P.isCollapsed)return;const H=P.getRangeAt(0).commonAncestorContainer;D(document.queryCommandState("bold")),B(document.queryCommandState("italic")),J(document.queryCommandState("underline")),C(document.queryCommandState("strikeThrough")),K(document.queryCommandState("insertUnorderedList")),X(document.queryCommandState("insertOrderedList")),document.queryCommandState("justifyLeft")?d("left"):document.queryCommandState("justifyCenter")?d("center"):document.queryCommandState("justifyRight")&&d("right");let Q=H,Z="p";for(;Q&&Q!==document.body;){if(Q.nodeType===Node.ELEMENT_NODE){const Be=Q.tagName.toLowerCase();if(["h1","h2","h3","h4","h5","h6","p","div","blockquote","pre"].includes(Be)){["h1","h2"].includes(Be)&&(Z=Be);break}}Q=Q.parentNode}L(Z);const te=[];U&&te.push("bold"),T&&te.push("italic"),O&&te.push("underline"),W&&te.push("strikeThrough"),I&&te.push("insertUnorderedList"),Y&&te.push("insertOrderedList"),h==="left"&&te.push("justifyLeft"),h==="center"&&te.push("justifyCenter"),h==="right"&&te.push("justifyRight"),(Z==="h1"||Z==="h2")&&te.push(`formatBlock:${Z}`),f(te)},[U,T,O,W,I,Y,h]);y.useEffect(()=>{const P=()=>{requestAnimationFrame(S)},l=()=>{setTimeout(S,10)},H=()=>{setTimeout(S,10)};return document.addEventListener("selectionchange",P),document.addEventListener("mouseup",l),document.addEventListener("keyup",H),S(),()=>{document.removeEventListener("selectionchange",P),document.removeEventListener("mouseup",l),document.removeEventListener("keyup",H)}},[S]);const x=()=>{const P=prompt("Enter URL:","https://");P&&e("createLink",P)},v=()=>{a()},z=P=>{e("formatBlock",P)},F=()=>{e("indent")},M=()=>{e("outdent")},G=()=>{e("undo")},b=()=>{e("redo")},V=()=>{e("formatBlock","pre")},re=()=>{e("formatBlock","blockquote")},n=()=>{e("superscript")},j=()=>{e("subscript")},k=[{id:"undo",command:"undo",icon:s.jsx(N.Undo,{size:18}),title:"Undo",onClick:G},{id:"redo",command:"redo",icon:s.jsx(N.Redo,{size:18}),title:"Redo",onClick:b},{id:"separator-1",separator:!0},{id:"bold",command:"bold",icon:s.jsx(N.Bold,{size:18}),title:"Bold (Ctrl+B)",isActive:U},{id:"italic",command:"italic",icon:s.jsx(N.Italic,{size:18}),title:"Italic (Ctrl+I)",isActive:T},{id:"underline",command:"underline",icon:s.jsx(N.Underline,{size:18}),title:"Underline (Ctrl+U)",isActive:O},{id:"strikeThrough",command:"strikeThrough",icon:s.jsx(N.Strikethrough,{size:18}),title:"Strikethrough",isActive:W},{id:"separator-2",separator:!0},{id:"heading-1",command:"formatBlock",value:"h1",icon:s.jsx(N.Heading1,{size:18}),title:"Heading 1",isActive:A==="h1"},{id:"heading-2",command:"formatBlock",value:"h2",icon:s.jsx(N.Heading2,{size:18}),title:"Heading 2",isActive:A==="h2"},{id:"paragraph",command:"formatBlock",value:"p",icon:s.jsx(N.Type,{size:18}),title:"Paragraph",isActive:A==="p"},{id:"code",command:"formatBlock",value:"pre",icon:s.jsx(N.Code,{size:18}),title:"Code Block",onClick:V},{id:"quote",command:"formatBlock",value:"blockquote",icon:s.jsx(N.Quote,{size:18}),title:"Blockquote",onClick:re},{id:"separator-3",separator:!0},{id:"unordered-list",command:"insertUnorderedList",icon:s.jsx(N.List,{size:18}),title:"Bullet List",isActive:I},{id:"ordered-list",command:"insertOrderedList",icon:s.jsx(N.ListOrdered,{size:18}),title:"Numbered List",isActive:Y},{id:"indent",command:"indent",icon:s.jsx(N.Indent,{size:18}),title:"Indent",onClick:F},{id:"outdent",command:"outdent",icon:s.jsx(N.Outdent,{size:18}),title:"Outdent",onClick:M},{id:"separator-4",separator:!0},{id:"align-left",command:"justifyLeft",icon:s.jsx(N.AlignLeft,{size:18}),title:"Align Left",isActive:h==="left"},{id:"align-center",command:"justifyCenter",icon:s.jsx(N.AlignCenter,{size:18}),title:"Center",isActive:h==="center"},{id:"align-right",command:"justifyRight",icon:s.jsx(N.AlignRight,{size:18}),title:"Align Right",isActive:h==="right"},{id:"separator-5",separator:!0},{id:"superscript",command:"superscript",icon:s.jsx(N.Superscript,{size:18}),title:"Superscript",onClick:n},{id:"subscript",command:"subscript",icon:s.jsx(N.Subscript,{size:18}),title:"Subscript",onClick:j},{id:"link",command:"createLink",icon:s.jsx(N.Link,{size:18}),title:"Insert Link",onClick:x},{id:"image",command:"insertImage",icon:i>0?s.jsxs("div",{className:"relative",children:[s.jsx(N.Image,{size:18}),s.jsx("span",{className:"absolute -top-2 -right-2 bg-blue-600 text-white text-xs rounded-full w-4 h-4 flex items-center justify-center",children:i})]}):s.jsx(N.Image,{size:18}),title:"Insert Image",onClick:v}],R=P=>s.jsx("div",{className:"flex items-center border-r border-gray-200 pr-2 mr-2 last:border-r-0 last:pr-0 last:mr-0",children:P.map(l=>{if(l.separator)return s.jsx("div",{className:"w-px h-6 bg-gray-300 mx-2"},l.id);const H=l.isActive!==void 0?l.isActive:l.command?m.includes(l.command)||l.command==="formatBlock"&&l.value===A:!1;return s.jsx("button",{onClick:Q=>{Q.preventDefault(),Q.stopPropagation(),l.onClick?l.onClick():l.command==="formatBlock"&&l.value?z(l.value):l.command&&e(l.command,l.value),setTimeout(()=>{const Z=document.querySelector('[contenteditable="true"]');Z&&Z.focus()},10)},title:l.title,type:"button",className:`min-w-[36px] h-9 flex items-center justify-center rounded-md border transition-all duration-150 ${H?"bg-blue-100 text-blue-600 border-blue-300 hover:bg-blue-200 shadow-sm":"bg-white border-gray-300 text-gray-700 hover:bg-gray-100 hover:border-gray-400"} active:scale-95 mx-0.5`,disabled:l.disabled,children:l.icon},l.id)})}),ee=k.slice(0,3),ne=k.slice(3,10),E=k.slice(10,16),$=k.slice(16,20),oe=k.slice(20,24),ae=k.slice(24,28),de=k.slice(28);return s.jsxs("div",{ref:w,className:"flex flex-col sm:flex-row flex-wrap items-start sm:items-center justify-between p-3 bg-gray-50 border-b border-gray-200 gap-2",children:[s.jsxs("div",{className:"flex flex-wrap items-center gap-1 order-1 w-full sm:w-auto",children:[R(ee),R(ne),R(E),R($),R(oe),R(ae),R(de)]}),u&&s.jsxs("div",{className:"flex items-center gap-2 order-2 sm:order-3 mt-2 sm:mt-0 flex-shrink-0",children:[s.jsxs("button",{onClick:P=>{P.preventDefault(),P.stopPropagation(),t(),setTimeout(()=>{const l=document.querySelector('[contenteditable="true"]');l&&l.focus()},10)},disabled:!c,title:"Save Document (Ctrl+S)",className:"flex items-center gap-2 px-4 py-2 bg-blue-600 text-white text-sm font-medium rounded-md hover:bg-blue-700 disabled:bg-blue-300 disabled:cursor-not-allowed transition-colors duration-200 active:scale-95",children:[s.jsx(N.Save,{size:16}),s.jsx("span",{className:"hidden sm:inline",children:"Save"})]}),s.jsxs("button",{onClick:P=>{P.preventDefault(),P.stopPropagation(),r(),setTimeout(()=>{const l=document.querySelector('[contenteditable="true"]');l&&l.focus()},10)},title:"Export as HTML",className:"flex items-center gap-2 px-4 py-2 bg-green-600 text-white text-sm font-medium rounded-md hover:bg-green-700 transition-colors duration-200 active:scale-95",children:[s.jsx(N.FileDown,{size:16}),s.jsx("span",{className:"hidden sm:inline",children:"Export"})]}),s.jsxs("button",{onClick:P=>{P.preventDefault(),P.stopPropagation(),o(),setTimeout(()=>{const l=document.querySelector('[contenteditable="true"]');l&&l.focus()},10)},title:"Clear Editor",className:"flex items-center gap-2 px-4 py-2 bg-red-600 text-white text-sm font-medium rounded-md hover:bg-red-700 transition-colors duration-200 active:scale-95",children:[s.jsx(N.Trash2,{size:16}),s.jsx("span",{className:"hidden sm:inline",children:"Clear"})]})]}),s.jsxs("div",{className:"flex items-center gap-3 text-sm text-gray-500 order-3 sm:order-2 mt-2 sm:mt-0 flex-shrink-0",children:[i>0&&s.jsxs("span",{className:"flex items-center gap-1",children:[s.jsx(N.Image,{size:14}),s.jsxs("span",{children:[i," pending"]})]}),c&&s.jsxs("span",{className:"flex items-center gap-1 text-amber-600",children:[s.jsx("span",{className:"w-2 h-2 bg-amber-500 rounded-full animate-pulse"}),s.jsx("span",{children:"Unsaved changes"})]})]})]})},Lt=({wordCount:e,characterCount:t,hasUnsavedChanges:r,pendingImagesCount:o=0})=>s.jsxs("div",{className:"flex justify-between items-center px-5 py-3 bg-gray-50 border-t border-gray-200 text-sm text-gray-600",children:[s.jsxs("div",{className:"flex items-center gap-6",children:[s.jsxs("div",{children:["Words: ",s.jsx("strong",{className:"text-gray-800",children:e})]}),s.jsxs("div",{children:["Characters: ",s.jsx("strong",{className:"text-gray-800",children:t})]}),o>0&&s.jsxs("div",{className:"flex items-center gap-1",children:[s.jsx(N.Image,{size:14,className:"text-blue-600"}),s.jsxs("span",{className:"text-blue-600",children:[o," image",o!==1?"s":""]})]})]}),s.jsx("div",{className:"flex items-center gap-2",children:s.jsxs("div",{className:`flex items-center gap-1 ${r?"text-orange-600":"text-green-600"}`,children:[r&&s.jsx(N.Save,{size:14,className:"animate-pulse"}),s.jsx("strong",{children:r?"Unsaved Changes":"Saved"})]})})]}),Ot=({initialContent:e="",onImageUpload:t,imageUploadEndpoint:r,allowedImageTypes:o=["image/jpeg","image/png","image/gif","image/webp"],maxImageSize:a=5*1024*1024})=>{const[u,c]=y.useState({content:e,title:"Untitled Document",wordCount:e.trim()?e.trim().split(/\s+/).length:0,characterCount:e.length,hasUnsavedChanges:!1,pendingImages:[]}),i=y.useRef(null),m=y.useRef(new Map),f=y.useRef(e),A=y.useRef(!0),L=y.useCallback(()=>{if(!i.current)return;i.current.focus();const d=window.getSelection();if(d&&d.rangeCount>0){const x=d.getRangeAt(0);if(i.current.contains(x.commonAncestorContainer))return}const w=document.createRange();w.selectNodeContents(i.current),w.collapse(!1);const S=window.getSelection();S?.removeAllRanges(),S?.addRange(w)},[]),U=y.useCallback(()=>{const d=window.getSelection();if(!d||d.rangeCount===0||!i.current)return null;const w=d.getRangeAt(0);return i.current.contains(w.commonAncestorContainer)?w.cloneRange():null},[]),D=y.useCallback(d=>{if(!d||!i.current)return;i.current.focus();const w=window.getSelection();w?.removeAllRanges(),w?.addRange(d)},[]);y.useEffect(()=>{i.current&&A.current&&(i.current.innerHTML=e||"",A.current=!1)},[e]),y.useEffect(()=>{e!==f.current&&i.current&&(i.current.innerHTML=e,f.current=e,c(d=>({...d,content:e,wordCount:e.trim()?e.trim().split(/\s+/).length:0,characterCount:e.length,hasUnsavedChanges:!1})))},[e]);const T=y.useCallback(d=>{const w=d.trim()?d.trim().split(/\s+/).length:0,S=d.length;c(x=>({...x,content:d,wordCount:w,characterCount:S,hasUnsavedChanges:!0})),f.current=d},[]),B=y.useCallback(d=>{c(w=>({...w,title:d,hasUnsavedChanges:!0}))},[]),O=y.useCallback((d,w)=>{if(!i.current)return;const S=U();if(i.current.focus(),S)D(S);else{const x=window.getSelection();if(!x||x.rangeCount===0){const v=document.createRange();v.selectNodeContents(i.current),v.collapse(!1),x?.removeAllRanges(),x?.addRange(v)}}try{let x=!1;if(d==="formatBlock"&&w)x=document.execCommand("formatBlock",!1,`<${w}>`);else if(d==="createLink"&&w){const v=window.getSelection();v&&!v.isCollapsed?x=document.execCommand("createLink",!1,w):(document.execCommand("insertHTML",!1,`<a href="${w}" target="_blank">${w}</a>`),x=!0)}else x=document.execCommand(d,!1,w);x||console.warn(`Command ${d} failed to execute`),setTimeout(()=>{i.current&&T(i.current.innerHTML)},0)}catch(x){console.error(`Command ${d} failed:`,x)}i.current.focus()},[T,U,D]),J=y.useCallback(d=>o.includes(d.type)?d.size>a?{valid:!1,error:`File too large. Maximum size: ${Math.round(a/(1024*1024))}MB`}:{valid:!0}:{valid:!1,error:`Invalid file type. Allowed types: ${o.join(", ")}`},[o,a]),W=y.useCallback(async(d,w=!0)=>{const S=J(d);if(!S.valid){alert(S.error);return}if(!i.current)return;const x=`image-${Date.now()}-${Math.random().toString(36).substr(2,9)}`,v=new FileReader;v.onload=z=>{const F=z.target?.result;m.current.set(x,{originalUrl:F,fileName:d.name,size:d.size,type:d.type});const M=document.createElement("img");M.src=F,M.alt=d.name,M.className="max-w-full h-auto border rounded",M.setAttribute("data-image-id",x),M.setAttribute("data-file-name",d.name),M.style.maxWidth="100%",M.style.height="auto";const G=U();if(w&&G){G.deleteContents(),G.insertNode(M);const b=document.createRange();b.setStartAfter(M),b.collapse(!0);const V=window.getSelection();V?.removeAllRanges(),V?.addRange(b)}else i.current?.appendChild(M);i.current&&T(i?.current?.innerHTML),(t||r)&&c(b=>({...b,pendingImages:[...b.pendingImages,{id:x,file:d,placeholderUrl:F,status:"pending"}]})),i.current?.focus()},v.readAsDataURL(d)},[J,T,t,r,U]),C=y.useCallback(async()=>{if(!t&&!r)return;const d=u.pendingImages.filter(w=>w.status==="pending");if(d.length!==0){for(const w of d)try{c(v=>({...v,pendingImages:v.pendingImages.map(z=>z.id===w.id?{...z,status:"uploading"}:z)}));let S;if(t)S=await t(w.file);else if(r){const v=new FormData;v.append("image",w.file);const z=await fetch(r,{method:"POST",body:v});if(!z.ok)throw new Error(`Upload failed: ${z.statusText}`);const F=await z.json();S=F.url||F.imageUrl||F.data}else throw new Error("No upload method provided");const x=i.current?.querySelector(`img[data-image-id="${w.id}"]`);if(x){x.src=S,x.classList.add("uploaded");const v=m.current.get(w.id);v&&m.current.set(w.id,{...v,uploadedUrl:S})}c(v=>({...v,pendingImages:v.pendingImages.map(z=>z.id===w.id?{...z,status:"uploaded"}:z)}))}catch(S){console.error("Image upload failed:",S);const x=i.current?.querySelector(`img[data-image-id="${w.id}"]`);x&&x.classList.add("failed"),c(v=>({...v,pendingImages:v.pendingImages.map(z=>z.id===w.id?{...z,status:"failed"}:z)}))}i.current&&T(i.current.innerHTML)}},[u.pendingImages,t,r,T]),I=y.useCallback(d=>{const w=d.clipboardData.items;let S=!1;for(const x of w)if(x.type.indexOf("image")!==-1){d.preventDefault();const v=x.getAsFile();v&&(S=!0,W(v));break}S||setTimeout(()=>{i.current&&T(i.current.innerHTML)},0)},[W,T]),K=y.useCallback(d=>{d.preventDefault();const w=Array.from(d.dataTransfer.files);let S=!1;for(const x of w)x.type.startsWith("image/")&&(S=!0,W(x,!1));if(!S&&i.current){const x=window.getSelection();if(x&&x.rangeCount>0){const v=x.getRangeAt(0);i.current.contains(v.commonAncestorContainer)&&setTimeout(()=>{i.current&&T(i.current.innerHTML)},0)}}},[W,T]),Y=y.useCallback(()=>{try{const d=i.current?.innerHTML||u.content;return{success:!0,data:{title:u.title,content:d,metadata:{createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),wordCount:u.wordCount,characterCount:u.characterCount}}}}catch(d){return{success:!1,error:d instanceof Error?d.message:"Validation failed"}}},[u]),X=y.useCallback((d={includeStyles:!0,includeMeta:!0})=>{const w=Y();if(!w.success)throw new Error(w.error);const{data:S}=w;let x=`<!DOCTYPE html>
|
|
7
|
+
<%s key={someKey} {...props} />`,E,T,$,T),te[T+E]=!0)}if(T=null,k!==void 0&&(r(k),T=""+k),l(j)&&(r(j.key),T=""+j.key),"key"in j){k={};for(var ee in j)ee!=="key"&&(k[ee]=j[ee])}else k=j;return T&&i(k,typeof n=="function"?n.displayName||n.name||"Unknown":n),m(n,T,k,a(),Z,ae)}function O(n){F(n)?n._store&&(n._store.validated=1):typeof n=="object"&&n!==null&&n.$$typeof===c&&(n._payload.status==="fulfilled"?F(n._payload.value)&&n._payload.value._store&&(n._payload.value._store.validated=1):n._store&&(n._store.validated=1))}function F(n){return typeof n=="object"&&n!==null&&n.$$typeof===R}var B=b,R=Symbol.for("react.transitional.element"),W=Symbol.for("react.portal"),M=Symbol.for("react.fragment"),K=Symbol.for("react.strict_mode"),H=Symbol.for("react.profiler"),C=Symbol.for("react.consumer"),I=Symbol.for("react.context"),q=Symbol.for("react.forward_ref"),J=Symbol.for("react.suspense"),Q=Symbol.for("react.suspense_list"),p=Symbol.for("react.memo"),c=Symbol.for("react.lazy"),y=Symbol.for("react.activity"),S=Symbol.for("react.client.reference"),v=B.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,w=Object.prototype.hasOwnProperty,z=Array.isArray,D=console.createTask?console.createTask:function(){return null};B={react_stack_bottom_frame:function(n){return n()}};var P,V={},x=B.react_stack_bottom_frame.bind(B,d)(),Y=D(o(d)),te={};be.Fragment=M,be.jsx=function(n,j,k){var E=1e4>v.recentlyCreatedOwnerStacks++;return A(n,j,k,!1,E?Error("react-stack-top-frame"):x,E?D(o(n)):Y)},be.jsxs=function(n,j,k){var E=1e4>v.recentlyCreatedOwnerStacks++;return A(n,j,k,!0,E?Error("react-stack-top-frame"):x,E?D(o(n)):Y)}})()),be}var Ye;function It(){return Ye||(Ye=1,process.env.NODE_ENV==="production"?we.exports=zt():we.exports=_t()),we.exports}var s=It();const Nt=({onCommand:e,onSave:t,onExport:r,onClear:o,onImageUpload:a,showButtons:d=!1,hasUnsavedChanges:l,pendingImagesCount:i=0})=>{const[u,m]=b.useState([]),[A,O]=b.useState("p"),[F,B]=b.useState(!1),[R,W]=b.useState(!1),[M,K]=b.useState(!1),[H,C]=b.useState(!1),[I,q]=b.useState(!1),[J,Q]=b.useState(!1),[p,c]=b.useState("left"),y=b.useRef(null),S=b.useCallback(()=>{if(typeof window>"u"||typeof document>"u")return;const U=window.getSelection();if(!U||U.rangeCount===0||U.isCollapsed)return;const de=U.getRangeAt(0).commonAncestorContainer;B(document.queryCommandState("bold")),W(document.queryCommandState("italic")),K(document.queryCommandState("underline")),C(document.queryCommandState("strikeThrough")),q(document.queryCommandState("insertUnorderedList")),Q(document.queryCommandState("insertOrderedList")),document.queryCommandState("justifyLeft")?c("left"):document.queryCommandState("justifyCenter")?c("center"):document.queryCommandState("justifyRight")&&c("right");let oe=de,h="p";for(;oe&&oe!==document.body;){if(oe.nodeType===Node.ELEMENT_NODE){const ne=oe.tagName.toLowerCase();if(["h1","h2","h3","h4","h5","h6","p","div","blockquote","pre"].includes(ne)){["h1","h2"].includes(ne)&&(h=ne);break}}oe=oe.parentNode}O(h);const G=[];F&&G.push("bold"),R&&G.push("italic"),M&&G.push("underline"),H&&G.push("strikeThrough"),I&&G.push("insertUnorderedList"),J&&G.push("insertOrderedList"),p==="left"&&G.push("justifyLeft"),p==="center"&&G.push("justifyCenter"),p==="right"&&G.push("justifyRight"),(h==="h1"||h==="h2")&&G.push(`formatBlock:${h}`),m(G)},[F,R,M,H,I,J,p]);b.useEffect(()=>{const U=()=>{requestAnimationFrame(S)},N=()=>{setTimeout(S,10)},de=()=>{setTimeout(S,10)};return document.addEventListener("selectionchange",U),document.addEventListener("mouseup",N),document.addEventListener("keyup",de),S(),()=>{document.removeEventListener("selectionchange",U),document.removeEventListener("mouseup",N),document.removeEventListener("keyup",de)}},[S]);const v=()=>{const U=prompt("Enter URL:","https://");U&&e("createLink",U)},w=()=>{a()},z=U=>{e("formatBlock",U)},D=()=>{e("indent")},P=()=>{e("outdent")},V=()=>{e("undo")},x=()=>{e("redo")},Y=()=>{e("formatBlock","pre")},te=()=>{e("formatBlock","blockquote")},n=()=>{e("superscript")},j=()=>{e("subscript")},k=[{id:"undo",command:"undo",icon:s.jsx(L.Undo,{size:18}),title:"Undo",onClick:V},{id:"redo",command:"redo",icon:s.jsx(L.Redo,{size:18}),title:"Redo",onClick:x},{id:"separator-1",separator:!0},{id:"bold",command:"bold",icon:s.jsx(L.Bold,{size:18}),title:"Bold (Ctrl+B)",isActive:F},{id:"italic",command:"italic",icon:s.jsx(L.Italic,{size:18}),title:"Italic (Ctrl+I)",isActive:R},{id:"underline",command:"underline",icon:s.jsx(L.Underline,{size:18}),title:"Underline (Ctrl+U)",isActive:M},{id:"strikeThrough",command:"strikeThrough",icon:s.jsx(L.Strikethrough,{size:18}),title:"Strikethrough",isActive:H},{id:"separator-2",separator:!0},{id:"heading-1",command:"formatBlock",value:"h1",icon:s.jsx(L.Heading1,{size:18}),title:"Heading 1",isActive:A==="h1"},{id:"heading-2",command:"formatBlock",value:"h2",icon:s.jsx(L.Heading2,{size:18}),title:"Heading 2",isActive:A==="h2"},{id:"paragraph",command:"formatBlock",value:"p",icon:s.jsx(L.Type,{size:18}),title:"Paragraph",isActive:A==="p"},{id:"code",command:"formatBlock",value:"pre",icon:s.jsx(L.Code,{size:18}),title:"Code Block",onClick:Y},{id:"quote",command:"formatBlock",value:"blockquote",icon:s.jsx(L.Quote,{size:18}),title:"Blockquote",onClick:te},{id:"separator-3",separator:!0},{id:"unordered-list",command:"insertUnorderedList",icon:s.jsx(L.List,{size:18}),title:"Bullet List",isActive:I},{id:"ordered-list",command:"insertOrderedList",icon:s.jsx(L.ListOrdered,{size:18}),title:"Numbered List",isActive:J},{id:"indent",command:"indent",icon:s.jsx(L.Indent,{size:18}),title:"Indent",onClick:D},{id:"outdent",command:"outdent",icon:s.jsx(L.Outdent,{size:18}),title:"Outdent",onClick:P},{id:"separator-4",separator:!0},{id:"align-left",command:"justifyLeft",icon:s.jsx(L.AlignLeft,{size:18}),title:"Align Left",isActive:p==="left"},{id:"align-center",command:"justifyCenter",icon:s.jsx(L.AlignCenter,{size:18}),title:"Center",isActive:p==="center"},{id:"align-right",command:"justifyRight",icon:s.jsx(L.AlignRight,{size:18}),title:"Align Right",isActive:p==="right"},{id:"separator-5",separator:!0},{id:"superscript",command:"superscript",icon:s.jsx(L.Superscript,{size:18}),title:"Superscript",onClick:n},{id:"subscript",command:"subscript",icon:s.jsx(L.Subscript,{size:18}),title:"Subscript",onClick:j},{id:"link",command:"createLink",icon:s.jsx(L.Link,{size:18}),title:"Insert Link",onClick:v},{id:"image",command:"insertImage",icon:i>0?s.jsxs("div",{className:"relative",children:[s.jsx(L.Image,{size:18}),s.jsx("span",{className:"absolute -top-2 -right-2 bg-blue-600 text-white text-xs rounded-full w-4 h-4 flex items-center justify-center",children:i})]}):s.jsx(L.Image,{size:18}),title:"Insert Image",onClick:w}],E=U=>s.jsx("div",{className:"flex items-center border-r border-gray-200 pr-2 mr-2 last:border-r-0 last:pr-0 last:mr-0",children:U.map(N=>{if(N.separator)return s.jsx("div",{className:"w-px h-6 bg-gray-300 mx-2"},N.id);const de=N.isActive!==void 0?N.isActive:N.command?u.includes(N.command)||N.command==="formatBlock"&&N.value===A:!1;return s.jsx("button",{onClick:oe=>{oe.preventDefault(),oe.stopPropagation(),N.onClick?N.onClick():N.command==="formatBlock"&&N.value?z(N.value):N.command&&e(N.command,N.value),setTimeout(()=>{const h=document.querySelector('[contenteditable="true"]');h&&h.focus()},10)},title:N.title,type:"button",className:`min-w-[36px] h-9 flex items-center justify-center rounded-md border transition-all duration-150 ${de?"bg-blue-100 text-blue-600 border-blue-300 hover:bg-blue-200 shadow-sm":"bg-white border-gray-300 text-gray-700 hover:bg-gray-100 hover:border-gray-400"} active:scale-95 mx-0.5`,disabled:N.disabled,children:N.icon},N.id)})}),Z=k.slice(0,3),ae=k.slice(3,10),T=k.slice(10,16),$=k.slice(16,20),ee=k.slice(20,24),re=k.slice(24,28),se=k.slice(28);return s.jsxs("div",{ref:y,className:"flex flex-col sm:flex-row flex-wrap items-start sm:items-center justify-between p-3 bg-gray-50 border-b border-gray-200 gap-2",children:[s.jsxs("div",{className:"flex flex-wrap items-center gap-1 order-1 w-full sm:w-auto",children:[E(Z),E(ae),E(T),E($),E(ee),E(re),E(se)]}),d&&s.jsxs("div",{className:"flex items-center gap-2 order-2 sm:order-3 mt-2 sm:mt-0 flex-shrink-0",children:[s.jsxs("button",{onClick:U=>{U.preventDefault(),U.stopPropagation(),t(),setTimeout(()=>{const N=document.querySelector('[contenteditable="true"]');N&&N.focus()},10)},disabled:!l,title:"Save Document (Ctrl+S)",className:"flex items-center gap-2 px-4 py-2 bg-blue-600 text-white text-sm font-medium rounded-md hover:bg-blue-700 disabled:bg-blue-300 disabled:cursor-not-allowed transition-colors duration-200 active:scale-95",children:[s.jsx(L.Save,{size:16}),s.jsx("span",{className:"hidden sm:inline",children:"Save"})]}),s.jsxs("button",{onClick:U=>{U.preventDefault(),U.stopPropagation(),r(),setTimeout(()=>{const N=document.querySelector('[contenteditable="true"]');N&&N.focus()},10)},title:"Export as HTML",className:"flex items-center gap-2 px-4 py-2 bg-green-600 text-white text-sm font-medium rounded-md hover:bg-green-700 transition-colors duration-200 active:scale-95",children:[s.jsx(L.FileDown,{size:16}),s.jsx("span",{className:"hidden sm:inline",children:"Export"})]}),s.jsxs("button",{onClick:U=>{U.preventDefault(),U.stopPropagation(),o(),setTimeout(()=>{const N=document.querySelector('[contenteditable="true"]');N&&N.focus()},10)},title:"Clear Editor",className:"flex items-center gap-2 px-4 py-2 bg-red-600 text-white text-sm font-medium rounded-md hover:bg-red-700 transition-colors duration-200 active:scale-95",children:[s.jsx(L.Trash2,{size:16}),s.jsx("span",{className:"hidden sm:inline",children:"Clear"})]})]}),s.jsxs("div",{className:"flex items-center gap-3 text-sm text-gray-500 order-3 sm:order-2 mt-2 sm:mt-0 flex-shrink-0",children:[i>0&&s.jsxs("span",{className:"flex items-center gap-1",children:[s.jsx(L.Image,{size:14}),s.jsxs("span",{children:[i," pending"]})]}),l&&s.jsxs("span",{className:"flex items-center gap-1 text-amber-600",children:[s.jsx("span",{className:"w-2 h-2 bg-amber-500 rounded-full animate-pulse"}),s.jsx("span",{children:"Unsaved changes"})]})]})]})},Lt=({wordCount:e,characterCount:t,hasUnsavedChanges:r,pendingImagesCount:o=0})=>s.jsxs("div",{className:"flex justify-between items-center px-5 py-3 bg-gray-50 border-t border-gray-200 text-sm text-gray-600",children:[s.jsxs("div",{className:"flex items-center gap-6",children:[s.jsxs("div",{children:["Words: ",s.jsx("strong",{className:"text-gray-800",children:e})]}),s.jsxs("div",{children:["Characters: ",s.jsx("strong",{className:"text-gray-800",children:t})]}),o>0&&s.jsxs("div",{className:"flex items-center gap-1",children:[s.jsx(L.Image,{size:14,className:"text-blue-600"}),s.jsxs("span",{className:"text-blue-600",children:[o," image",o!==1?"s":""]})]})]}),s.jsx("div",{className:"flex items-center gap-2",children:s.jsxs("div",{className:`flex items-center gap-1 ${r?"text-orange-600":"text-green-600"}`,children:[r&&s.jsx(L.Save,{size:14,className:"animate-pulse"}),s.jsx("strong",{children:r?"Unsaved Changes":"Saved"})]})})]}),Ot=({initialContent:e="",onImageUpload:t,imageUploadEndpoint:r,allowedImageTypes:o=["image/jpeg","image/png","image/gif","image/webp"],maxImageSize:a=5*1024*1024})=>{const[d,l]=b.useState({content:e,title:"Untitled Document",wordCount:e.trim()?e.trim().split(/\s+/).length:0,characterCount:e.length,hasUnsavedChanges:!1,pendingImages:[]}),i=b.useRef(null),u=b.useRef(new Map),m=b.useRef(e),A=b.useRef(!0),O=b.useCallback(()=>{if(!i.current)return;i.current.focus();const c=window.getSelection();if(c&&c.rangeCount>0){const v=c.getRangeAt(0);if(i.current.contains(v.commonAncestorContainer))return}const y=document.createRange();y.selectNodeContents(i.current),y.collapse(!1);const S=window.getSelection();S?.removeAllRanges(),S?.addRange(y)},[]),F=b.useCallback(()=>{const c=window.getSelection();if(!c||c.rangeCount===0||!i.current)return null;const y=c.getRangeAt(0);return i.current.contains(y.commonAncestorContainer)?y.cloneRange():null},[]),B=b.useCallback(c=>{if(!c||!i.current)return;i.current.focus();const y=window.getSelection();y?.removeAllRanges(),y?.addRange(c)},[]);b.useEffect(()=>{i.current&&A.current&&(i.current.innerHTML=e||"",A.current=!1)},[e]),b.useEffect(()=>{e!==m.current&&i.current&&(i.current.innerHTML!==e&&(i.current.innerHTML=e),m.current=e,l(c=>({...c,content:e,wordCount:e.trim()?e.trim().split(/\s+/).length:0,characterCount:e.length,hasUnsavedChanges:!1})))},[e]);const R=b.useCallback(c=>{const y=c.trim()?c.trim().split(/\s+/).length:0,S=c.length;l(v=>({...v,content:c,wordCount:y,characterCount:S,hasUnsavedChanges:!0})),m.current=c},[]),W=b.useCallback(c=>{l(y=>({...y,title:c,hasUnsavedChanges:!0}))},[]),M=b.useCallback((c,y)=>{if(!i.current)return;const S=F();if(i.current.focus(),S)B(S);else{const v=window.getSelection();if(!v||v.rangeCount===0){const w=document.createRange();w.selectNodeContents(i.current),w.collapse(!1),v?.removeAllRanges(),v?.addRange(w)}}try{let v=!1;if(c==="formatBlock"&&y)v=document.execCommand("formatBlock",!1,`<${y}>`);else if(c==="createLink"&&y){const w=window.getSelection();w&&!w.isCollapsed?v=document.execCommand("createLink",!1,y):(document.execCommand("insertHTML",!1,`<a href="${y}" target="_blank">${y}</a>`),v=!0)}else v=document.execCommand(c,!1,y);v||console.warn(`Command ${c} failed to execute`),setTimeout(()=>{i.current&&R(i.current.innerHTML)},0)}catch(v){console.error(`Command ${c} failed:`,v)}i.current.focus()},[R,F,B]),K=b.useCallback(c=>o.includes(c.type)?c.size>a?{valid:!1,error:`File too large. Maximum size: ${Math.round(a/(1024*1024))}MB`}:{valid:!0}:{valid:!1,error:`Invalid file type. Allowed types: ${o.join(", ")}`},[o,a]),H=b.useCallback(async(c,y=!0)=>{const S=K(c);if(!S.valid){alert(S.error);return}if(!i.current)return;const v=`image-${Date.now()}-${Math.random().toString(36).substr(2,9)}`,w=new FileReader;w.onload=z=>{const D=z.target?.result;u.current.set(v,{originalUrl:D,fileName:c.name,size:c.size,type:c.type});const P=document.createElement("img");P.src=D,P.alt=c.name,P.className="max-w-full h-auto border rounded",P.setAttribute("data-image-id",v),P.setAttribute("data-file-name",c.name),P.style.maxWidth="100%",P.style.height="auto";const V=F();if(y&&V){V.deleteContents(),V.insertNode(P);const x=document.createRange();x.setStartAfter(P),x.collapse(!0);const Y=window.getSelection();Y?.removeAllRanges(),Y?.addRange(x)}else i.current?.appendChild(P);i.current&&R(i?.current?.innerHTML),(t||r)&&l(x=>({...x,pendingImages:[...x.pendingImages,{id:v,file:c,placeholderUrl:D,status:"pending"}]})),i.current?.focus()},w.readAsDataURL(c)},[K,R,t,r,F]),C=b.useCallback(async()=>{if(!t&&!r)return;const c=d.pendingImages.filter(y=>y.status==="pending");if(c.length!==0){for(const y of c)try{l(w=>({...w,pendingImages:w.pendingImages.map(z=>z.id===y.id?{...z,status:"uploading"}:z)}));let S;if(t)S=await t(y.file);else if(r){const w=new FormData;w.append("image",y.file);const z=await fetch(r,{method:"POST",body:w});if(!z.ok)throw new Error(`Upload failed: ${z.statusText}`);const D=await z.json();S=D.url||D.imageUrl||D.data}else throw new Error("No upload method provided");const v=i.current?.querySelector(`img[data-image-id="${y.id}"]`);if(v){v.src=S,v.classList.add("uploaded");const w=u.current.get(y.id);w&&u.current.set(y.id,{...w,uploadedUrl:S})}l(w=>({...w,pendingImages:w.pendingImages.map(z=>z.id===y.id?{...z,status:"uploaded"}:z)}))}catch(S){console.error("Image upload failed:",S);const v=i.current?.querySelector(`img[data-image-id="${y.id}"]`);v&&v.classList.add("failed"),l(w=>({...w,pendingImages:w.pendingImages.map(z=>z.id===y.id?{...z,status:"failed"}:z)}))}i.current&&R(i.current.innerHTML)}},[d.pendingImages,t,r,R]),I=b.useCallback(c=>{const y=c.clipboardData.items;let S=!1;for(const v of y)if(v.type.indexOf("image")!==-1){c.preventDefault();const w=v.getAsFile();w&&(S=!0,H(w));break}S||setTimeout(()=>{i.current&&R(i.current.innerHTML)},0)},[H,R]),q=b.useCallback(c=>{c.preventDefault();const y=Array.from(c.dataTransfer.files);let S=!1;for(const v of y)v.type.startsWith("image/")&&(S=!0,H(v,!1));if(!S&&i.current){const v=window.getSelection();if(v&&v.rangeCount>0){const w=v.getRangeAt(0);i.current.contains(w.commonAncestorContainer)&&setTimeout(()=>{i.current&&R(i.current.innerHTML)},0)}}},[H,R]),J=b.useCallback(()=>{try{const c=i.current?.innerHTML||d.content;return{success:!0,data:{title:d.title,content:c,metadata:{createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),wordCount:d.wordCount,characterCount:d.characterCount}}}}catch(c){return{success:!1,error:c instanceof Error?c.message:"Validation failed"}}},[d]),Q=b.useCallback((c={includeStyles:!0,includeMeta:!0})=>{const y=J();if(!y.success)throw new Error(y.error);const{data:S}=y;let v=`<!DOCTYPE html>
|
|
8
8
|
<html>
|
|
9
9
|
<head>
|
|
10
10
|
<meta charset="UTF-8">
|
|
11
11
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
12
|
-
<title>${S?.title||"Document"}</title>`;return
|
|
12
|
+
<title>${S?.title||"Document"}</title>`;return c.includeStyles&&(v+=`
|
|
13
13
|
<style>
|
|
14
14
|
body {
|
|
15
15
|
font-family: system-ui, -apple-system, sans-serif;
|
|
@@ -44,18 +44,18 @@ React keys must be passed directly to JSX without using spread:
|
|
|
44
44
|
a { color: #2563eb; text-decoration: underline; }
|
|
45
45
|
.image-uploading { opacity: 0.7; }
|
|
46
46
|
.image-failed { border: 2px solid #ef4444; }
|
|
47
|
-
</style>`),
|
|
47
|
+
</style>`),v+=`
|
|
48
48
|
</head>
|
|
49
|
-
<body>`,
|
|
49
|
+
<body>`,c.includeMeta&&S&&(v+=`
|
|
50
50
|
<div class="document-meta">
|
|
51
51
|
<h1>${S.title}</h1>
|
|
52
52
|
<p><small>Created: ${new Date(S.metadata.createdAt).toLocaleString()} |
|
|
53
53
|
Words: ${S.metadata.wordCount} |
|
|
54
54
|
Characters: ${S.metadata.characterCount}</small></p>
|
|
55
55
|
<hr>
|
|
56
|
-
</div>`),
|
|
57
|
-
<div class="${
|
|
56
|
+
</div>`),v+=`
|
|
57
|
+
<div class="${c.includeStyles?"readonly-content":""}">
|
|
58
58
|
${S?.content||""}
|
|
59
59
|
</div>
|
|
60
60
|
</body>
|
|
61
|
-
</html>`,x},[Y]),h=y.useCallback(()=>{c({content:"",title:"Untitled Document",wordCount:0,characterCount:0,hasUnsavedChanges:!1,pendingImages:[]}),m.current.clear(),i.current&&(i.current.innerHTML="",L()),f.current=""},[L]);return{editorState:u,editorRef:i,updateContent:T,updateTitle:B,executeCommand:O,getValidationResult:Y,exportToHTML:X,clearEditor:h,handlePaste:I,handleDrop:K,insertImage:W,uploadPendingImages:C}},Mt=(e,t)=>{const r=new Array(e.length+t.length);for(let o=0;o<e.length;o++)r[o]=e[o];for(let o=0;o<t.length;o++)r[e.length+o]=t[o];return r},Pt=(e,t)=>({classGroupId:e,validator:t}),Ye=(e=new Map,t=null,r)=>({nextPart:e,validators:t,classGroupId:r}),ve="-",Je=[],Ut="arbitrary..",Ft=e=>{const t=Bt(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:o}=e;return{getClassGroupId:c=>{if(c.startsWith("[")&&c.endsWith("]"))return Dt(c);const i=c.split(ve),m=i[0]===""&&i.length>1?1:0;return qe(i,m,t)},getConflictingClassGroupIds:(c,i)=>{if(i){const m=o[c],f=r[c];return m?f?Mt(f,m):m:f||Je}return r[c]||Je}}},qe=(e,t,r)=>{if(e.length-t===0)return r.classGroupId;const a=e[t],u=r.nextPart.get(a);if(u){const f=qe(e,t+1,u);if(f)return f}const c=r.validators;if(c===null)return;const i=t===0?e.join(ve):e.slice(t).join(ve),m=c.length;for(let f=0;f<m;f++){const A=c[f];if(A.validator(i))return A.classGroupId}},Dt=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const t=e.slice(1,-1),r=t.indexOf(":"),o=t.slice(0,r);return o?Ut+o:void 0})(),Bt=e=>{const{theme:t,classGroups:r}=e;return Gt(r,t)},Gt=(e,t)=>{const r=Ye();for(const o in e){const a=e[o];ke(a,r,o,t)}return r},ke=(e,t,r,o)=>{const a=e.length;for(let u=0;u<a;u++){const c=e[u];Wt(c,t,r,o)}},Wt=(e,t,r,o)=>{if(typeof e=="string"){Vt(e,t,r);return}if(typeof e=="function"){Ht(e,t,r,o);return}Yt(e,t,r,o)},Vt=(e,t,r)=>{const o=e===""?t:Ke(t,e);o.classGroupId=r},Ht=(e,t,r,o)=>{if(Jt(e)){ke(e(o),t,r,o);return}t.validators===null&&(t.validators=[]),t.validators.push(Pt(r,e))},Yt=(e,t,r,o)=>{const a=Object.entries(e),u=a.length;for(let c=0;c<u;c++){const[i,m]=a[c];ke(m,Ke(t,i),r,o)}},Ke=(e,t)=>{let r=e;const o=t.split(ve),a=o.length;for(let u=0;u<a;u++){const c=o[u];let i=r.nextPart.get(c);i||(i=Ye(),r.nextPart.set(c,i)),r=i}return r},Jt=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,qt=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,r=Object.create(null),o=Object.create(null);const a=(u,c)=>{r[u]=c,t++,t>e&&(t=0,o=r,r=Object.create(null))};return{get(u){let c=r[u];if(c!==void 0)return c;if((c=o[u])!==void 0)return a(u,c),c},set(u,c){u in r?r[u]=c:a(u,c)}}},je="!",Xe=":",Kt=[],Qe=(e,t,r,o,a)=>({modifiers:e,hasImportantModifier:t,baseClassName:r,maybePostfixModifierPosition:o,isExternal:a}),Xt=e=>{const{prefix:t,experimentalParseClassName:r}=e;let o=a=>{const u=[];let c=0,i=0,m=0,f;const A=a.length;for(let B=0;B<A;B++){const O=a[B];if(c===0&&i===0){if(O===Xe){u.push(a.slice(m,B)),m=B+1;continue}if(O==="/"){f=B;continue}}O==="["?c++:O==="]"?c--:O==="("?i++:O===")"&&i--}const L=u.length===0?a:a.slice(m);let U=L,D=!1;L.endsWith(je)?(U=L.slice(0,-1),D=!0):L.startsWith(je)&&(U=L.slice(1),D=!0);const T=f&&f>m?f-m:void 0;return Qe(u,D,U,T)};if(t){const a=t+Xe,u=o;o=c=>c.startsWith(a)?u(c.slice(a.length)):Qe(Kt,!1,c,void 0,!0)}if(r){const a=o;o=u=>r({className:u,parseClassName:a})}return o},Qt=e=>{const t=new Map;return e.orderSensitiveModifiers.forEach((r,o)=>{t.set(r,1e6+o)}),r=>{const o=[];let a=[];for(let u=0;u<r.length;u++){const c=r[u],i=c[0]==="[",m=t.has(c);i||m?(a.length>0&&(a.sort(),o.push(...a),a=[]),o.push(c)):a.push(c)}return a.length>0&&(a.sort(),o.push(...a)),o}},Zt=e=>({cache:qt(e.cacheSize),parseClassName:Xt(e),sortModifiers:Qt(e),...Ft(e)}),$t=/\s+/,er=(e,t)=>{const{parseClassName:r,getClassGroupId:o,getConflictingClassGroupIds:a,sortModifiers:u}=t,c=[],i=e.trim().split($t);let m="";for(let f=i.length-1;f>=0;f-=1){const A=i[f],{isExternal:L,modifiers:U,hasImportantModifier:D,baseClassName:T,maybePostfixModifierPosition:B}=r(A);if(L){m=A+(m.length>0?" "+m:m);continue}let O=!!B,J=o(O?T.substring(0,B):T);if(!J){if(!O){m=A+(m.length>0?" "+m:m);continue}if(J=o(T),!J){m=A+(m.length>0?" "+m:m);continue}O=!1}const W=U.length===0?"":U.length===1?U[0]:u(U).join(":"),C=D?W+je:W,I=C+J;if(c.indexOf(I)>-1)continue;c.push(I);const K=a(J,O);for(let Y=0;Y<K.length;++Y){const X=K[Y];c.push(C+X)}m=A+(m.length>0?" "+m:m)}return m},tr=(...e)=>{let t=0,r,o,a="";for(;t<e.length;)(r=e[t++])&&(o=Ze(r))&&(a&&(a+=" "),a+=o);return a},Ze=e=>{if(typeof e=="string")return e;let t,r="";for(let o=0;o<e.length;o++)e[o]&&(t=Ze(e[o]))&&(r&&(r+=" "),r+=t);return r},rr=(e,...t)=>{let r,o,a,u;const c=m=>{const f=t.reduce((A,L)=>L(A),e());return r=Zt(f),o=r.cache.get,a=r.cache.set,u=i,i(m)},i=m=>{const f=o(m);if(f)return f;const A=er(m,r);return a(m,A),A};return u=c,(...m)=>u(tr(...m))},or=[],q=e=>{const t=r=>r[e]||or;return t.isThemeGetter=!0,t},$e=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,et=/^\((?:(\w[\w-]*):)?(.+)\)$/i,nr=/^\d+\/\d+$/,ar=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,ir=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,sr=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,lr=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,cr=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,ue=e=>nr.test(e),_=e=>!!e&&!Number.isNaN(Number(e)),le=e=>!!e&&Number.isInteger(Number(e)),Ce=e=>e.endsWith("%")&&_(e.slice(0,-1)),ie=e=>ar.test(e),dr=()=>!0,ur=e=>ir.test(e)&&!sr.test(e),tt=()=>!1,mr=e=>lr.test(e),fr=e=>cr.test(e),gr=e=>!g(e)&&!p(e),pr=e=>me(e,it,tt),g=e=>$e.test(e),ce=e=>me(e,st,ur),Se=e=>me(e,wr,_),rt=e=>me(e,nt,tt),hr=e=>me(e,at,fr),we=e=>me(e,lt,mr),p=e=>et.test(e),he=e=>fe(e,st),br=e=>fe(e,yr),ot=e=>fe(e,nt),xr=e=>fe(e,it),vr=e=>fe(e,at),ye=e=>fe(e,lt,!0),me=(e,t,r)=>{const o=$e.exec(e);return o?o[1]?t(o[1]):r(o[2]):!1},fe=(e,t,r=!1)=>{const o=et.exec(e);return o?o[1]?t(o[1]):r:!1},nt=e=>e==="position"||e==="percentage",at=e=>e==="image"||e==="url",it=e=>e==="length"||e==="size"||e==="bg-size",st=e=>e==="length",wr=e=>e==="number",yr=e=>e==="family-name",lt=e=>e==="shadow",kr=rr(()=>{const e=q("color"),t=q("font"),r=q("text"),o=q("font-weight"),a=q("tracking"),u=q("leading"),c=q("breakpoint"),i=q("container"),m=q("spacing"),f=q("radius"),A=q("shadow"),L=q("inset-shadow"),U=q("text-shadow"),D=q("drop-shadow"),T=q("blur"),B=q("perspective"),O=q("aspect"),J=q("ease"),W=q("animate"),C=()=>["auto","avoid","all","avoid-page","page","left","right","column"],I=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],K=()=>[...I(),p,g],Y=()=>["auto","hidden","clip","visible","scroll"],X=()=>["auto","contain","none"],h=()=>[p,g,m],d=()=>[ue,"full","auto",...h()],w=()=>[le,"none","subgrid",p,g],S=()=>["auto",{span:["full",le,p,g]},le,p,g],x=()=>[le,"auto",p,g],v=()=>["auto","min","max","fr",p,g],z=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],F=()=>["start","end","center","stretch","center-safe","end-safe"],M=()=>["auto",...h()],G=()=>[ue,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...h()],b=()=>[e,p,g],V=()=>[...I(),ot,rt,{position:[p,g]}],re=()=>["no-repeat",{repeat:["","x","y","space","round"]}],n=()=>["auto","cover","contain",xr,pr,{size:[p,g]}],j=()=>[Ce,he,ce],k=()=>["","none","full",f,p,g],R=()=>["",_,he,ce],ee=()=>["solid","dashed","dotted","double"],ne=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],E=()=>[_,Ce,ot,rt],$=()=>["","none",T,p,g],oe=()=>["none",_,p,g],ae=()=>["none",_,p,g],de=()=>[_,p,g],P=()=>[ue,"full",...h()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[ie],breakpoint:[ie],color:[dr],container:[ie],"drop-shadow":[ie],ease:["in","out","in-out"],font:[gr],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[ie],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[ie],shadow:[ie],spacing:["px",_],text:[ie],"text-shadow":[ie],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",ue,g,p,O]}],container:["container"],columns:[{columns:[_,g,p,i]}],"break-after":[{"break-after":C()}],"break-before":[{"break-before":C()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:K()}],overflow:[{overflow:Y()}],"overflow-x":[{"overflow-x":Y()}],"overflow-y":[{"overflow-y":Y()}],overscroll:[{overscroll:X()}],"overscroll-x":[{"overscroll-x":X()}],"overscroll-y":[{"overscroll-y":X()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:d()}],"inset-x":[{"inset-x":d()}],"inset-y":[{"inset-y":d()}],start:[{start:d()}],end:[{end:d()}],top:[{top:d()}],right:[{right:d()}],bottom:[{bottom:d()}],left:[{left:d()}],visibility:["visible","invisible","collapse"],z:[{z:[le,"auto",p,g]}],basis:[{basis:[ue,"full","auto",i,...h()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[_,ue,"auto","initial","none",g]}],grow:[{grow:["",_,p,g]}],shrink:[{shrink:["",_,p,g]}],order:[{order:[le,"first","last","none",p,g]}],"grid-cols":[{"grid-cols":w()}],"col-start-end":[{col:S()}],"col-start":[{"col-start":x()}],"col-end":[{"col-end":x()}],"grid-rows":[{"grid-rows":w()}],"row-start-end":[{row:S()}],"row-start":[{"row-start":x()}],"row-end":[{"row-end":x()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":v()}],"auto-rows":[{"auto-rows":v()}],gap:[{gap:h()}],"gap-x":[{"gap-x":h()}],"gap-y":[{"gap-y":h()}],"justify-content":[{justify:[...z(),"normal"]}],"justify-items":[{"justify-items":[...F(),"normal"]}],"justify-self":[{"justify-self":["auto",...F()]}],"align-content":[{content:["normal",...z()]}],"align-items":[{items:[...F(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...F(),{baseline:["","last"]}]}],"place-content":[{"place-content":z()}],"place-items":[{"place-items":[...F(),"baseline"]}],"place-self":[{"place-self":["auto",...F()]}],p:[{p:h()}],px:[{px:h()}],py:[{py:h()}],ps:[{ps:h()}],pe:[{pe:h()}],pt:[{pt:h()}],pr:[{pr:h()}],pb:[{pb:h()}],pl:[{pl:h()}],m:[{m:M()}],mx:[{mx:M()}],my:[{my:M()}],ms:[{ms:M()}],me:[{me:M()}],mt:[{mt:M()}],mr:[{mr:M()}],mb:[{mb:M()}],ml:[{ml:M()}],"space-x":[{"space-x":h()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":h()}],"space-y-reverse":["space-y-reverse"],size:[{size:G()}],w:[{w:[i,"screen",...G()]}],"min-w":[{"min-w":[i,"screen","none",...G()]}],"max-w":[{"max-w":[i,"screen","none","prose",{screen:[c]},...G()]}],h:[{h:["screen","lh",...G()]}],"min-h":[{"min-h":["screen","lh","none",...G()]}],"max-h":[{"max-h":["screen","lh",...G()]}],"font-size":[{text:["base",r,he,ce]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,p,Se]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Ce,g]}],"font-family":[{font:[br,g,t]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[a,p,g]}],"line-clamp":[{"line-clamp":[_,"none",p,Se]}],leading:[{leading:[u,...h()]}],"list-image":[{"list-image":["none",p,g]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",p,g]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:b()}],"text-color":[{text:b()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ee(),"wavy"]}],"text-decoration-thickness":[{decoration:[_,"from-font","auto",p,ce]}],"text-decoration-color":[{decoration:b()}],"underline-offset":[{"underline-offset":[_,"auto",p,g]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:h()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",p,g]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",p,g]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:V()}],"bg-repeat":[{bg:re()}],"bg-size":[{bg:n()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},le,p,g],radial:["",p,g],conic:[le,p,g]},vr,hr]}],"bg-color":[{bg:b()}],"gradient-from-pos":[{from:j()}],"gradient-via-pos":[{via:j()}],"gradient-to-pos":[{to:j()}],"gradient-from":[{from:b()}],"gradient-via":[{via:b()}],"gradient-to":[{to:b()}],rounded:[{rounded:k()}],"rounded-s":[{"rounded-s":k()}],"rounded-e":[{"rounded-e":k()}],"rounded-t":[{"rounded-t":k()}],"rounded-r":[{"rounded-r":k()}],"rounded-b":[{"rounded-b":k()}],"rounded-l":[{"rounded-l":k()}],"rounded-ss":[{"rounded-ss":k()}],"rounded-se":[{"rounded-se":k()}],"rounded-ee":[{"rounded-ee":k()}],"rounded-es":[{"rounded-es":k()}],"rounded-tl":[{"rounded-tl":k()}],"rounded-tr":[{"rounded-tr":k()}],"rounded-br":[{"rounded-br":k()}],"rounded-bl":[{"rounded-bl":k()}],"border-w":[{border:R()}],"border-w-x":[{"border-x":R()}],"border-w-y":[{"border-y":R()}],"border-w-s":[{"border-s":R()}],"border-w-e":[{"border-e":R()}],"border-w-t":[{"border-t":R()}],"border-w-r":[{"border-r":R()}],"border-w-b":[{"border-b":R()}],"border-w-l":[{"border-l":R()}],"divide-x":[{"divide-x":R()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":R()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ee(),"hidden","none"]}],"divide-style":[{divide:[...ee(),"hidden","none"]}],"border-color":[{border:b()}],"border-color-x":[{"border-x":b()}],"border-color-y":[{"border-y":b()}],"border-color-s":[{"border-s":b()}],"border-color-e":[{"border-e":b()}],"border-color-t":[{"border-t":b()}],"border-color-r":[{"border-r":b()}],"border-color-b":[{"border-b":b()}],"border-color-l":[{"border-l":b()}],"divide-color":[{divide:b()}],"outline-style":[{outline:[...ee(),"none","hidden"]}],"outline-offset":[{"outline-offset":[_,p,g]}],"outline-w":[{outline:["",_,he,ce]}],"outline-color":[{outline:b()}],shadow:[{shadow:["","none",A,ye,we]}],"shadow-color":[{shadow:b()}],"inset-shadow":[{"inset-shadow":["none",L,ye,we]}],"inset-shadow-color":[{"inset-shadow":b()}],"ring-w":[{ring:R()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:b()}],"ring-offset-w":[{"ring-offset":[_,ce]}],"ring-offset-color":[{"ring-offset":b()}],"inset-ring-w":[{"inset-ring":R()}],"inset-ring-color":[{"inset-ring":b()}],"text-shadow":[{"text-shadow":["none",U,ye,we]}],"text-shadow-color":[{"text-shadow":b()}],opacity:[{opacity:[_,p,g]}],"mix-blend":[{"mix-blend":[...ne(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ne()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[_]}],"mask-image-linear-from-pos":[{"mask-linear-from":E()}],"mask-image-linear-to-pos":[{"mask-linear-to":E()}],"mask-image-linear-from-color":[{"mask-linear-from":b()}],"mask-image-linear-to-color":[{"mask-linear-to":b()}],"mask-image-t-from-pos":[{"mask-t-from":E()}],"mask-image-t-to-pos":[{"mask-t-to":E()}],"mask-image-t-from-color":[{"mask-t-from":b()}],"mask-image-t-to-color":[{"mask-t-to":b()}],"mask-image-r-from-pos":[{"mask-r-from":E()}],"mask-image-r-to-pos":[{"mask-r-to":E()}],"mask-image-r-from-color":[{"mask-r-from":b()}],"mask-image-r-to-color":[{"mask-r-to":b()}],"mask-image-b-from-pos":[{"mask-b-from":E()}],"mask-image-b-to-pos":[{"mask-b-to":E()}],"mask-image-b-from-color":[{"mask-b-from":b()}],"mask-image-b-to-color":[{"mask-b-to":b()}],"mask-image-l-from-pos":[{"mask-l-from":E()}],"mask-image-l-to-pos":[{"mask-l-to":E()}],"mask-image-l-from-color":[{"mask-l-from":b()}],"mask-image-l-to-color":[{"mask-l-to":b()}],"mask-image-x-from-pos":[{"mask-x-from":E()}],"mask-image-x-to-pos":[{"mask-x-to":E()}],"mask-image-x-from-color":[{"mask-x-from":b()}],"mask-image-x-to-color":[{"mask-x-to":b()}],"mask-image-y-from-pos":[{"mask-y-from":E()}],"mask-image-y-to-pos":[{"mask-y-to":E()}],"mask-image-y-from-color":[{"mask-y-from":b()}],"mask-image-y-to-color":[{"mask-y-to":b()}],"mask-image-radial":[{"mask-radial":[p,g]}],"mask-image-radial-from-pos":[{"mask-radial-from":E()}],"mask-image-radial-to-pos":[{"mask-radial-to":E()}],"mask-image-radial-from-color":[{"mask-radial-from":b()}],"mask-image-radial-to-color":[{"mask-radial-to":b()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":I()}],"mask-image-conic-pos":[{"mask-conic":[_]}],"mask-image-conic-from-pos":[{"mask-conic-from":E()}],"mask-image-conic-to-pos":[{"mask-conic-to":E()}],"mask-image-conic-from-color":[{"mask-conic-from":b()}],"mask-image-conic-to-color":[{"mask-conic-to":b()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:V()}],"mask-repeat":[{mask:re()}],"mask-size":[{mask:n()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",p,g]}],filter:[{filter:["","none",p,g]}],blur:[{blur:$()}],brightness:[{brightness:[_,p,g]}],contrast:[{contrast:[_,p,g]}],"drop-shadow":[{"drop-shadow":["","none",D,ye,we]}],"drop-shadow-color":[{"drop-shadow":b()}],grayscale:[{grayscale:["",_,p,g]}],"hue-rotate":[{"hue-rotate":[_,p,g]}],invert:[{invert:["",_,p,g]}],saturate:[{saturate:[_,p,g]}],sepia:[{sepia:["",_,p,g]}],"backdrop-filter":[{"backdrop-filter":["","none",p,g]}],"backdrop-blur":[{"backdrop-blur":$()}],"backdrop-brightness":[{"backdrop-brightness":[_,p,g]}],"backdrop-contrast":[{"backdrop-contrast":[_,p,g]}],"backdrop-grayscale":[{"backdrop-grayscale":["",_,p,g]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[_,p,g]}],"backdrop-invert":[{"backdrop-invert":["",_,p,g]}],"backdrop-opacity":[{"backdrop-opacity":[_,p,g]}],"backdrop-saturate":[{"backdrop-saturate":[_,p,g]}],"backdrop-sepia":[{"backdrop-sepia":["",_,p,g]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":h()}],"border-spacing-x":[{"border-spacing-x":h()}],"border-spacing-y":[{"border-spacing-y":h()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",p,g]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[_,"initial",p,g]}],ease:[{ease:["linear","initial",J,p,g]}],delay:[{delay:[_,p,g]}],animate:[{animate:["none",W,p,g]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[B,p,g]}],"perspective-origin":[{"perspective-origin":K()}],rotate:[{rotate:oe()}],"rotate-x":[{"rotate-x":oe()}],"rotate-y":[{"rotate-y":oe()}],"rotate-z":[{"rotate-z":oe()}],scale:[{scale:ae()}],"scale-x":[{"scale-x":ae()}],"scale-y":[{"scale-y":ae()}],"scale-z":[{"scale-z":ae()}],"scale-3d":["scale-3d"],skew:[{skew:de()}],"skew-x":[{"skew-x":de()}],"skew-y":[{"skew-y":de()}],transform:[{transform:[p,g,"","none","gpu","cpu"]}],"transform-origin":[{origin:K()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:P()}],"translate-x":[{"translate-x":P()}],"translate-y":[{"translate-y":P()}],"translate-z":[{"translate-z":P()}],"translate-none":["translate-none"],accent:[{accent:b()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:b()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",p,g]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":h()}],"scroll-mx":[{"scroll-mx":h()}],"scroll-my":[{"scroll-my":h()}],"scroll-ms":[{"scroll-ms":h()}],"scroll-me":[{"scroll-me":h()}],"scroll-mt":[{"scroll-mt":h()}],"scroll-mr":[{"scroll-mr":h()}],"scroll-mb":[{"scroll-mb":h()}],"scroll-ml":[{"scroll-ml":h()}],"scroll-p":[{"scroll-p":h()}],"scroll-px":[{"scroll-px":h()}],"scroll-py":[{"scroll-py":h()}],"scroll-ps":[{"scroll-ps":h()}],"scroll-pe":[{"scroll-pe":h()}],"scroll-pt":[{"scroll-pt":h()}],"scroll-pr":[{"scroll-pr":h()}],"scroll-pb":[{"scroll-pb":h()}],"scroll-pl":[{"scroll-pl":h()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",p,g]}],fill:[{fill:["none",...b()]}],"stroke-w":[{stroke:[_,he,ce,Se]}],stroke:[{stroke:["none",...b()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}});function ct(e){var t,r,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e)){var a=e.length;for(t=0;t<a;t++)e[t]&&(r=ct(e[t]))&&(o&&(o+=" "),o+=r)}else for(r in e)e[r]&&(o&&(o+=" "),o+=r);return o}function jr(){for(var e,t,r=0,o="",a=arguments.length;r<a;r++)(e=arguments[r])&&(t=ct(e))&&(o&&(o+=" "),o+=t);return o}function Te(...e){return kr(jr(e))}var Re,dt;function ut(){if(dt)return Re;dt=1;function e(t){var r=typeof t;return t!=null&&(r=="object"||r=="function")}return Re=e,Re}var Ee,mt;function Cr(){if(mt)return Ee;mt=1;var e=typeof be=="object"&&be&&be.Object===Object&&be;return Ee=e,Ee}var Ae,ft;function gt(){if(ft)return Ae;ft=1;var e=Cr(),t=typeof self=="object"&&self&&self.Object===Object&&self,r=e||t||Function("return this")();return Ae=r,Ae}var ze,pt;function Sr(){if(pt)return ze;pt=1;var e=gt(),t=function(){return e.Date.now()};return ze=t,ze}var _e,ht;function Tr(){if(ht)return _e;ht=1;var e=/\s/;function t(r){for(var o=r.length;o--&&e.test(r.charAt(o)););return o}return _e=t,_e}var Ie,bt;function Rr(){if(bt)return Ie;bt=1;var e=Tr(),t=/^\s+/;function r(o){return o&&o.slice(0,e(o)+1).replace(t,"")}return Ie=r,Ie}var Ne,xt;function vt(){if(xt)return Ne;xt=1;var e=gt(),t=e.Symbol;return Ne=t,Ne}var Le,wt;function Er(){if(wt)return Le;wt=1;var e=vt(),t=Object.prototype,r=t.hasOwnProperty,o=t.toString,a=e?e.toStringTag:void 0;function u(c){var i=r.call(c,a),m=c[a];try{c[a]=void 0;var f=!0}catch{}var A=o.call(c);return f&&(i?c[a]=m:delete c[a]),A}return Le=u,Le}var Oe,yt;function Ar(){if(yt)return Oe;yt=1;var e=Object.prototype,t=e.toString;function r(o){return t.call(o)}return Oe=r,Oe}var Me,kt;function zr(){if(kt)return Me;kt=1;var e=vt(),t=Er(),r=Ar(),o="[object Null]",a="[object Undefined]",u=e?e.toStringTag:void 0;function c(i){return i==null?i===void 0?a:o:u&&u in Object(i)?t(i):r(i)}return Me=c,Me}var Pe,jt;function _r(){if(jt)return Pe;jt=1;function e(t){return t!=null&&typeof t=="object"}return Pe=e,Pe}var Ue,Ct;function Ir(){if(Ct)return Ue;Ct=1;var e=zr(),t=_r(),r="[object Symbol]";function o(a){return typeof a=="symbol"||t(a)&&e(a)==r}return Ue=o,Ue}var Fe,St;function Nr(){if(St)return Fe;St=1;var e=Rr(),t=ut(),r=Ir(),o=NaN,a=/^[-+]0x[0-9a-f]+$/i,u=/^0b[01]+$/i,c=/^0o[0-7]+$/i,i=parseInt;function m(f){if(typeof f=="number")return f;if(r(f))return o;if(t(f)){var A=typeof f.valueOf=="function"?f.valueOf():f;f=t(A)?A+"":A}if(typeof f!="string")return f===0?f:+f;f=e(f);var L=u.test(f);return L||c.test(f)?i(f.slice(2),L?2:8):a.test(f)?o:+f}return Fe=m,Fe}var De,Tt;function Lr(){if(Tt)return De;Tt=1;var e=ut(),t=Sr(),r=Nr(),o="Expected a function",a=Math.max,u=Math.min;function c(i,m,f){var A,L,U,D,T,B,O=0,J=!1,W=!1,C=!0;if(typeof i!="function")throw new TypeError(o);m=r(m)||0,e(f)&&(J=!!f.leading,W="maxWait"in f,U=W?a(r(f.maxWait)||0,m):U,C="trailing"in f?!!f.trailing:C);function I(v){var z=A,F=L;return A=L=void 0,O=v,D=i.apply(F,z),D}function K(v){return O=v,T=setTimeout(h,m),J?I(v):D}function Y(v){var z=v-B,F=v-O,M=m-z;return W?u(M,U-F):M}function X(v){var z=v-B,F=v-O;return B===void 0||z>=m||z<0||W&&F>=U}function h(){var v=t();if(X(v))return d(v);T=setTimeout(h,Y(v))}function d(v){return T=void 0,C&&A?I(v):(A=L=void 0,D)}function w(){T!==void 0&&clearTimeout(T),O=0,A=B=L=T=void 0}function S(){return T===void 0?D:d(t())}function x(){var v=t(),z=X(v);if(A=arguments,L=this,B=v,z){if(T===void 0)return K(B);if(W)return clearTimeout(T),T=setTimeout(h,m),I(B)}return T===void 0&&(T=setTimeout(h,m)),D}return x.cancel=w,x.flush=S,x}return De=c,De}var Or=Lr();const Mr=At(Or),Rt=y.forwardRef(({initialContent:e="",onChange:t,onSave:r,onExport:o,readOnly:a=!1,showButtons:u=!1,showSaveTitle:c=!1,showStatusBar:i=!1,height:m="500px",onImageUpload:f,imageUploadEndpoint:A,allowedImageTypes:L=["image/jpeg","image/png","image/gif","image/webp","image/svg+xml"],maxImageSize:U=5*1024*1024,onInit:D,debounceDelay:T=300,className:B="",placeholder:O="Start typing here...",autoFocus:J=!1},W)=>{const{editorState:C,editorRef:I,updateContent:K,updateTitle:Y,executeCommand:X,getValidationResult:h,exportToHTML:d,clearEditor:w,handlePaste:S,handleDrop:x,insertImage:v,uploadPendingImages:z}=Ot({initialContent:e,onImageUpload:f,imageUploadEndpoint:A,allowedImageTypes:L,maxImageSize:U}),F=y.useRef(null),M=y.useRef(!1),G=y.useRef(null),[b,V]=y.useState(!1),[re,n]=y.useState(""),[j,k]=y.useState(!1),[R,ee]=y.useState(0),ne=y.useRef(null);y.useImperativeHandle(W,()=>({getContent:()=>C.content,getHTML:()=>d(),getTitle:()=>C.title,clear:w,focus:()=>{if(I.current){I.current.focus();const l=document.createRange();l.selectNodeContents(I.current),l.collapse(!1);const H=window.getSelection();H?.removeAllRanges(),H?.addRange(l)}},insertText:l=>{I.current&&(document.execCommand("insertText",!1,l),K(I.current.innerHTML))},insertHTML:l=>{I.current&&(document.execCommand("insertHTML",!1,l),K(I.current.innerHTML))},executeCommand:(l,H)=>{X(l,H)}})),y.useEffect(()=>{D&&I.current&&!M.current&&(D(I.current),M.current=!0)},[D,I]),y.useEffect(()=>{J&&I.current&&!a&&setTimeout(()=>{if(I.current){I.current.focus();const l=document.createRange();l.selectNodeContents(I.current),l.collapse(!1);const H=window.getSelection();H?.removeAllRanges(),H?.addRange(l)}},100)},[J,a,I]),y.useEffect(()=>{if(t)return G.current=Mr((l,H,Q)=>{t(l,H,Q)},T),()=>{G.current&&G.current.cancel()}},[t,T]),y.useEffect(()=>{if(!t||!C.content&&!C.content.trim())return;const l=(()=>{try{return d({includeStyles:!1,includeMeta:!1})}catch{return`<!DOCTYPE html><html><body>${C.content}</body></html>`}})();T>0&&G.current?G.current(C.content,l,C.title):t(C.content,l,C.title)},[C.content,C.title,t,d,T]);const E=y.useCallback(async()=>{if(G.current&&G.current.flush?.(),C.pendingImages.length>0){k(!0);try{await z(),n("Images uploaded successfully!"),setTimeout(()=>n(""),3e3)}catch{n("Failed to upload images. Please try again."),V(!0),setTimeout(()=>{V(!1),n("")},5e3),k(!1);return}finally{k(!1)}}const l=h();if(!l.success){n(l.error||"Please fix validation errors before saving."),V(!0),setTimeout(()=>{V(!1),n("")},3e3);return}try{r?.(C.content,d()),n("Document saved successfully!"),V(!0),setTimeout(()=>{V(!1),n("")},2e3)}catch{n("Failed to save document."),V(!0),setTimeout(()=>{V(!1),n("")},3e3)}},[C,z,h,d,r]),$=y.useCallback(async()=>{if(G.current&&G.current.flush?.(),C.pendingImages.length>0){k(!0);try{await z()}catch(l){console.error("Failed to upload images:",l)}finally{k(!1)}}try{const l=d();o?.(l);const H=new Blob([l],{type:"text/html"}),Q=URL.createObjectURL(H),Z=document.createElement("a");Z.href=Q,Z.download=`${C.title.replace(/[^\w\s]/gi,"").replace(/\s+/g,"_")||"document"}.html`,document.body.appendChild(Z),Z.click(),document.body.removeChild(Z),URL.revokeObjectURL(Q),n("Document exported successfully!"),V(!0),setTimeout(()=>{V(!1),n("")},2e3)}catch{n("Failed to export document."),V(!0),setTimeout(()=>{V(!1),n("")},3e3)}},[C,z,d,o]),oe=y.useCallback(l=>{K(l)},[K]),ae=async l=>{if(!l.target.files||a)return;const H=Array.from(l.target.files);let Q=0;const Z=H.length;for(const te of H)try{await v(te),Q++,ee(Math.round(Q/Z*100))}catch(Et){console.error("Failed to insert image:",Et)}ee(0),l.target.value=""},de=y.useCallback(()=>{a||I.current&&I.current.focus()},[a,I]),P=y.useCallback(l=>{(l.ctrlKey||l.metaKey)&&l.key==="s"&&(l.preventDefault(),E()),(l.ctrlKey||l.metaKey)&&l.key==="e"&&(l.preventDefault(),$()),(l.ctrlKey||l.metaKey)&&l.key==="k"&&l.shiftKey&&(l.preventDefault(),w())},[E,$,w]);return s.jsxs("div",{ref:ne,className:Te("relative w-full bg-white border border-gray-300 rounded-lg overflow-hidden flex flex-col",a&&"pointer-events-none opacity-80",B),style:{height:m},children:[c&&s.jsxs("div",{className:"p-4 md:p-6 border-b bg-gradient-to-r from-gray-50 to-white",children:[s.jsx("input",{className:"w-full text-xl md:text-2xl font-bold bg-transparent outline-none placeholder:text-gray-400",value:C.title,onChange:l=>Y(l.target.value),placeholder:"Document Title",readOnly:a,maxLength:100}),C.title.length>=90&&s.jsxs("div",{className:"text-xs text-gray-500 text-right mt-1",children:[C.title.length,"/100 characters"]})]}),s.jsx(Nt,{onCommand:X,onSave:E,onExport:$,showButtons:u,onClear:w,hasUnsavedChanges:C.hasUnsavedChanges,onImageUpload:()=>F.current?.click(),pendingImagesCount:C.pendingImages.length}),s.jsx("input",{ref:F,type:"file",className:"hidden",accept:L.join(","),multiple:!0,onChange:ae,disabled:a}),(b||j)&&s.jsx("div",{className:Te("px-4 py-3 text-sm flex items-center gap-2 transition-all duration-300",j?"bg-blue-50 text-blue-700 border-b border-blue-100":re.includes("success")?"bg-green-50 text-green-700 border-b border-green-100":"bg-red-50 text-red-700 border-b border-red-100"),children:j?s.jsxs(s.Fragment,{children:[s.jsx(N.Loader2,{className:"h-4 w-4 animate-spin"}),s.jsxs("span",{children:["Uploading images... ",R>0&&`${R}%`]})]}):re.includes("success")?s.jsxs(s.Fragment,{children:[s.jsx(N.CheckCircle,{className:"h-4 w-4"}),s.jsx("span",{children:re})]}):s.jsxs(s.Fragment,{children:[s.jsx(N.AlertCircle,{className:"h-4 w-4"}),s.jsx("span",{children:re})]})}),s.jsx("div",{ref:I,className:Te("flex-1 p-4 md:p-6 outline-none overflow-y-auto min-h-[200px] bg-white",a?"cursor-default select-text":"cursor-text",!C.content&&"relative"),contentEditable:!a,suppressContentEditableWarning:!0,onInput:l=>oe(l.currentTarget.innerHTML),onPaste:S,onDrop:x,onDragOver:l=>l.preventDefault(),onClick:de,onKeyDown:P,"data-placeholder":O,role:"textbox","aria-label":"Text editor","aria-multiline":"true",children:!C.content&&s.jsx("div",{className:"absolute top-6 left-6 text-gray-400 pointer-events-none select-none",children:O})}),C.pendingImages.length>0&&s.jsxs("div",{className:"px-4 py-3 text-sm text-blue-600 bg-blue-50 border-t border-blue-100 flex items-center justify-between",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(N.Upload,{size:16}),s.jsxs("span",{children:[C.pendingImages.length," image",C.pendingImages.length!==1?"s":""," pending upload"]})]}),s.jsx("button",{onClick:z,disabled:j,className:"text-sm px-3 py-1 bg-blue-100 hover:bg-blue-200 text-blue-700 rounded-md transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:j?"Uploading...":"Upload Now"})]}),i&&s.jsx(Lt,{wordCount:C.wordCount,characterCount:C.characterCount,hasUnsavedChanges:C.hasUnsavedChanges,pendingImagesCount:C.pendingImages.length}),!a&&s.jsx("div",{className:"hidden md:block absolute bottom-2 right-2 text-xs text-gray-400 bg-white/80 px-2 py-1 rounded",children:"Ctrl+S to save • Ctrl+E to export"})]})});Rt.displayName="TextEditor",se.TextEditor=Rt,Object.defineProperty(se,Symbol.toStringTag,{value:"Module"})}));
|
|
61
|
+
</html>`,v},[J]),p=b.useCallback(()=>{l({content:"",title:"Untitled Document",wordCount:0,characterCount:0,hasUnsavedChanges:!1,pendingImages:[]}),u.current.clear(),i.current&&(i.current.innerHTML="",O()),m.current=""},[O]);return{editorState:d,editorRef:i,updateContent:R,updateTitle:W,executeCommand:M,getValidationResult:J,exportToHTML:Q,clearEditor:p,handlePaste:I,handleDrop:q,insertImage:H,uploadPendingImages:C}},Mt=(e,t)=>{const r=new Array(e.length+t.length);for(let o=0;o<e.length;o++)r[o]=e[o];for(let o=0;o<t.length;o++)r[e.length+o]=t[o];return r},Pt=(e,t)=>({classGroupId:e,validator:t}),Je=(e=new Map,t=null,r)=>({nextPart:e,validators:t,classGroupId:r}),ye="-",Ke=[],Ut="arbitrary..",Ft=e=>{const t=Bt(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:o}=e;return{getClassGroupId:l=>{if(l.startsWith("[")&&l.endsWith("]"))return Dt(l);const i=l.split(ye),u=i[0]===""&&i.length>1?1:0;return Xe(i,u,t)},getConflictingClassGroupIds:(l,i)=>{if(i){const u=o[l],m=r[l];return u?m?Mt(m,u):u:m||Ke}return r[l]||Ke}}},Xe=(e,t,r)=>{if(e.length-t===0)return r.classGroupId;const a=e[t],d=r.nextPart.get(a);if(d){const m=Xe(e,t+1,d);if(m)return m}const l=r.validators;if(l===null)return;const i=t===0?e.join(ye):e.slice(t).join(ye),u=l.length;for(let m=0;m<u;m++){const A=l[m];if(A.validator(i))return A.classGroupId}},Dt=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const t=e.slice(1,-1),r=t.indexOf(":"),o=t.slice(0,r);return o?Ut+o:void 0})(),Bt=e=>{const{theme:t,classGroups:r}=e;return Gt(r,t)},Gt=(e,t)=>{const r=Je();for(const o in e){const a=e[o];je(a,r,o,t)}return r},je=(e,t,r,o)=>{const a=e.length;for(let d=0;d<a;d++){const l=e[d];Wt(l,t,r,o)}},Wt=(e,t,r,o)=>{if(typeof e=="string"){Vt(e,t,r);return}if(typeof e=="function"){Ht(e,t,r,o);return}Yt(e,t,r,o)},Vt=(e,t,r)=>{const o=e===""?t:qe(t,e);o.classGroupId=r},Ht=(e,t,r,o)=>{if(Jt(e)){je(e(o),t,r,o);return}t.validators===null&&(t.validators=[]),t.validators.push(Pt(r,e))},Yt=(e,t,r,o)=>{const a=Object.entries(e),d=a.length;for(let l=0;l<d;l++){const[i,u]=a[l];je(u,qe(t,i),r,o)}},qe=(e,t)=>{let r=e;const o=t.split(ye),a=o.length;for(let d=0;d<a;d++){const l=o[d];let i=r.nextPart.get(l);i||(i=Je(),r.nextPart.set(l,i)),r=i}return r},Jt=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,Kt=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,r=Object.create(null),o=Object.create(null);const a=(d,l)=>{r[d]=l,t++,t>e&&(t=0,o=r,r=Object.create(null))};return{get(d){let l=r[d];if(l!==void 0)return l;if((l=o[d])!==void 0)return a(d,l),l},set(d,l){d in r?r[d]=l:a(d,l)}}},Se="!",Qe=":",Xt=[],Ze=(e,t,r,o,a)=>({modifiers:e,hasImportantModifier:t,baseClassName:r,maybePostfixModifierPosition:o,isExternal:a}),qt=e=>{const{prefix:t,experimentalParseClassName:r}=e;let o=a=>{const d=[];let l=0,i=0,u=0,m;const A=a.length;for(let W=0;W<A;W++){const M=a[W];if(l===0&&i===0){if(M===Qe){d.push(a.slice(u,W)),u=W+1;continue}if(M==="/"){m=W;continue}}M==="["?l++:M==="]"?l--:M==="("?i++:M===")"&&i--}const O=d.length===0?a:a.slice(u);let F=O,B=!1;O.endsWith(Se)?(F=O.slice(0,-1),B=!0):O.startsWith(Se)&&(F=O.slice(1),B=!0);const R=m&&m>u?m-u:void 0;return Ze(d,B,F,R)};if(t){const a=t+Qe,d=o;o=l=>l.startsWith(a)?d(l.slice(a.length)):Ze(Xt,!1,l,void 0,!0)}if(r){const a=o;o=d=>r({className:d,parseClassName:a})}return o},Qt=e=>{const t=new Map;return e.orderSensitiveModifiers.forEach((r,o)=>{t.set(r,1e6+o)}),r=>{const o=[];let a=[];for(let d=0;d<r.length;d++){const l=r[d],i=l[0]==="[",u=t.has(l);i||u?(a.length>0&&(a.sort(),o.push(...a),a=[]),o.push(l)):a.push(l)}return a.length>0&&(a.sort(),o.push(...a)),o}},Zt=e=>({cache:Kt(e.cacheSize),parseClassName:qt(e),sortModifiers:Qt(e),...Ft(e)}),$t=/\s+/,er=(e,t)=>{const{parseClassName:r,getClassGroupId:o,getConflictingClassGroupIds:a,sortModifiers:d}=t,l=[],i=e.trim().split($t);let u="";for(let m=i.length-1;m>=0;m-=1){const A=i[m],{isExternal:O,modifiers:F,hasImportantModifier:B,baseClassName:R,maybePostfixModifierPosition:W}=r(A);if(O){u=A+(u.length>0?" "+u:u);continue}let M=!!W,K=o(M?R.substring(0,W):R);if(!K){if(!M){u=A+(u.length>0?" "+u:u);continue}if(K=o(R),!K){u=A+(u.length>0?" "+u:u);continue}M=!1}const H=F.length===0?"":F.length===1?F[0]:d(F).join(":"),C=B?H+Se:H,I=C+K;if(l.indexOf(I)>-1)continue;l.push(I);const q=a(K,M);for(let J=0;J<q.length;++J){const Q=q[J];l.push(C+Q)}u=A+(u.length>0?" "+u:u)}return u},tr=(...e)=>{let t=0,r,o,a="";for(;t<e.length;)(r=e[t++])&&(o=$e(r))&&(a&&(a+=" "),a+=o);return a},$e=e=>{if(typeof e=="string")return e;let t,r="";for(let o=0;o<e.length;o++)e[o]&&(t=$e(e[o]))&&(r&&(r+=" "),r+=t);return r},rr=(e,...t)=>{let r,o,a,d;const l=u=>{const m=t.reduce((A,O)=>O(A),e());return r=Zt(m),o=r.cache.get,a=r.cache.set,d=i,i(u)},i=u=>{const m=o(u);if(m)return m;const A=er(u,r);return a(u,A),A};return d=l,(...u)=>d(tr(...u))},or=[],X=e=>{const t=r=>r[e]||or;return t.isThemeGetter=!0,t},et=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,tt=/^\((?:(\w[\w-]*):)?(.+)\)$/i,nr=/^\d+\/\d+$/,ar=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,ir=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,sr=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,lr=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,cr=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,fe=e=>nr.test(e),_=e=>!!e&&!Number.isNaN(Number(e)),ce=e=>!!e&&Number.isInteger(Number(e)),Te=e=>e.endsWith("%")&&_(e.slice(0,-1)),ie=e=>ar.test(e),dr=()=>!0,ur=e=>ir.test(e)&&!sr.test(e),rt=()=>!1,mr=e=>lr.test(e),fr=e=>cr.test(e),gr=e=>!f(e)&&!g(e),pr=e=>ge(e,st,rt),f=e=>et.test(e),me=e=>ge(e,lt,ur),Re=e=>ge(e,wr,_),ot=e=>ge(e,at,rt),hr=e=>ge(e,it,fr),ke=e=>ge(e,ct,mr),g=e=>tt.test(e),xe=e=>pe(e,lt),br=e=>pe(e,yr),nt=e=>pe(e,at),xr=e=>pe(e,st),vr=e=>pe(e,it),Ce=e=>pe(e,ct,!0),ge=(e,t,r)=>{const o=et.exec(e);return o?o[1]?t(o[1]):r(o[2]):!1},pe=(e,t,r=!1)=>{const o=tt.exec(e);return o?o[1]?t(o[1]):r:!1},at=e=>e==="position"||e==="percentage",it=e=>e==="image"||e==="url",st=e=>e==="length"||e==="size"||e==="bg-size",lt=e=>e==="length",wr=e=>e==="number",yr=e=>e==="family-name",ct=e=>e==="shadow",kr=rr(()=>{const e=X("color"),t=X("font"),r=X("text"),o=X("font-weight"),a=X("tracking"),d=X("leading"),l=X("breakpoint"),i=X("container"),u=X("spacing"),m=X("radius"),A=X("shadow"),O=X("inset-shadow"),F=X("text-shadow"),B=X("drop-shadow"),R=X("blur"),W=X("perspective"),M=X("aspect"),K=X("ease"),H=X("animate"),C=()=>["auto","avoid","all","avoid-page","page","left","right","column"],I=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],q=()=>[...I(),g,f],J=()=>["auto","hidden","clip","visible","scroll"],Q=()=>["auto","contain","none"],p=()=>[g,f,u],c=()=>[fe,"full","auto",...p()],y=()=>[ce,"none","subgrid",g,f],S=()=>["auto",{span:["full",ce,g,f]},ce,g,f],v=()=>[ce,"auto",g,f],w=()=>["auto","min","max","fr",g,f],z=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],D=()=>["start","end","center","stretch","center-safe","end-safe"],P=()=>["auto",...p()],V=()=>[fe,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...p()],x=()=>[e,g,f],Y=()=>[...I(),nt,ot,{position:[g,f]}],te=()=>["no-repeat",{repeat:["","x","y","space","round"]}],n=()=>["auto","cover","contain",xr,pr,{size:[g,f]}],j=()=>[Te,xe,me],k=()=>["","none","full",m,g,f],E=()=>["",_,xe,me],Z=()=>["solid","dashed","dotted","double"],ae=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],T=()=>[_,Te,nt,ot],$=()=>["","none",R,g,f],ee=()=>["none",_,g,f],re=()=>["none",_,g,f],se=()=>[_,g,f],U=()=>[fe,"full",...p()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[ie],breakpoint:[ie],color:[dr],container:[ie],"drop-shadow":[ie],ease:["in","out","in-out"],font:[gr],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[ie],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[ie],shadow:[ie],spacing:["px",_],text:[ie],"text-shadow":[ie],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",fe,f,g,M]}],container:["container"],columns:[{columns:[_,f,g,i]}],"break-after":[{"break-after":C()}],"break-before":[{"break-before":C()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:q()}],overflow:[{overflow:J()}],"overflow-x":[{"overflow-x":J()}],"overflow-y":[{"overflow-y":J()}],overscroll:[{overscroll:Q()}],"overscroll-x":[{"overscroll-x":Q()}],"overscroll-y":[{"overscroll-y":Q()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:c()}],"inset-x":[{"inset-x":c()}],"inset-y":[{"inset-y":c()}],start:[{start:c()}],end:[{end:c()}],top:[{top:c()}],right:[{right:c()}],bottom:[{bottom:c()}],left:[{left:c()}],visibility:["visible","invisible","collapse"],z:[{z:[ce,"auto",g,f]}],basis:[{basis:[fe,"full","auto",i,...p()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[_,fe,"auto","initial","none",f]}],grow:[{grow:["",_,g,f]}],shrink:[{shrink:["",_,g,f]}],order:[{order:[ce,"first","last","none",g,f]}],"grid-cols":[{"grid-cols":y()}],"col-start-end":[{col:S()}],"col-start":[{"col-start":v()}],"col-end":[{"col-end":v()}],"grid-rows":[{"grid-rows":y()}],"row-start-end":[{row:S()}],"row-start":[{"row-start":v()}],"row-end":[{"row-end":v()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":w()}],"auto-rows":[{"auto-rows":w()}],gap:[{gap:p()}],"gap-x":[{"gap-x":p()}],"gap-y":[{"gap-y":p()}],"justify-content":[{justify:[...z(),"normal"]}],"justify-items":[{"justify-items":[...D(),"normal"]}],"justify-self":[{"justify-self":["auto",...D()]}],"align-content":[{content:["normal",...z()]}],"align-items":[{items:[...D(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...D(),{baseline:["","last"]}]}],"place-content":[{"place-content":z()}],"place-items":[{"place-items":[...D(),"baseline"]}],"place-self":[{"place-self":["auto",...D()]}],p:[{p:p()}],px:[{px:p()}],py:[{py:p()}],ps:[{ps:p()}],pe:[{pe:p()}],pt:[{pt:p()}],pr:[{pr:p()}],pb:[{pb:p()}],pl:[{pl:p()}],m:[{m:P()}],mx:[{mx:P()}],my:[{my:P()}],ms:[{ms:P()}],me:[{me:P()}],mt:[{mt:P()}],mr:[{mr:P()}],mb:[{mb:P()}],ml:[{ml:P()}],"space-x":[{"space-x":p()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":p()}],"space-y-reverse":["space-y-reverse"],size:[{size:V()}],w:[{w:[i,"screen",...V()]}],"min-w":[{"min-w":[i,"screen","none",...V()]}],"max-w":[{"max-w":[i,"screen","none","prose",{screen:[l]},...V()]}],h:[{h:["screen","lh",...V()]}],"min-h":[{"min-h":["screen","lh","none",...V()]}],"max-h":[{"max-h":["screen","lh",...V()]}],"font-size":[{text:["base",r,xe,me]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,g,Re]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Te,f]}],"font-family":[{font:[br,f,t]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[a,g,f]}],"line-clamp":[{"line-clamp":[_,"none",g,Re]}],leading:[{leading:[d,...p()]}],"list-image":[{"list-image":["none",g,f]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",g,f]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:x()}],"text-color":[{text:x()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Z(),"wavy"]}],"text-decoration-thickness":[{decoration:[_,"from-font","auto",g,me]}],"text-decoration-color":[{decoration:x()}],"underline-offset":[{"underline-offset":[_,"auto",g,f]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:p()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",g,f]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",g,f]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:Y()}],"bg-repeat":[{bg:te()}],"bg-size":[{bg:n()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},ce,g,f],radial:["",g,f],conic:[ce,g,f]},vr,hr]}],"bg-color":[{bg:x()}],"gradient-from-pos":[{from:j()}],"gradient-via-pos":[{via:j()}],"gradient-to-pos":[{to:j()}],"gradient-from":[{from:x()}],"gradient-via":[{via:x()}],"gradient-to":[{to:x()}],rounded:[{rounded:k()}],"rounded-s":[{"rounded-s":k()}],"rounded-e":[{"rounded-e":k()}],"rounded-t":[{"rounded-t":k()}],"rounded-r":[{"rounded-r":k()}],"rounded-b":[{"rounded-b":k()}],"rounded-l":[{"rounded-l":k()}],"rounded-ss":[{"rounded-ss":k()}],"rounded-se":[{"rounded-se":k()}],"rounded-ee":[{"rounded-ee":k()}],"rounded-es":[{"rounded-es":k()}],"rounded-tl":[{"rounded-tl":k()}],"rounded-tr":[{"rounded-tr":k()}],"rounded-br":[{"rounded-br":k()}],"rounded-bl":[{"rounded-bl":k()}],"border-w":[{border:E()}],"border-w-x":[{"border-x":E()}],"border-w-y":[{"border-y":E()}],"border-w-s":[{"border-s":E()}],"border-w-e":[{"border-e":E()}],"border-w-t":[{"border-t":E()}],"border-w-r":[{"border-r":E()}],"border-w-b":[{"border-b":E()}],"border-w-l":[{"border-l":E()}],"divide-x":[{"divide-x":E()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":E()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...Z(),"hidden","none"]}],"divide-style":[{divide:[...Z(),"hidden","none"]}],"border-color":[{border:x()}],"border-color-x":[{"border-x":x()}],"border-color-y":[{"border-y":x()}],"border-color-s":[{"border-s":x()}],"border-color-e":[{"border-e":x()}],"border-color-t":[{"border-t":x()}],"border-color-r":[{"border-r":x()}],"border-color-b":[{"border-b":x()}],"border-color-l":[{"border-l":x()}],"divide-color":[{divide:x()}],"outline-style":[{outline:[...Z(),"none","hidden"]}],"outline-offset":[{"outline-offset":[_,g,f]}],"outline-w":[{outline:["",_,xe,me]}],"outline-color":[{outline:x()}],shadow:[{shadow:["","none",A,Ce,ke]}],"shadow-color":[{shadow:x()}],"inset-shadow":[{"inset-shadow":["none",O,Ce,ke]}],"inset-shadow-color":[{"inset-shadow":x()}],"ring-w":[{ring:E()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:x()}],"ring-offset-w":[{"ring-offset":[_,me]}],"ring-offset-color":[{"ring-offset":x()}],"inset-ring-w":[{"inset-ring":E()}],"inset-ring-color":[{"inset-ring":x()}],"text-shadow":[{"text-shadow":["none",F,Ce,ke]}],"text-shadow-color":[{"text-shadow":x()}],opacity:[{opacity:[_,g,f]}],"mix-blend":[{"mix-blend":[...ae(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ae()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[_]}],"mask-image-linear-from-pos":[{"mask-linear-from":T()}],"mask-image-linear-to-pos":[{"mask-linear-to":T()}],"mask-image-linear-from-color":[{"mask-linear-from":x()}],"mask-image-linear-to-color":[{"mask-linear-to":x()}],"mask-image-t-from-pos":[{"mask-t-from":T()}],"mask-image-t-to-pos":[{"mask-t-to":T()}],"mask-image-t-from-color":[{"mask-t-from":x()}],"mask-image-t-to-color":[{"mask-t-to":x()}],"mask-image-r-from-pos":[{"mask-r-from":T()}],"mask-image-r-to-pos":[{"mask-r-to":T()}],"mask-image-r-from-color":[{"mask-r-from":x()}],"mask-image-r-to-color":[{"mask-r-to":x()}],"mask-image-b-from-pos":[{"mask-b-from":T()}],"mask-image-b-to-pos":[{"mask-b-to":T()}],"mask-image-b-from-color":[{"mask-b-from":x()}],"mask-image-b-to-color":[{"mask-b-to":x()}],"mask-image-l-from-pos":[{"mask-l-from":T()}],"mask-image-l-to-pos":[{"mask-l-to":T()}],"mask-image-l-from-color":[{"mask-l-from":x()}],"mask-image-l-to-color":[{"mask-l-to":x()}],"mask-image-x-from-pos":[{"mask-x-from":T()}],"mask-image-x-to-pos":[{"mask-x-to":T()}],"mask-image-x-from-color":[{"mask-x-from":x()}],"mask-image-x-to-color":[{"mask-x-to":x()}],"mask-image-y-from-pos":[{"mask-y-from":T()}],"mask-image-y-to-pos":[{"mask-y-to":T()}],"mask-image-y-from-color":[{"mask-y-from":x()}],"mask-image-y-to-color":[{"mask-y-to":x()}],"mask-image-radial":[{"mask-radial":[g,f]}],"mask-image-radial-from-pos":[{"mask-radial-from":T()}],"mask-image-radial-to-pos":[{"mask-radial-to":T()}],"mask-image-radial-from-color":[{"mask-radial-from":x()}],"mask-image-radial-to-color":[{"mask-radial-to":x()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":I()}],"mask-image-conic-pos":[{"mask-conic":[_]}],"mask-image-conic-from-pos":[{"mask-conic-from":T()}],"mask-image-conic-to-pos":[{"mask-conic-to":T()}],"mask-image-conic-from-color":[{"mask-conic-from":x()}],"mask-image-conic-to-color":[{"mask-conic-to":x()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:Y()}],"mask-repeat":[{mask:te()}],"mask-size":[{mask:n()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",g,f]}],filter:[{filter:["","none",g,f]}],blur:[{blur:$()}],brightness:[{brightness:[_,g,f]}],contrast:[{contrast:[_,g,f]}],"drop-shadow":[{"drop-shadow":["","none",B,Ce,ke]}],"drop-shadow-color":[{"drop-shadow":x()}],grayscale:[{grayscale:["",_,g,f]}],"hue-rotate":[{"hue-rotate":[_,g,f]}],invert:[{invert:["",_,g,f]}],saturate:[{saturate:[_,g,f]}],sepia:[{sepia:["",_,g,f]}],"backdrop-filter":[{"backdrop-filter":["","none",g,f]}],"backdrop-blur":[{"backdrop-blur":$()}],"backdrop-brightness":[{"backdrop-brightness":[_,g,f]}],"backdrop-contrast":[{"backdrop-contrast":[_,g,f]}],"backdrop-grayscale":[{"backdrop-grayscale":["",_,g,f]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[_,g,f]}],"backdrop-invert":[{"backdrop-invert":["",_,g,f]}],"backdrop-opacity":[{"backdrop-opacity":[_,g,f]}],"backdrop-saturate":[{"backdrop-saturate":[_,g,f]}],"backdrop-sepia":[{"backdrop-sepia":["",_,g,f]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":p()}],"border-spacing-x":[{"border-spacing-x":p()}],"border-spacing-y":[{"border-spacing-y":p()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",g,f]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[_,"initial",g,f]}],ease:[{ease:["linear","initial",K,g,f]}],delay:[{delay:[_,g,f]}],animate:[{animate:["none",H,g,f]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[W,g,f]}],"perspective-origin":[{"perspective-origin":q()}],rotate:[{rotate:ee()}],"rotate-x":[{"rotate-x":ee()}],"rotate-y":[{"rotate-y":ee()}],"rotate-z":[{"rotate-z":ee()}],scale:[{scale:re()}],"scale-x":[{"scale-x":re()}],"scale-y":[{"scale-y":re()}],"scale-z":[{"scale-z":re()}],"scale-3d":["scale-3d"],skew:[{skew:se()}],"skew-x":[{"skew-x":se()}],"skew-y":[{"skew-y":se()}],transform:[{transform:[g,f,"","none","gpu","cpu"]}],"transform-origin":[{origin:q()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:U()}],"translate-x":[{"translate-x":U()}],"translate-y":[{"translate-y":U()}],"translate-z":[{"translate-z":U()}],"translate-none":["translate-none"],accent:[{accent:x()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:x()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",g,f]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":p()}],"scroll-mx":[{"scroll-mx":p()}],"scroll-my":[{"scroll-my":p()}],"scroll-ms":[{"scroll-ms":p()}],"scroll-me":[{"scroll-me":p()}],"scroll-mt":[{"scroll-mt":p()}],"scroll-mr":[{"scroll-mr":p()}],"scroll-mb":[{"scroll-mb":p()}],"scroll-ml":[{"scroll-ml":p()}],"scroll-p":[{"scroll-p":p()}],"scroll-px":[{"scroll-px":p()}],"scroll-py":[{"scroll-py":p()}],"scroll-ps":[{"scroll-ps":p()}],"scroll-pe":[{"scroll-pe":p()}],"scroll-pt":[{"scroll-pt":p()}],"scroll-pr":[{"scroll-pr":p()}],"scroll-pb":[{"scroll-pb":p()}],"scroll-pl":[{"scroll-pl":p()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",g,f]}],fill:[{fill:["none",...x()]}],"stroke-w":[{stroke:[_,xe,me,Re]}],stroke:[{stroke:["none",...x()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}});function dt(e){var t,r,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e)){var a=e.length;for(t=0;t<a;t++)e[t]&&(r=dt(e[t]))&&(o&&(o+=" "),o+=r)}else for(r in e)e[r]&&(o&&(o+=" "),o+=r);return o}function Cr(){for(var e,t,r=0,o="",a=arguments.length;r<a;r++)(e=arguments[r])&&(t=dt(e))&&(o&&(o+=" "),o+=t);return o}function Ee(...e){return kr(Cr(e))}var Ae,ut;function mt(){if(ut)return Ae;ut=1;function e(t){var r=typeof t;return t!=null&&(r=="object"||r=="function")}return Ae=e,Ae}var ze,ft;function jr(){if(ft)return ze;ft=1;var e=typeof ve=="object"&&ve&&ve.Object===Object&&ve;return ze=e,ze}var _e,gt;function pt(){if(gt)return _e;gt=1;var e=jr(),t=typeof self=="object"&&self&&self.Object===Object&&self,r=e||t||Function("return this")();return _e=r,_e}var Ie,ht;function Sr(){if(ht)return Ie;ht=1;var e=pt(),t=function(){return e.Date.now()};return Ie=t,Ie}var Ne,bt;function Tr(){if(bt)return Ne;bt=1;var e=/\s/;function t(r){for(var o=r.length;o--&&e.test(r.charAt(o)););return o}return Ne=t,Ne}var Le,xt;function Rr(){if(xt)return Le;xt=1;var e=Tr(),t=/^\s+/;function r(o){return o&&o.slice(0,e(o)+1).replace(t,"")}return Le=r,Le}var Oe,vt;function wt(){if(vt)return Oe;vt=1;var e=pt(),t=e.Symbol;return Oe=t,Oe}var Me,yt;function Er(){if(yt)return Me;yt=1;var e=wt(),t=Object.prototype,r=t.hasOwnProperty,o=t.toString,a=e?e.toStringTag:void 0;function d(l){var i=r.call(l,a),u=l[a];try{l[a]=void 0;var m=!0}catch{}var A=o.call(l);return m&&(i?l[a]=u:delete l[a]),A}return Me=d,Me}var Pe,kt;function Ar(){if(kt)return Pe;kt=1;var e=Object.prototype,t=e.toString;function r(o){return t.call(o)}return Pe=r,Pe}var Ue,Ct;function zr(){if(Ct)return Ue;Ct=1;var e=wt(),t=Er(),r=Ar(),o="[object Null]",a="[object Undefined]",d=e?e.toStringTag:void 0;function l(i){return i==null?i===void 0?a:o:d&&d in Object(i)?t(i):r(i)}return Ue=l,Ue}var Fe,jt;function _r(){if(jt)return Fe;jt=1;function e(t){return t!=null&&typeof t=="object"}return Fe=e,Fe}var De,St;function Ir(){if(St)return De;St=1;var e=zr(),t=_r(),r="[object Symbol]";function o(a){return typeof a=="symbol"||t(a)&&e(a)==r}return De=o,De}var Be,Tt;function Nr(){if(Tt)return Be;Tt=1;var e=Rr(),t=mt(),r=Ir(),o=NaN,a=/^[-+]0x[0-9a-f]+$/i,d=/^0b[01]+$/i,l=/^0o[0-7]+$/i,i=parseInt;function u(m){if(typeof m=="number")return m;if(r(m))return o;if(t(m)){var A=typeof m.valueOf=="function"?m.valueOf():m;m=t(A)?A+"":A}if(typeof m!="string")return m===0?m:+m;m=e(m);var O=d.test(m);return O||l.test(m)?i(m.slice(2),O?2:8):a.test(m)?o:+m}return Be=u,Be}var Ge,Rt;function Lr(){if(Rt)return Ge;Rt=1;var e=mt(),t=Sr(),r=Nr(),o="Expected a function",a=Math.max,d=Math.min;function l(i,u,m){var A,O,F,B,R,W,M=0,K=!1,H=!1,C=!0;if(typeof i!="function")throw new TypeError(o);u=r(u)||0,e(m)&&(K=!!m.leading,H="maxWait"in m,F=H?a(r(m.maxWait)||0,u):F,C="trailing"in m?!!m.trailing:C);function I(w){var z=A,D=O;return A=O=void 0,M=w,B=i.apply(D,z),B}function q(w){return M=w,R=setTimeout(p,u),K?I(w):B}function J(w){var z=w-W,D=w-M,P=u-z;return H?d(P,F-D):P}function Q(w){var z=w-W,D=w-M;return W===void 0||z>=u||z<0||H&&D>=F}function p(){var w=t();if(Q(w))return c(w);R=setTimeout(p,J(w))}function c(w){return R=void 0,C&&A?I(w):(A=O=void 0,B)}function y(){R!==void 0&&clearTimeout(R),M=0,A=W=O=R=void 0}function S(){return R===void 0?B:c(t())}function v(){var w=t(),z=Q(w);if(A=arguments,O=this,W=w,z){if(R===void 0)return q(W);if(H)return clearTimeout(R),R=setTimeout(p,u),I(W)}return R===void 0&&(R=setTimeout(p,u)),B}return v.cancel=y,v.flush=S,v}return Ge=l,Ge}var Or=Lr();const Mr=At(Or),Et=b.forwardRef(({initialContent:e="",onChange:t,onSave:r,onExport:o,readOnly:a=!1,showButtons:d=!1,showSaveTitle:l=!1,showStatusBar:i=!1,height:u="500px",onImageUpload:m,imageUploadEndpoint:A,allowedImageTypes:O=["image/jpeg","image/png","image/gif","image/webp","image/svg+xml"],maxImageSize:F=5*1024*1024,onInit:B,debounceDelay:R=300,className:W="",placeholder:M="Start typing here...",autoFocus:K=!1},H)=>{const{editorState:C,editorRef:I,updateContent:q,updateTitle:J,executeCommand:Q,getValidationResult:p,exportToHTML:c,clearEditor:y,handlePaste:S,handleDrop:v,insertImage:w,uploadPendingImages:z}=Ot({initialContent:e,onImageUpload:m,imageUploadEndpoint:A,allowedImageTypes:O,maxImageSize:F}),D=b.useRef(null),P=b.useRef(!1),V=b.useRef(null),[x,Y]=b.useState(!1),[te,n]=b.useState(""),[j,k]=b.useState(!1),[E,Z]=b.useState(0),ae=b.useRef(null),T=b.useRef(t),$=b.useRef(C.content),ee=b.useRef(C.title);b.useEffect(()=>{T.current=t},[t]),b.useImperativeHandle(H,()=>({getContent:()=>C.content,getHTML:()=>c(),getTitle:()=>C.title,clear:y,focus:()=>{if(I.current){I.current.focus();const h=document.createRange();h.selectNodeContents(I.current),h.collapse(!1);const G=window.getSelection();G?.removeAllRanges(),G?.addRange(h)}},insertText:h=>{I.current&&(document.execCommand("insertText",!1,h),q(I.current.innerHTML))},insertHTML:h=>{I.current&&(document.execCommand("insertHTML",!1,h),q(I.current.innerHTML))},executeCommand:(h,G)=>{Q(h,G)}})),b.useEffect(()=>{B&&I.current&&!P.current&&(B(I.current),P.current=!0)},[B,I]),b.useEffect(()=>{K&&I.current&&!a&&setTimeout(()=>{if(I.current){I.current.focus();const h=document.createRange();h.selectNodeContents(I.current),h.collapse(!1);const G=window.getSelection();G?.removeAllRanges(),G?.addRange(h)}},100)},[K,a,I]),b.useEffect(()=>(V.current=Mr((h,G,ue)=>{T.current?.(h,G,ue)},R),()=>{V.current&&V.current.cancel()}),[R]),b.useEffect(()=>{if(!T.current||C.content===$.current&&C.title===ee.current)return;const h=(()=>{try{return c({includeStyles:!1,includeMeta:!1})}catch{return`<!DOCTYPE html><html><body>${C.content}</body></html>`}})();$.current=C.content,ee.current=C.title,R>0&&V.current?V.current(C.content,h,C.title):T.current(C.content,h,C.title)},[C.content,C.title,c,R]);const re=b.useCallback(async()=>{if(V.current&&V.current.flush?.(),C.pendingImages.length>0){k(!0);try{await z(),n("Images uploaded successfully!"),setTimeout(()=>n(""),3e3)}catch{n("Failed to upload images. Please try again."),Y(!0),setTimeout(()=>{Y(!1),n("")},5e3),k(!1);return}finally{k(!1)}}const h=p();if(!h.success){n(h.error||"Please fix validation errors before saving."),Y(!0),setTimeout(()=>{Y(!1),n("")},3e3);return}try{r?.(C.content,c()),n("Document saved successfully!"),Y(!0),setTimeout(()=>{Y(!1),n("")},2e3)}catch{n("Failed to save document."),Y(!0),setTimeout(()=>{Y(!1),n("")},3e3)}},[C,z,p,c,r]),se=b.useCallback(async()=>{if(V.current&&V.current.flush?.(),C.pendingImages.length>0){k(!0);try{await z()}catch(h){console.error("Failed to upload images:",h)}finally{k(!1)}}try{const h=c();o?.(h);const G=new Blob([h],{type:"text/html"}),ue=URL.createObjectURL(G),ne=document.createElement("a");ne.href=ue,ne.download=`${C.title.replace(/[^\w\s]/gi,"").replace(/\s+/g,"_")||"document"}.html`,document.body.appendChild(ne),ne.click(),document.body.removeChild(ne),URL.revokeObjectURL(ue),n("Document exported successfully!"),Y(!0),setTimeout(()=>{Y(!1),n("")},2e3)}catch{n("Failed to export document."),Y(!0),setTimeout(()=>{Y(!1),n("")},3e3)}},[C,z,c,o]),U=b.useCallback(h=>{q(h)},[q]),N=async h=>{if(!h.target.files||a)return;const G=Array.from(h.target.files);let ue=0;const ne=G.length;for(const Pr of G)try{await w(Pr),ue++,Z(Math.round(ue/ne*100))}catch(Ur){console.error("Failed to insert image:",Ur)}Z(0),h.target.value=""},de=b.useCallback(()=>{a||I.current&&I.current.focus()},[a,I]),oe=b.useCallback(h=>{(h.ctrlKey||h.metaKey)&&h.key==="s"&&(h.preventDefault(),re()),(h.ctrlKey||h.metaKey)&&h.key==="e"&&(h.preventDefault(),se()),(h.ctrlKey||h.metaKey)&&h.key==="k"&&h.shiftKey&&(h.preventDefault(),y())},[re,se,y]);return s.jsxs("div",{ref:ae,className:Ee("relative w-full bg-white border border-gray-300 rounded-lg overflow-hidden flex flex-col",a&&"pointer-events-none opacity-80",W),style:{height:u},children:[l&&s.jsxs("div",{className:"p-4 md:p-6 border-b bg-gradient-to-r from-gray-50 to-white",children:[s.jsx("input",{className:"w-full text-xl md:text-2xl font-bold bg-transparent outline-none placeholder:text-gray-400",value:C.title,onChange:h=>J(h.target.value),placeholder:"Document Title",readOnly:a,maxLength:100}),C.title.length>=90&&s.jsxs("div",{className:"text-xs text-gray-500 text-right mt-1",children:[C.title.length,"/100 characters"]})]}),s.jsx(Nt,{onCommand:Q,onSave:re,onExport:se,showButtons:d,onClear:y,hasUnsavedChanges:C.hasUnsavedChanges,onImageUpload:()=>D.current?.click(),pendingImagesCount:C.pendingImages.length}),s.jsx("input",{ref:D,type:"file",className:"hidden",accept:O.join(","),multiple:!0,onChange:N,disabled:a}),(x||j)&&s.jsx("div",{className:Ee("px-4 py-3 text-sm flex items-center gap-2 transition-all duration-300",j?"bg-blue-50 text-blue-700 border-b border-blue-100":te.includes("success")?"bg-green-50 text-green-700 border-b border-green-100":"bg-red-50 text-red-700 border-b border-red-100"),children:j?s.jsxs(s.Fragment,{children:[s.jsx(L.Loader2,{className:"h-4 w-4 animate-spin"}),s.jsxs("span",{children:["Uploading images... ",E>0&&`${E}%`]})]}):te.includes("success")?s.jsxs(s.Fragment,{children:[s.jsx(L.CheckCircle,{className:"h-4 w-4"}),s.jsx("span",{children:te})]}):s.jsxs(s.Fragment,{children:[s.jsx(L.AlertCircle,{className:"h-4 w-4"}),s.jsx("span",{children:te})]})}),s.jsx("div",{ref:I,className:Ee("flex-1 p-4 md:p-6 outline-none overflow-y-auto min-h-[200px] bg-white",a?"cursor-default select-text":"cursor-text",!C.content&&"relative"),contentEditable:!a,suppressContentEditableWarning:!0,onInput:h=>U(h.currentTarget.innerHTML),onPaste:S,onDrop:v,onDragOver:h=>h.preventDefault(),onClick:de,onKeyDown:oe,"data-placeholder":M,role:"textbox","aria-label":"Text editor","aria-multiline":"true",children:!C.content&&s.jsx("div",{className:"absolute top-6 left-6 text-gray-400 pointer-events-none select-none",children:M})}),C.pendingImages.length>0&&s.jsxs("div",{className:"px-4 py-3 text-sm text-blue-600 bg-blue-50 border-t border-blue-100 flex items-center justify-between",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(L.Upload,{size:16}),s.jsxs("span",{children:[C.pendingImages.length," image",C.pendingImages.length!==1?"s":""," pending upload"]})]}),s.jsx("button",{onClick:z,disabled:j,className:"text-sm px-3 py-1 bg-blue-100 hover:bg-blue-200 text-blue-700 rounded-md transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:j?"Uploading...":"Upload Now"})]}),i&&s.jsx(Lt,{wordCount:C.wordCount,characterCount:C.characterCount,hasUnsavedChanges:C.hasUnsavedChanges,pendingImagesCount:C.pendingImages.length}),!a&&s.jsx("div",{className:"hidden md:block absolute bottom-2 right-2 text-xs text-gray-400 bg-white/80 px-2 py-1 rounded",children:"Ctrl+S to save • Ctrl+E to export"})]})});Et.displayName="TextEditor",le.TextEditor=Et,Object.defineProperty(le,Symbol.toStringTag,{value:"Module"})}));
|