@abduljebar/text-editor 2.3.1 → 2.3.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/dist/components/TextEditor.d.ts +4 -2
- package/dist/components/TextEditor.d.ts.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.js +1235 -1063
- package/dist/index.umd.cjs +14 -37
- package/package.json +3 -1
package/dist/index.umd.cjs
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
(function(Q,z){typeof exports=="object"&&typeof module<"u"?z(exports,require("react"),require("lucide-react")):typeof define=="function"&&define.amd?define(["exports","react","lucide-react"],z):(Q=typeof globalThis<"u"?globalThis:Q||self,z(Q.TextEditor={},Q.React,Q.LucideReact))})(this,(function(Q,z,N){"use strict";var ye=document.createElement("style");ye.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-font-weight:initial;--tw-duration: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-space-y-reverse:0;--tw-leading:initial}}}@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-500:oklch(63.7% .237 25.331);--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-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-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--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-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);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-medium:500;--font-weight-bold:700;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--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)}.-right-2{right:calc(var(--spacing)*-2)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mt-2{margin-top:calc(var(--spacing)*2)}.block{display:block}.flex{display:flex}.hidden{display:none}.inline{display:inline}.h-4{height:calc(var(--spacing)*4)}.h-6{height:calc(var(--spacing)*6)}.h-9{height:calc(var(--spacing)*9)}.min-h-\\[200px\\]{min-height:200px}.min-h-\\[400px\\]{min-height:400px}.w-4{width:calc(var(--spacing)*4)}.w-9{width:calc(var(--spacing)*9)}.w-full{width:100%}.w-px{width:1px}.animate-pulse{animation:var(--animate-pulse)}.cursor-default{cursor:default}.cursor-text{cursor:text}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.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-6{gap:calc(var(--spacing)*6)}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.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-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.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)}.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-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)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--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-blue-600{color:var(--color-blue-600)}.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-orange-600{color:var(--color-orange-600)}.text-red-600{color:var(--color-red-600)}.text-white{color:var(--color-white)}.italic{font-style:italic}.underline{text-decoration-line:underline}.placeholder-gray-400::-moz-placeholder{color:var(--color-gray-400)}.placeholder-gray-400::placeholder{color:var(--color-gray-400)}.opacity-80{opacity:.8}.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-200{--tw-duration:.2s;transition-duration:.2s}.outline-none{--tw-outline-style:none;outline-style:none}@media(hover:hover){.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)}}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:bg-blue-300:disabled{background-color:var(--color-blue-300)}@media(min-width:40rem){.sm\\:mt-0{margin-top:calc(var(--spacing)*0)}}.\\[\\&_\\.image-failed\\]\\:border-2 .image-failed{border-style:var(--tw-border-style);border-width:2px}.\\[\\&_\\.image-failed\\]\\:border-red-500 .image-failed{border-color:var(--color-red-500)}.\\[\\&_\\.image-uploading\\]\\:animate-pulse .image-uploading{animation:var(--animate-pulse)}.\\[\\&_\\.image-uploading\\]\\:opacity-50 .image-uploading{opacity:.5}.\\[\\&_a\\]\\:text-blue-600 a{color:var(--color-blue-600)}.\\[\\&_a\\]\\:underline a{text-decoration-line:underline}.\\[\\&_a\\]\\:transition-colors a{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))}@media(hover:hover){.\\[\\&_a\\]\\:hover\\:text-blue-800 a:hover{color:var(--color-blue-800)}}.\\[\\&_blockquote\\]\\:my-4 blockquote{margin-block:calc(var(--spacing)*4)}.\\[\\&_blockquote\\]\\:border-l-4 blockquote{border-left-style:var(--tw-border-style);border-left-width:4px}.\\[\\&_blockquote\\]\\:border-blue-500 blockquote{border-color:var(--color-blue-500)}.\\[\\&_blockquote\\]\\:pl-4 blockquote{padding-left:calc(var(--spacing)*4)}.\\[\\&_blockquote\\]\\:text-gray-600 blockquote{color:var(--color-gray-600)}.\\[\\&_blockquote\\]\\:italic blockquote{font-style:italic}.\\[\\&_code\\]\\:rounded code{border-radius:.25rem}.\\[\\&_code\\]\\:bg-gray-100 code{background-color:var(--color-gray-100)}.\\[\\&_code\\]\\:px-2 code{padding-inline:calc(var(--spacing)*2)}.\\[\\&_code\\]\\:py-1 code{padding-block:calc(var(--spacing)*1)}.\\[\\&_code\\]\\:font-mono code{font-family:var(--font-mono)}.\\[\\&_code\\]\\:text-sm code{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.\\[\\&_h1\\]\\:mt-6 h1{margin-top:calc(var(--spacing)*6)}.\\[\\&_h1\\]\\:mb-4 h1{margin-bottom:calc(var(--spacing)*4)}.\\[\\&_h1\\]\\:border-b h1{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\\[\\&_h1\\]\\:pb-2 h1{padding-bottom:calc(var(--spacing)*2)}.\\[\\&_h1\\]\\:text-3xl h1{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.\\[\\&_h1\\]\\:font-bold h1{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.\\[\\&_h1\\]\\:text-gray-800 h1{color:var(--color-gray-800)}.\\[\\&_h2\\]\\:mt-5 h2{margin-top:calc(var(--spacing)*5)}.\\[\\&_h2\\]\\:mb-3 h2{margin-bottom:calc(var(--spacing)*3)}.\\[\\&_h2\\]\\:text-2xl h2{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.\\[\\&_h2\\]\\:font-bold h2{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.\\[\\&_h2\\]\\:text-gray-800 h2{color:var(--color-gray-800)}.\\[\\&_h3\\]\\:mt-4 h3{margin-top:calc(var(--spacing)*4)}.\\[\\&_h3\\]\\:mb-2 h3{margin-bottom:calc(var(--spacing)*2)}.\\[\\&_h3\\]\\:text-xl h3{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.\\[\\&_h3\\]\\:font-bold h3{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.\\[\\&_h3\\]\\:text-gray-800 h3{color:var(--color-gray-800)}.\\[\\&_img\\]\\:my-4 img{margin-block:calc(var(--spacing)*4)}.\\[\\&_img\\]\\:h-auto img{height:auto}.\\[\\&_img\\]\\:max-w-full img{max-width:100%}.\\[\\&_img\\]\\:rounded-lg img{border-radius:var(--radius-lg)}.\\[\\&_img\\]\\:shadow-md img{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px 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)}.\\[\\&_li\\]\\:mb-1 li{margin-bottom:calc(var(--spacing)*1)}.\\[\\&_ol\\]\\:mb-4 ol{margin-bottom:calc(var(--spacing)*4)}.\\[\\&_ol\\]\\:ml-4 ol{margin-left:calc(var(--spacing)*4)}.\\[\\&_ol\\]\\:list-inside ol{list-style-position:inside}.\\[\\&_ol\\]\\:list-decimal ol{list-style-type:decimal}:where(.\\[\\&_ol\\]\\:space-y-1 ol>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}.\\[\\&_p\\]\\:mb-4 p{margin-bottom:calc(var(--spacing)*4)}.\\[\\&_p\\]\\:leading-relaxed p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.\\[\\&_p\\]\\:text-gray-700 p{color:var(--color-gray-700)}.\\[\\&_pre\\]\\:my-4 pre{margin-block:calc(var(--spacing)*4)}.\\[\\&_pre\\]\\:overflow-x-auto pre{overflow-x:auto}.\\[\\&_pre\\]\\:rounded-lg pre{border-radius:var(--radius-lg)}.\\[\\&_pre\\]\\:bg-gray-800 pre{background-color:var(--color-gray-800)}.\\[\\&_pre\\]\\:p-4 pre{padding:calc(var(--spacing)*4)}.\\[\\&_pre\\]\\:text-gray-100 pre{color:var(--color-gray-100)}.\\[\\&_pre_code\\]\\:bg-transparent pre code{background-color:#0000}.\\[\\&_pre_code\\]\\:p-0 pre code{padding:calc(var(--spacing)*0)}.\\[\\&_pre_code\\]\\:text-inherit pre code{color:inherit}.\\[\\&_ul\\]\\:mb-4 ul{margin-bottom:calc(var(--spacing)*4)}.\\[\\&_ul\\]\\:ml-4 ul{margin-left:calc(var(--spacing)*4)}.\\[\\&_ul\\]\\:list-inside ul{list-style-position:inside}.\\[\\&_ul\\]\\:list-disc ul{list-style-type:disc}:where(.\\[\\&_ul\\]\\:space-y-1 ul>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-duration{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-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-leading{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}
|
|
2
|
-
/*$vite$:1*/`,document.head.appendChild(
|
|
1
|
+
(function(Z,C){typeof exports=="object"&&typeof module<"u"?C(exports,require("react"),require("lucide-react")):typeof define=="function"&&define.amd?define(["exports","react","lucide-react"],C):(Z=typeof globalThis<"u"?globalThis:Z||self,C(Z.TextEditor={},Z.React,Z.LucideReact))})(this,(function(Z,C,D){"use strict";var Le=document.createElement("style");Le.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-font-weight:initial;--tw-duration:initial}}}@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-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-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-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-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-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)}.-right-2{right:calc(var(--spacing)*-2)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mt-2{margin-top:calc(var(--spacing)*2)}.block{display:block}.flex{display:flex}.hidden{display:none}.h-4{height:calc(var(--spacing)*4)}.h-6{height:calc(var(--spacing)*6)}.h-9{height:calc(var(--spacing)*9)}.min-h-\\[200px\\]{min-height:200px}.min-h-\\[400px\\]{min-height:400px}.w-4{width:calc(var(--spacing)*4)}.w-9{width:calc(var(--spacing)*9)}.w-full{width:100%}.w-px{width:1px}.animate-pulse{animation:var(--animate-pulse)}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.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-6{gap:calc(var(--spacing)*6)}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.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-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.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)}.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-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)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--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-blue-600{color:var(--color-blue-600)}.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-orange-600{color:var(--color-orange-600)}.text-red-600{color:var(--color-red-600)}.text-white{color:var(--color-white)}.italic{font-style:italic}.underline{text-decoration-line:underline}.opacity-80{opacity:.8}.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-200{--tw-duration:.2s;transition-duration:.2s}.outline-none{--tw-outline-style:none;outline-style:none}@media(hover:hover){.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)}}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:bg-blue-300:disabled{background-color:var(--color-blue-300)}@media(min-width:40rem){.sm\\:mt-0{margin-top:calc(var(--spacing)*0)}}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}
|
|
2
|
+
/*$vite$:1*/`,document.head.appendChild(Le);var de=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function yt(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var ue={exports:{}},se={};var Pe;function wt(){if(Pe)return se;Pe=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function r(o,a,l){var i=null;if(l!==void 0&&(i=""+l),a.key!==void 0&&(i=""+a.key),"key"in a){l={};for(var s in a)s!=="key"&&(l[s]=a[s])}else l=a;return a=l.ref,{$$typeof:e,type:o,key:i,ref:a!==void 0?a:null,props:l}}return se.Fragment=t,se.jsx=r,se.jsxs=r,se}var le={};var Me;function kt(){return Me||(Me=1,process.env.NODE_ENV!=="production"&&(function(){function e(n){if(n==null)return null;if(typeof n=="function")return n.$$typeof===U?null:n.displayName||n.name||null;if(typeof n=="string")return n;switch(n){case g:return"Fragment";case F:return"Profiler";case G:return"StrictMode";case k:return"Suspense";case T:return"SuspenseList";case O: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 p:return"Portal";case P:return n.displayName||"Context";case V:return(n._context.displayName||"Context")+".Consumer";case b:var y=n.render;return n=n.displayName,n||(n=y.displayName||y.name||"",n=n!==""?"ForwardRef("+n+")":"ForwardRef"),n;case c:return y=n.displayName||null,y!==null?y:e(n.type)||"Memo";case z:y=n._payload,n=n._init;try{return e(n(y))}catch{}}return null}function t(n){return""+n}function r(n){try{t(n);var y=!1}catch{y=!0}if(y){y=console;var w=y.error,R=typeof Symbol=="function"&&Symbol.toStringTag&&n[Symbol.toStringTag]||n.constructor.name||"Object";return w.call(y,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",R),t(n)}}function o(n){if(n===g)return"<>";if(typeof n=="object"&&n!==null&&n.$$typeof===z)return"<...>";try{var y=e(n);return y?"<"+y+">":"<...>"}catch{return"<...>"}}function a(){var n=M.A;return n===null?null:n.getOwner()}function l(){return Error("react-stack-top-frame")}function i(n){if(E.call(n,"key")){var y=Object.getOwnPropertyDescriptor(n,"key").get;if(y&&y.isReactWarning)return!1}return n.key!==void 0}function s(n,y){function w(){Y||(Y=!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)",y))}w.isReactWarning=!0,Object.defineProperty(n,"key",{get:w,configurable:!0})}function d(){var n=e(this.type);return H[n]||(H[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 u(n,y,w,R,J,ae){var S=w.ref;return n={$$typeof:_,type:n,key:y,props:w,_owner:R},(S!==void 0?S:null)!==null?Object.defineProperty(n,"ref",{enumerable:!1,get:d}):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:J}),Object.defineProperty(n,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:ae}),Object.freeze&&(Object.freeze(n.props),Object.freeze(n)),n}function x(n,y,w,R,J,ae){var S=y.children;if(S!==void 0)if(R)if(N(S)){for(R=0;R<S.length;R++)A(S[R]);Object.freeze&&Object.freeze(S)}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 A(S);if(E.call(y,"key")){S=e(n);var X=Object.keys(y).filter(function(ie){return ie!=="key"});R=0<X.length?"{key: someKey, "+X.join(": ..., ")+": ...}":"{key: someKey}",te[S+R]||(X=0<X.length?"{"+X.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} />`,T,k,Z,k),A[k+T]=!0)}if(k=null,x!==void 0&&(r(x),k=""+x),i(b)&&(r(b.key),k=""+b.key),"key"in b){x={};for(var $ in b)$!=="key"&&(x[$]=b[$])}else x=b;return k&&c(x,typeof t=="function"?t.displayName||t.name||"Unknown":t),_(t,k,x,n(),X,ne)}function I(t){P(t)?t._store&&(t._store.validated=1):typeof t=="object"&&t!==null&&t.$$typeof===S&&(t._payload.status==="fulfilled"?P(t._payload.value)&&t._payload.value._store&&(t._payload.value._store.validated=1):t._store&&(t._store.validated=1))}function P(t){return typeof t=="object"&&t!==null&&t.$$typeof===M}var v=z,M=Symbol.for("react.transitional.element"),h=Symbol.for("react.portal"),E=Symbol.for("react.fragment"),U=Symbol.for("react.strict_mode"),G=Symbol.for("react.profiler"),F=Symbol.for("react.consumer"),L=Symbol.for("react.context"),g=Symbol.for("react.forward_ref"),w=Symbol.for("react.suspense"),j=Symbol.for("react.suspense_list"),s=Symbol.for("react.memo"),S=Symbol.for("react.lazy"),R=Symbol.for("react.activity"),V=Symbol.for("react.client.reference"),O=v.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,W=Object.prototype.hasOwnProperty,B=Array.isArray,H=console.createTask?console.createTask:function(){return null};v={react_stack_bottom_frame:function(t){return t()}};var Y,q={},f=v.react_stack_bottom_frame.bind(v,l)(),ae=H(o(l)),A={};le.Fragment=E,le.jsx=function(t,b,x){var T=1e4>O.recentlyCreatedOwnerStacks++;return C(t,b,x,!1,T?Error("react-stack-top-frame"):f,T?H(o(t)):ae)},le.jsxs=function(t,b,x){var T=1e4>O.recentlyCreatedOwnerStacks++;return C(t,b,x,!0,T?Error("react-stack-top-frame"):f,T?H(o(t)):ae)}})()),le}var Ce;function Be(){return Ce||(Ce=1,process.env.NODE_ENV==="production"?de.exports=We():de.exports=Ye()),de.exports}var p=Be();const He=({onCommand:e,onSave:a,onExport:r,onClear:o,onImageUpload:n,showButtons:l=!1,hasUnsavedChanges:i,pendingImagesCount:c=0})=>{const[m,_]=z.useState([]),[C,I]=z.useState("p"),P=()=>{const h=[];let E="p";document.queryCommandState("bold")&&h.push("bold"),document.queryCommandState("italic")&&h.push("italic"),document.queryCommandState("underline")&&h.push("underline"),document.queryCommandState("strikeThrough")&&h.push("strikeThrough"),document.queryCommandState("insertUnorderedList")&&h.push("insertUnorderedList"),document.queryCommandState("insertOrderedList")&&h.push("insertOrderedList"),document.queryCommandState("justifyLeft")&&h.push("justifyLeft"),document.queryCommandState("justifyCenter")&&h.push("justifyCenter"),document.queryCommandState("justifyRight")&&h.push("justifyRight");const U=window.getSelection();if(U&&U.rangeCount>0){let G=U.getRangeAt(0).commonAncestorContainer;for(;G&&G.nodeType===Node.ELEMENT_NODE;){const F=G,L=F.tagName.toLowerCase();if(["h1","h2","p","div"].includes(L)){L==="h1"||L==="h2"?(E=L,h.push(`formatBlock:${L}`)):(L==="p"||L==="div"&&!E)&&(E="p");break}G=F.parentNode}}I(E),_(h)};z.useEffect(()=>{const h=()=>{P()},E=()=>{setTimeout(P,10)};return document.addEventListener("selectionchange",h),document.addEventListener("click",E),document.addEventListener("keyup",E),()=>{document.removeEventListener("selectionchange",h),document.removeEventListener("click",E),document.removeEventListener("keyup",E)}},[]);const v=()=>{const h=prompt("Enter URL:");h&&e("createLink",h)},M=[{id:"bold",command:"bold",icon:p.jsx(N.Bold,{size:18}),title:"Bold"},{id:"italic",command:"italic",icon:p.jsx(N.Italic,{size:18}),title:"Italic"},{id:"underline",command:"underline",icon:p.jsx(N.Underline,{size:18}),title:"Underline"},{id:"strikeThrough",command:"strikeThrough",icon:p.jsx(N.Strikethrough,{size:18}),title:"Strikethrough"},{id:"separator-1",separator:!0},{id:"unordered-list",command:"insertUnorderedList",icon:p.jsx(N.List,{size:18}),title:"Bullet List"},{id:"ordered-list",command:"insertOrderedList",icon:p.jsx(N.ListOrdered,{size:18}),title:"Numbered List"},{id:"separator-2",separator:!0},{id:"heading-1",command:"formatBlock",value:"h1",icon:p.jsx(N.Heading1,{size:18}),title:"Heading 1",isActive:C==="h1"},{id:"heading-2",command:"formatBlock",value:"h2",icon:p.jsx(N.Heading2,{size:18}),title:"Heading 2",isActive:C==="h2"},{id:"paragraph",command:"formatBlock",value:"p",icon:p.jsx(N.Type,{size:18}),title:"Paragraph",isActive:C==="p"},{id:"separator-3",separator:!0},{id:"align-left",command:"justifyLeft",icon:p.jsx(N.AlignLeft,{size:18}),title:"Align Left"},{id:"align-center",command:"justifyCenter",icon:p.jsx(N.AlignCenter,{size:18}),title:"Center"},{id:"align-right",command:"justifyRight",icon:p.jsx(N.AlignRight,{size:18}),title:"Align Right"},{id:"separator-4",separator:!0},{id:"link",command:"createLink",icon:p.jsx(N.Link,{size:18}),title:"Insert Link",onClick:v},{id:"image",command:"insertImage",icon:c>0?p.jsxs("div",{className:"relative",children:[p.jsx(N.Image,{size:18}),p.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:c})]}):p.jsx(N.Image,{size:18}),title:"Insert Image",onClick:n}];return p.jsxs("div",{className:"flex flex-wrap justify-between items-center p-3 bg-gray-50 border-b border-gray-200",children:[p.jsx("div",{className:"flex flex-wrap items-center gap-1",children:M.map(h=>{if("separator"in h)return p.jsx("div",{className:"w-px h-6 bg-gray-300 mx-2"},h.id);const E=h.isActive!==void 0?h.isActive:m.includes(h.command);return p.jsx("button",{onClick:()=>h.onClick?h.onClick():e(h.command,h.value),title:h.title,type:"button",className:`w-9 h-9 flex items-center justify-center rounded-md border transition-colors duration-200 ${E?"bg-blue-100 text-blue-600 border-blue-300 hover:bg-blue-200":"bg-white border-gray-300 text-gray-700 hover:bg-gray-100"}`,children:h.icon},h.id)})}),l&&p.jsxs("div",{className:"flex items-center gap-2 mt-2 sm:mt-0",children:[p.jsxs("button",{onClick:a,disabled:!i,title:"Save Document",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",children:[p.jsx(N.Save,{size:16}),p.jsx("span",{children:"Save"})]}),p.jsxs("button",{onClick:r,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",children:[p.jsx(N.FileDown,{size:16}),p.jsx("span",{children:"Export"})]}),p.jsxs("button",{onClick:o,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",children:[p.jsx(N.Trash2,{size:16}),p.jsx("span",{children:"Clear"})]})]})]})},qe=({wordCount:e,characterCount:a,hasUnsavedChanges:r,pendingImagesCount:o=0})=>p.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:[p.jsxs("div",{className:"flex items-center gap-6",children:[p.jsxs("div",{children:["Words: ",p.jsx("strong",{className:"text-gray-800",children:e})]}),p.jsxs("div",{children:["Characters: ",p.jsx("strong",{className:"text-gray-800",children:a})]}),o>0&&p.jsxs("div",{className:"flex items-center gap-1",children:[p.jsx(N.Image,{size:14,className:"text-blue-600"}),p.jsxs("span",{className:"text-blue-600",children:[o," image",o!==1?"s":""]})]})]}),p.jsx("div",{className:"flex items-center gap-2",children:p.jsxs("div",{className:`flex items-center gap-1 ${r?"text-orange-600":"text-green-600"}`,children:[r&&p.jsx(N.Save,{size:14,className:"animate-pulse"}),p.jsx("strong",{children:r?"Unsaved Changes":"Saved"})]})})]}),Je=({initialContent:e="",onImageUpload:a,imageUploadEndpoint:r,allowedImageTypes:o,maxImageSize:n})=>{const[l,i]=z.useState({content:e,title:"Untitled Document",wordCount:e.trim()?e.trim().split(/\s+/).length:0,characterCount:e.length,hasUnsavedChanges:!1,pendingImages:[]}),c=z.useRef(null),m=z.useRef(new Map),_=z.useRef(e);z.useEffect(()=>{e!==_.current&&(c.current&&(c.current.innerHTML=e),i(g=>({...g,content:e,wordCount:e.trim()?e.trim().split(/\s+/).length:0,characterCount:e.length,hasUnsavedChanges:!1})),_.current=e)},[e]),z.useEffect(()=>{c.current&&!c.current.innerHTML&&e&&(c.current.innerHTML=e)},[e]);const C=z.useCallback(g=>{const w=g.trim()?g.trim().split(/\s+/).length:0,j=g.length;i(s=>({...s,content:g,wordCount:w,characterCount:j,hasUnsavedChanges:!0})),_.current=g},[]),I=z.useCallback(g=>{i(w=>({...w,title:g,hasUnsavedChanges:!0}))},[]),P=z.useCallback((g,w)=>{c.current&&(c.current.focus(),document.execCommand(g,!1,w),C(c.current.innerHTML))},[C]),v=g=>o.includes(g.type)?g.size>n?{valid:!1,error:`File too large. Maximum size: ${Math.round(n/(1024*1024))}MB`}:{valid:!0}:{valid:!1,error:`Invalid file type. Allowed types: ${o.join(", ")}`},M=z.useCallback(async(g,w=!0)=>{const j=v(g);if(!j.valid){alert(j.error);return}if(!c.current)return;const s=`image-${Date.now()}-${Math.random().toString(36).substr(2,9)}`,S=new FileReader;S.onload=R=>{const V=R.target?.result;m.current.set(s,{originalUrl:V,fileName:g.name,size:g.size,type:g.type});const O=document.createElement("img");if(O.src=V,O.alt=g.name,O.className="image-uploading",O.setAttribute("data-image-id",s),O.setAttribute("data-file-name",g.name),w&&window.getSelection){const W=window.getSelection();if(W&&W.rangeCount>0){const B=W.getRangeAt(0);B.deleteContents(),B.insertNode(O),B.setStartAfter(O),B.collapse(!0),W.removeAllRanges(),W.addRange(B)}else c.current.appendChild(O)}else c.current.appendChild(O);C(c.current.innerHTML),(a||r)&&i(W=>({...W,pendingImages:[...W.pendingImages,{id:s,file:g,placeholderUrl:V,status:"pending"}]}))},S.readAsDataURL(g)},[a,r,C,o,n]),h=z.useCallback(async()=>{if(!a&&!r)return;const g=l.pendingImages.filter(w=>w.status==="pending");if(g.length!==0){for(const w of g)try{i(S=>({...S,pendingImages:S.pendingImages.map(R=>R.id===w.id?{...R,status:"uploading"}:R)}));let j;if(a)j=await a(w.file);else if(r){const S=new FormData;S.append("image",w.file);const R=await fetch(r,{method:"POST",body:S});if(!R.ok)throw new Error(`Upload failed: ${R.statusText}`);const V=await R.json();j=V.url||V.imageUrl||V.data}else throw new Error("No upload method provided");const s=c.current?.querySelector(`img[data-image-id="${w.id}"]`);if(s){s.src=j,s.classList.remove("image-uploading"),s.classList.add("image-uploaded");const S=m.current.get(w.id);S&&m.current.set(w.id,{...S,uploadedUrl:j})}i(S=>({...S,pendingImages:S.pendingImages.map(R=>R.id===w.id?{...R,status:"uploaded"}:R)}))}catch(j){console.error("Image upload failed:",j);const s=c.current?.querySelector(`img[data-image-id="${w.id}"]`);s&&(s.classList.remove("image-uploading"),s.classList.add("image-failed")),i(S=>({...S,pendingImages:S.pendingImages.map(R=>R.id===w.id?{...R,status:"failed"}:R)}))}c.current&&C(c.current.innerHTML)}},[l.pendingImages,a,r,C]),E=z.useCallback(g=>{const w=g.clipboardData.items;for(const j of w)if(j.type.indexOf("image")!==-1){g.preventDefault();const s=j.getAsFile();s&&M(s);break}setTimeout(()=>{c.current&&C(c.current.innerHTML)},0)},[M,C]),U=z.useCallback(g=>{g.preventDefault();const w=g.dataTransfer.files;for(const j of w)j.type.startsWith("image/")&&M(j,!1)},[M]),G=z.useCallback(()=>{try{const g=c.current?.innerHTML||l.content;return{success:!0,data:{title:l.title,content:g,metadata:{createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),wordCount:l.wordCount,characterCount:l.characterCount}}}}catch(g){return{success:!1,error:g instanceof Error?g.message:"Validation failed"}}},[l]),F=z.useCallback((g={includeStyles:!0,includeMeta:!0})=>{const w=G();if(!w.success)throw new Error(w.error);const{data:j}=w;let s=`<!DOCTYPE html>
|
|
7
|
+
<%s key={someKey} {...props} />`,R,S,X,S),te[S+R]=!0)}if(S=null,w!==void 0&&(r(w),S=""+w),i(y)&&(r(y.key),S=""+y.key),"key"in y){w={};for(var K in y)K!=="key"&&(w[K]=y[K])}else w=y;return S&&s(w,typeof n=="function"?n.displayName||n.name||"Unknown":n),u(n,S,w,a(),J,ae)}function A(n){L(n)?n._store&&(n._store.validated=1):typeof n=="object"&&n!==null&&n.$$typeof===z&&(n._payload.status==="fulfilled"?L(n._payload.value)&&n._payload.value._store&&(n._payload.value._store.validated=1):n._store&&(n._store.validated=1))}function L(n){return typeof n=="object"&&n!==null&&n.$$typeof===_}var I=C,_=Symbol.for("react.transitional.element"),p=Symbol.for("react.portal"),g=Symbol.for("react.fragment"),G=Symbol.for("react.strict_mode"),F=Symbol.for("react.profiler"),V=Symbol.for("react.consumer"),P=Symbol.for("react.context"),b=Symbol.for("react.forward_ref"),k=Symbol.for("react.suspense"),T=Symbol.for("react.suspense_list"),c=Symbol.for("react.memo"),z=Symbol.for("react.lazy"),O=Symbol.for("react.activity"),U=Symbol.for("react.client.reference"),M=I.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,E=Object.prototype.hasOwnProperty,N=Array.isArray,B=console.createTask?console.createTask:function(){return null};I={react_stack_bottom_frame:function(n){return n()}};var Y,H={},v=I.react_stack_bottom_frame.bind(I,l)(),ee=B(o(l)),te={};le.Fragment=g,le.jsx=function(n,y,w){var R=1e4>M.recentlyCreatedOwnerStacks++;return x(n,y,w,!1,R?Error("react-stack-top-frame"):v,R?B(o(n)):ee)},le.jsxs=function(n,y,w){var R=1e4>M.recentlyCreatedOwnerStacks++;return x(n,y,w,!0,R?Error("react-stack-top-frame"):v,R?B(o(n)):ee)}})()),le}var Fe;function jt(){return Fe||(Fe=1,process.env.NODE_ENV==="production"?ue.exports=wt():ue.exports=kt()),ue.exports}var h=jt();const Tt=({onCommand:e,onSave:t,onExport:r,onClear:o,onImageUpload:a,showButtons:l=!1,hasUnsavedChanges:i,pendingImagesCount:s=0})=>{const[d,u]=C.useState([]),[x,A]=C.useState("p"),L=()=>{const p=[];let g="p";document.queryCommandState("bold")&&p.push("bold"),document.queryCommandState("italic")&&p.push("italic"),document.queryCommandState("underline")&&p.push("underline"),document.queryCommandState("strikeThrough")&&p.push("strikeThrough"),document.queryCommandState("insertUnorderedList")&&p.push("insertUnorderedList"),document.queryCommandState("insertOrderedList")&&p.push("insertOrderedList"),document.queryCommandState("justifyLeft")&&p.push("justifyLeft"),document.queryCommandState("justifyCenter")&&p.push("justifyCenter"),document.queryCommandState("justifyRight")&&p.push("justifyRight");const G=window.getSelection();if(G&&G.rangeCount>0){let F=G.getRangeAt(0).commonAncestorContainer;for(;F&&F.nodeType===Node.ELEMENT_NODE;){const V=F,P=V.tagName.toLowerCase();if(["h1","h2","p","div"].includes(P)){P==="h1"||P==="h2"?(g=P,p.push(`formatBlock:${P}`)):(P==="p"||P==="div"&&!g)&&(g="p");break}F=V.parentNode}}A(g),u(p)};C.useEffect(()=>{const p=()=>{L()},g=()=>{setTimeout(L,10)};return document.addEventListener("selectionchange",p),document.addEventListener("click",g),document.addEventListener("keyup",g),()=>{document.removeEventListener("selectionchange",p),document.removeEventListener("click",g),document.removeEventListener("keyup",g)}},[]);const I=()=>{const p=prompt("Enter URL:");p&&e("createLink",p)},_=[{id:"bold",command:"bold",icon:h.jsx(D.Bold,{size:18}),title:"Bold"},{id:"italic",command:"italic",icon:h.jsx(D.Italic,{size:18}),title:"Italic"},{id:"underline",command:"underline",icon:h.jsx(D.Underline,{size:18}),title:"Underline"},{id:"strikeThrough",command:"strikeThrough",icon:h.jsx(D.Strikethrough,{size:18}),title:"Strikethrough"},{id:"separator-1",separator:!0},{id:"unordered-list",command:"insertUnorderedList",icon:h.jsx(D.List,{size:18}),title:"Bullet List"},{id:"ordered-list",command:"insertOrderedList",icon:h.jsx(D.ListOrdered,{size:18}),title:"Numbered List"},{id:"separator-2",separator:!0},{id:"heading-1",command:"formatBlock",value:"h1",icon:h.jsx(D.Heading1,{size:18}),title:"Heading 1",isActive:x==="h1"},{id:"heading-2",command:"formatBlock",value:"h2",icon:h.jsx(D.Heading2,{size:18}),title:"Heading 2",isActive:x==="h2"},{id:"paragraph",command:"formatBlock",value:"p",icon:h.jsx(D.Type,{size:18}),title:"Paragraph",isActive:x==="p"},{id:"separator-3",separator:!0},{id:"align-left",command:"justifyLeft",icon:h.jsx(D.AlignLeft,{size:18}),title:"Align Left"},{id:"align-center",command:"justifyCenter",icon:h.jsx(D.AlignCenter,{size:18}),title:"Center"},{id:"align-right",command:"justifyRight",icon:h.jsx(D.AlignRight,{size:18}),title:"Align Right"},{id:"separator-4",separator:!0},{id:"link",command:"createLink",icon:h.jsx(D.Link,{size:18}),title:"Insert Link",onClick:I},{id:"image",command:"insertImage",icon:s>0?h.jsxs("div",{className:"relative",children:[h.jsx(D.Image,{size:18}),h.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:s})]}):h.jsx(D.Image,{size:18}),title:"Insert Image",onClick:a}];return h.jsxs("div",{className:"flex flex-wrap justify-between items-center p-3 bg-gray-50 border-b border-gray-200",children:[h.jsx("div",{className:"flex flex-wrap items-center gap-1",children:_.map(p=>{if("separator"in p)return h.jsx("div",{className:"w-px h-6 bg-gray-300 mx-2"},p.id);const g=p.isActive!==void 0?p.isActive:d.includes(p.command);return h.jsx("button",{onClick:()=>p.onClick?p.onClick():e(p.command,p.value),title:p.title,type:"button",className:`w-9 h-9 flex items-center justify-center rounded-md border transition-colors duration-200 ${g?"bg-blue-100 text-blue-600 border-blue-300 hover:bg-blue-200":"bg-white border-gray-300 text-gray-700 hover:bg-gray-100"}`,children:p.icon},p.id)})}),l&&h.jsxs("div",{className:"flex items-center gap-2 mt-2 sm:mt-0",children:[h.jsxs("button",{onClick:t,disabled:!i,title:"Save Document",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",children:[h.jsx(D.Save,{size:16}),h.jsx("span",{children:"Save"})]}),h.jsxs("button",{onClick:r,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",children:[h.jsx(D.FileDown,{size:16}),h.jsx("span",{children:"Export"})]}),h.jsxs("button",{onClick:o,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",children:[h.jsx(D.Trash2,{size:16}),h.jsx("span",{children:"Clear"})]})]})]})},St=({wordCount:e,characterCount:t,hasUnsavedChanges:r,pendingImagesCount:o=0})=>h.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:[h.jsxs("div",{className:"flex items-center gap-6",children:[h.jsxs("div",{children:["Words: ",h.jsx("strong",{className:"text-gray-800",children:e})]}),h.jsxs("div",{children:["Characters: ",h.jsx("strong",{className:"text-gray-800",children:t})]}),o>0&&h.jsxs("div",{className:"flex items-center gap-1",children:[h.jsx(D.Image,{size:14,className:"text-blue-600"}),h.jsxs("span",{className:"text-blue-600",children:[o," image",o!==1?"s":""]})]})]}),h.jsx("div",{className:"flex items-center gap-2",children:h.jsxs("div",{className:`flex items-center gap-1 ${r?"text-orange-600":"text-green-600"}`,children:[r&&h.jsx(D.Save,{size:14,className:"animate-pulse"}),h.jsx("strong",{children:r?"Unsaved Changes":"Saved"})]})})]}),Ct=({initialContent:e="",onImageUpload:t,imageUploadEndpoint:r,allowedImageTypes:o,maxImageSize:a})=>{const[l,i]=C.useState({content:e,title:"Untitled Document",wordCount:e.trim()?e.trim().split(/\s+/).length:0,characterCount:e.length,hasUnsavedChanges:!1,pendingImages:[]}),s=C.useRef(null),d=C.useRef(new Map),u=C.useRef(e);C.useEffect(()=>{e!==u.current&&(s.current&&(s.current.innerHTML=e),i(b=>({...b,content:e,wordCount:e.trim()?e.trim().split(/\s+/).length:0,characterCount:e.length,hasUnsavedChanges:!1})),u.current=e)},[e]),C.useEffect(()=>{s.current&&!s.current.innerHTML&&e&&(s.current.innerHTML=e)},[e]);const x=C.useCallback(b=>{const k=b.trim()?b.trim().split(/\s+/).length:0,T=b.length;i(c=>({...c,content:b,wordCount:k,characterCount:T,hasUnsavedChanges:!0})),u.current=b},[]),A=C.useCallback(b=>{i(k=>({...k,title:b,hasUnsavedChanges:!0}))},[]),L=C.useCallback((b,k)=>{s.current&&(s.current.focus(),document.execCommand(b,!1,k),x(s.current.innerHTML))},[x]),I=b=>o.includes(b.type)?b.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(", ")}`},_=C.useCallback(async(b,k=!0)=>{const T=I(b);if(!T.valid){alert(T.error);return}if(!s.current)return;const c=`image-${Date.now()}-${Math.random().toString(36).substr(2,9)}`,z=new FileReader;z.onload=O=>{const U=O.target?.result;d.current.set(c,{originalUrl:U,fileName:b.name,size:b.size,type:b.type});const M=document.createElement("img");if(M.src=U,M.alt=b.name,M.className="image-uploading",M.setAttribute("data-image-id",c),M.setAttribute("data-file-name",b.name),k&&window.getSelection){const E=window.getSelection();if(E&&E.rangeCount>0){const N=E.getRangeAt(0);N.deleteContents(),N.insertNode(M),N.setStartAfter(M),N.collapse(!0),E.removeAllRanges(),E.addRange(N)}else s.current.appendChild(M)}else s.current.appendChild(M);x(s.current.innerHTML),(t||r)&&i(E=>({...E,pendingImages:[...E.pendingImages,{id:c,file:b,placeholderUrl:U,status:"pending"}]}))},z.readAsDataURL(b)},[t,r,x,o,a]),p=C.useCallback(async()=>{if(!t&&!r)return;const b=l.pendingImages.filter(k=>k.status==="pending");if(b.length!==0){for(const k of b)try{i(z=>({...z,pendingImages:z.pendingImages.map(O=>O.id===k.id?{...O,status:"uploading"}:O)}));let T;if(t)T=await t(k.file);else if(r){const z=new FormData;z.append("image",k.file);const O=await fetch(r,{method:"POST",body:z});if(!O.ok)throw new Error(`Upload failed: ${O.statusText}`);const U=await O.json();T=U.url||U.imageUrl||U.data}else throw new Error("No upload method provided");const c=s.current?.querySelector(`img[data-image-id="${k.id}"]`);if(c){c.src=T,c.classList.remove("image-uploading"),c.classList.add("image-uploaded");const z=d.current.get(k.id);z&&d.current.set(k.id,{...z,uploadedUrl:T})}i(z=>({...z,pendingImages:z.pendingImages.map(O=>O.id===k.id?{...O,status:"uploaded"}:O)}))}catch(T){console.error("Image upload failed:",T);const c=s.current?.querySelector(`img[data-image-id="${k.id}"]`);c&&(c.classList.remove("image-uploading"),c.classList.add("image-failed")),i(z=>({...z,pendingImages:z.pendingImages.map(O=>O.id===k.id?{...O,status:"failed"}:O)}))}s.current&&x(s.current.innerHTML)}},[l.pendingImages,t,r,x]),g=C.useCallback(b=>{const k=b.clipboardData.items;for(const T of k)if(T.type.indexOf("image")!==-1){b.preventDefault();const c=T.getAsFile();c&&_(c);break}setTimeout(()=>{s.current&&x(s.current.innerHTML)},0)},[_,x]),G=C.useCallback(b=>{b.preventDefault();const k=b.dataTransfer.files;for(const T of k)T.type.startsWith("image/")&&_(T,!1)},[_]),F=C.useCallback(()=>{try{const b=s.current?.innerHTML||l.content;return{success:!0,data:{title:l.title,content:b,metadata:{createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),wordCount:l.wordCount,characterCount:l.characterCount}}}}catch(b){return{success:!1,error:b instanceof Error?b.message:"Validation failed"}}},[l]),V=C.useCallback((b={includeStyles:!0,includeMeta:!0})=>{const k=F();if(!k.success)throw new Error(k.error);const{data:T}=k;let c=`<!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>${
|
|
12
|
+
<title>${T?.title||"Document"}</title>`;return b.includeStyles&&(c+=`
|
|
13
13
|
<style>
|
|
14
14
|
body {
|
|
15
15
|
font-family: system-ui, -apple-system, sans-serif;
|
|
@@ -37,41 +37,18 @@ React keys must be passed directly to JSX without using spread:
|
|
|
37
37
|
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
|
|
38
38
|
margin: 16px 0;
|
|
39
39
|
}
|
|
40
|
-
</style>`),
|
|
40
|
+
</style>`),c+=`
|
|
41
41
|
</head>
|
|
42
|
-
<body>`,
|
|
42
|
+
<body>`,b.includeMeta&&T&&(c+=`
|
|
43
43
|
<div class="document-meta">
|
|
44
|
-
<h1>${
|
|
45
|
-
<p><small>Created: ${new Date(
|
|
46
|
-
Words: ${
|
|
47
|
-
Characters: ${
|
|
44
|
+
<h1>${T.title}</h1>
|
|
45
|
+
<p><small>Created: ${new Date(T.metadata.createdAt).toLocaleString()} |
|
|
46
|
+
Words: ${T.metadata.wordCount} |
|
|
47
|
+
Characters: ${T.metadata.characterCount}</small></p>
|
|
48
48
|
<hr>
|
|
49
|
-
</div>`),
|
|
50
|
-
<div class="${
|
|
51
|
-
${
|
|
49
|
+
</div>`),c+=`
|
|
50
|
+
<div class="${b.includeStyles?"readonly-content":""}">
|
|
51
|
+
${T?.content||""}
|
|
52
52
|
</div>
|
|
53
53
|
</body>
|
|
54
|
-
</html>`,s},[G]),L=z.useCallback(()=>{i({content:"",title:"Untitled Document",wordCount:0,characterCount:0,hasUnsavedChanges:!1,pendingImages:[]}),m.current.clear(),c.current&&(c.current.innerHTML=""),_.current=""},[]);return{editorState:l,editorRef:c,updateContent:C,updateTitle:I,executeCommand:P,getValidationResult:G,exportToHTML:F,clearEditor:L,handlePaste:E,handleDrop:U,insertImage:M,uploadPendingImages:h}},Xe=(e,a)=>{const r=new Array(e.length+a.length);for(let o=0;o<e.length;o++)r[o]=e[o];for(let o=0;o<a.length;o++)r[e.length+o]=a[o];return r},Ze=(e,a)=>({classGroupId:e,validator:a}),je=(e=new Map,a=null,r)=>({nextPart:e,validators:a,classGroupId:r}),ue="-",Ee=[],Qe="arbitrary..",Ke=e=>{const a=et(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:o}=e;return{getClassGroupId:i=>{if(i.startsWith("[")&&i.endsWith("]"))return $e(i);const c=i.split(ue),m=c[0]===""&&c.length>1?1:0;return Se(c,m,a)},getConflictingClassGroupIds:(i,c)=>{if(c){const m=o[i],_=r[i];return m?_?Xe(_,m):m:_||Ee}return r[i]||Ee}}},Se=(e,a,r)=>{if(e.length-a===0)return r.classGroupId;const n=e[a],l=r.nextPart.get(n);if(l){const _=Se(e,a+1,l);if(_)return _}const i=r.validators;if(i===null)return;const c=a===0?e.join(ue):e.slice(a).join(ue),m=i.length;for(let _=0;_<m;_++){const C=i[_];if(C.validator(c))return C.classGroupId}},$e=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const a=e.slice(1,-1),r=a.indexOf(":"),o=a.slice(0,r);return o?Qe+o:void 0})(),et=e=>{const{theme:a,classGroups:r}=e;return tt(r,a)},tt=(e,a)=>{const r=je();for(const o in e){const n=e[o];fe(n,r,o,a)}return r},fe=(e,a,r,o)=>{const n=e.length;for(let l=0;l<n;l++){const i=e[l];rt(i,a,r,o)}},rt=(e,a,r,o)=>{if(typeof e=="string"){ot(e,a,r);return}if(typeof e=="function"){at(e,a,r,o);return}nt(e,a,r,o)},ot=(e,a,r)=>{const o=e===""?a:Te(a,e);o.classGroupId=r},at=(e,a,r,o)=>{if(it(e)){fe(e(o),a,r,o);return}a.validators===null&&(a.validators=[]),a.validators.push(Ze(r,e))},nt=(e,a,r,o)=>{const n=Object.entries(e),l=n.length;for(let i=0;i<l;i++){const[c,m]=n[i];fe(m,Te(a,c),r,o)}},Te=(e,a)=>{let r=e;const o=a.split(ue),n=o.length;for(let l=0;l<n;l++){const i=o[l];let c=r.nextPart.get(i);c||(c=je(),r.nextPart.set(i,c)),r=c}return r},it=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,st=e=>{if(e<1)return{get:()=>{},set:()=>{}};let a=0,r=Object.create(null),o=Object.create(null);const n=(l,i)=>{r[l]=i,a++,a>e&&(a=0,o=r,r=Object.create(null))};return{get(l){let i=r[l];if(i!==void 0)return i;if((i=o[l])!==void 0)return n(l,i),i},set(l,i){l in r?r[l]=i:n(l,i)}}},he="!",ze=":",lt=[],Ae=(e,a,r,o,n)=>({modifiers:e,hasImportantModifier:a,baseClassName:r,maybePostfixModifierPosition:o,isExternal:n}),ct=e=>{const{prefix:a,experimentalParseClassName:r}=e;let o=n=>{const l=[];let i=0,c=0,m=0,_;const C=n.length;for(let h=0;h<C;h++){const E=n[h];if(i===0&&c===0){if(E===ze){l.push(n.slice(m,h)),m=h+1;continue}if(E==="/"){_=h;continue}}E==="["?i++:E==="]"?i--:E==="("?c++:E===")"&&c--}const I=l.length===0?n:n.slice(m);let P=I,v=!1;I.endsWith(he)?(P=I.slice(0,-1),v=!0):I.startsWith(he)&&(P=I.slice(1),v=!0);const M=_&&_>m?_-m:void 0;return Ae(l,v,P,M)};if(a){const n=a+ze,l=o;o=i=>i.startsWith(n)?l(i.slice(n.length)):Ae(lt,!1,i,void 0,!0)}if(r){const n=o;o=l=>r({className:l,parseClassName:n})}return o},dt=e=>{const a=new Map;return e.orderSensitiveModifiers.forEach((r,o)=>{a.set(r,1e6+o)}),r=>{const o=[];let n=[];for(let l=0;l<r.length;l++){const i=r[l],c=i[0]==="[",m=a.has(i);c||m?(n.length>0&&(n.sort(),o.push(...n),n=[]),o.push(i)):n.push(i)}return n.length>0&&(n.sort(),o.push(...n)),o}},ut=e=>({cache:st(e.cacheSize),parseClassName:ct(e),sortModifiers:dt(e),...Ke(e)}),mt=/\s+/,pt=(e,a)=>{const{parseClassName:r,getClassGroupId:o,getConflictingClassGroupIds:n,sortModifiers:l}=a,i=[],c=e.trim().split(mt);let m="";for(let _=c.length-1;_>=0;_-=1){const C=c[_],{isExternal:I,modifiers:P,hasImportantModifier:v,baseClassName:M,maybePostfixModifierPosition:h}=r(C);if(I){m=C+(m.length>0?" "+m:m);continue}let E=!!h,U=o(E?M.substring(0,h):M);if(!U){if(!E){m=C+(m.length>0?" "+m:m);continue}if(U=o(M),!U){m=C+(m.length>0?" "+m:m);continue}E=!1}const G=P.length===0?"":P.length===1?P[0]:l(P).join(":"),F=v?G+he:G,L=F+U;if(i.indexOf(L)>-1)continue;i.push(L);const g=n(U,E);for(let w=0;w<g.length;++w){const j=g[w];i.push(F+j)}m=C+(m.length>0?" "+m:m)}return m},gt=(...e)=>{let a=0,r,o,n="";for(;a<e.length;)(r=e[a++])&&(o=Re(r))&&(n&&(n+=" "),n+=o);return n},Re=e=>{if(typeof e=="string")return e;let a,r="";for(let o=0;o<e.length;o++)e[o]&&(a=Re(e[o]))&&(r&&(r+=" "),r+=a);return r},ft=(e,...a)=>{let r,o,n,l;const i=m=>{const _=a.reduce((C,I)=>I(C),e());return r=ut(_),o=r.cache.get,n=r.cache.set,l=c,c(m)},c=m=>{const _=o(m);if(_)return _;const C=pt(m,r);return n(m,C),C};return l=i,(...m)=>l(gt(...m))},ht=[],D=e=>{const a=r=>r[e]||ht;return a.isThemeGetter=!0,a},Ne=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Ie=/^\((?:(\w[\w-]*):)?(.+)\)$/i,bt=/^\d+\/\d+$/,xt=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,vt=/\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$/,wt=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,yt=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,kt=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,te=e=>bt.test(e),y=e=>!!e&&!Number.isNaN(Number(e)),K=e=>!!e&&Number.isInteger(Number(e)),be=e=>e.endsWith("%")&&y(e.slice(0,-1)),J=e=>xt.test(e),_t=()=>!0,Ct=e=>vt.test(e)&&!wt.test(e),Le=()=>!1,jt=e=>yt.test(e),Et=e=>kt.test(e),St=e=>!d(e)&&!u(e),Tt=e=>re(e,Fe,Le),d=e=>Ne.test(e),ee=e=>re(e,Ue,Ct),xe=e=>re(e,It,y),Pe=e=>re(e,Oe,Le),zt=e=>re(e,De,Et),me=e=>re(e,Ge,jt),u=e=>Ie.test(e),ce=e=>oe(e,Ue),At=e=>oe(e,Lt),Me=e=>oe(e,Oe),Rt=e=>oe(e,Fe),Nt=e=>oe(e,De),pe=e=>oe(e,Ge,!0),re=(e,a,r)=>{const o=Ne.exec(e);return o?o[1]?a(o[1]):r(o[2]):!1},oe=(e,a,r=!1)=>{const o=Ie.exec(e);return o?o[1]?a(o[1]):r:!1},Oe=e=>e==="position"||e==="percentage",De=e=>e==="image"||e==="url",Fe=e=>e==="length"||e==="size"||e==="bg-size",Ue=e=>e==="length",It=e=>e==="number",Lt=e=>e==="family-name",Ge=e=>e==="shadow",Pt=ft(()=>{const e=D("color"),a=D("font"),r=D("text"),o=D("font-weight"),n=D("tracking"),l=D("leading"),i=D("breakpoint"),c=D("container"),m=D("spacing"),_=D("radius"),C=D("shadow"),I=D("inset-shadow"),P=D("text-shadow"),v=D("drop-shadow"),M=D("blur"),h=D("perspective"),E=D("aspect"),U=D("ease"),G=D("animate"),F=()=>["auto","avoid","all","avoid-page","page","left","right","column"],L=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],g=()=>[...L(),u,d],w=()=>["auto","hidden","clip","visible","scroll"],j=()=>["auto","contain","none"],s=()=>[u,d,m],S=()=>[te,"full","auto",...s()],R=()=>[K,"none","subgrid",u,d],V=()=>["auto",{span:["full",K,u,d]},K,u,d],O=()=>[K,"auto",u,d],W=()=>["auto","min","max","fr",u,d],B=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],H=()=>["start","end","center","stretch","center-safe","end-safe"],Y=()=>["auto",...s()],q=()=>[te,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...s()],f=()=>[e,u,d],ae=()=>[...L(),Me,Pe,{position:[u,d]}],A=()=>["no-repeat",{repeat:["","x","y","space","round"]}],t=()=>["auto","cover","contain",Rt,Tt,{size:[u,d]}],b=()=>[be,ce,ee],x=()=>["","none","full",_,u,d],T=()=>["",y,ce,ee],X=()=>["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"],k=()=>[y,be,Me,Pe],Z=()=>["","none",M,u,d],$=()=>["none",y,u,d],ie=()=>["none",y,u,d],we=()=>[y,u,d],ge=()=>[te,"full",...s()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[J],breakpoint:[J],color:[_t],container:[J],"drop-shadow":[J],ease:["in","out","in-out"],font:[St],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[J],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[J],shadow:[J],spacing:["px",y],text:[J],"text-shadow":[J],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",te,d,u,E]}],container:["container"],columns:[{columns:[y,d,u,c]}],"break-after":[{"break-after":F()}],"break-before":[{"break-before":F()}],"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:g()}],overflow:[{overflow:w()}],"overflow-x":[{"overflow-x":w()}],"overflow-y":[{"overflow-y":w()}],overscroll:[{overscroll:j()}],"overscroll-x":[{"overscroll-x":j()}],"overscroll-y":[{"overscroll-y":j()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:S()}],"inset-x":[{"inset-x":S()}],"inset-y":[{"inset-y":S()}],start:[{start:S()}],end:[{end:S()}],top:[{top:S()}],right:[{right:S()}],bottom:[{bottom:S()}],left:[{left:S()}],visibility:["visible","invisible","collapse"],z:[{z:[K,"auto",u,d]}],basis:[{basis:[te,"full","auto",c,...s()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[y,te,"auto","initial","none",d]}],grow:[{grow:["",y,u,d]}],shrink:[{shrink:["",y,u,d]}],order:[{order:[K,"first","last","none",u,d]}],"grid-cols":[{"grid-cols":R()}],"col-start-end":[{col:V()}],"col-start":[{"col-start":O()}],"col-end":[{"col-end":O()}],"grid-rows":[{"grid-rows":R()}],"row-start-end":[{row:V()}],"row-start":[{"row-start":O()}],"row-end":[{"row-end":O()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":W()}],"auto-rows":[{"auto-rows":W()}],gap:[{gap:s()}],"gap-x":[{"gap-x":s()}],"gap-y":[{"gap-y":s()}],"justify-content":[{justify:[...B(),"normal"]}],"justify-items":[{"justify-items":[...H(),"normal"]}],"justify-self":[{"justify-self":["auto",...H()]}],"align-content":[{content:["normal",...B()]}],"align-items":[{items:[...H(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...H(),{baseline:["","last"]}]}],"place-content":[{"place-content":B()}],"place-items":[{"place-items":[...H(),"baseline"]}],"place-self":[{"place-self":["auto",...H()]}],p:[{p:s()}],px:[{px:s()}],py:[{py:s()}],ps:[{ps:s()}],pe:[{pe:s()}],pt:[{pt:s()}],pr:[{pr:s()}],pb:[{pb:s()}],pl:[{pl:s()}],m:[{m:Y()}],mx:[{mx:Y()}],my:[{my:Y()}],ms:[{ms:Y()}],me:[{me:Y()}],mt:[{mt:Y()}],mr:[{mr:Y()}],mb:[{mb:Y()}],ml:[{ml:Y()}],"space-x":[{"space-x":s()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":s()}],"space-y-reverse":["space-y-reverse"],size:[{size:q()}],w:[{w:[c,"screen",...q()]}],"min-w":[{"min-w":[c,"screen","none",...q()]}],"max-w":[{"max-w":[c,"screen","none","prose",{screen:[i]},...q()]}],h:[{h:["screen","lh",...q()]}],"min-h":[{"min-h":["screen","lh","none",...q()]}],"max-h":[{"max-h":["screen","lh",...q()]}],"font-size":[{text:["base",r,ce,ee]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,u,xe]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",be,d]}],"font-family":[{font:[At,d,a]}],"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:[n,u,d]}],"line-clamp":[{"line-clamp":[y,"none",u,xe]}],leading:[{leading:[l,...s()]}],"list-image":[{"list-image":["none",u,d]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",u,d]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:f()}],"text-color":[{text:f()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...X(),"wavy"]}],"text-decoration-thickness":[{decoration:[y,"from-font","auto",u,ee]}],"text-decoration-color":[{decoration:f()}],"underline-offset":[{"underline-offset":[y,"auto",u,d]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:s()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",u,d]}],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",u,d]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:ae()}],"bg-repeat":[{bg:A()}],"bg-size":[{bg:t()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},K,u,d],radial:["",u,d],conic:[K,u,d]},Nt,zt]}],"bg-color":[{bg:f()}],"gradient-from-pos":[{from:b()}],"gradient-via-pos":[{via:b()}],"gradient-to-pos":[{to:b()}],"gradient-from":[{from:f()}],"gradient-via":[{via:f()}],"gradient-to":[{to:f()}],rounded:[{rounded:x()}],"rounded-s":[{"rounded-s":x()}],"rounded-e":[{"rounded-e":x()}],"rounded-t":[{"rounded-t":x()}],"rounded-r":[{"rounded-r":x()}],"rounded-b":[{"rounded-b":x()}],"rounded-l":[{"rounded-l":x()}],"rounded-ss":[{"rounded-ss":x()}],"rounded-se":[{"rounded-se":x()}],"rounded-ee":[{"rounded-ee":x()}],"rounded-es":[{"rounded-es":x()}],"rounded-tl":[{"rounded-tl":x()}],"rounded-tr":[{"rounded-tr":x()}],"rounded-br":[{"rounded-br":x()}],"rounded-bl":[{"rounded-bl":x()}],"border-w":[{border:T()}],"border-w-x":[{"border-x":T()}],"border-w-y":[{"border-y":T()}],"border-w-s":[{"border-s":T()}],"border-w-e":[{"border-e":T()}],"border-w-t":[{"border-t":T()}],"border-w-r":[{"border-r":T()}],"border-w-b":[{"border-b":T()}],"border-w-l":[{"border-l":T()}],"divide-x":[{"divide-x":T()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":T()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...X(),"hidden","none"]}],"divide-style":[{divide:[...X(),"hidden","none"]}],"border-color":[{border:f()}],"border-color-x":[{"border-x":f()}],"border-color-y":[{"border-y":f()}],"border-color-s":[{"border-s":f()}],"border-color-e":[{"border-e":f()}],"border-color-t":[{"border-t":f()}],"border-color-r":[{"border-r":f()}],"border-color-b":[{"border-b":f()}],"border-color-l":[{"border-l":f()}],"divide-color":[{divide:f()}],"outline-style":[{outline:[...X(),"none","hidden"]}],"outline-offset":[{"outline-offset":[y,u,d]}],"outline-w":[{outline:["",y,ce,ee]}],"outline-color":[{outline:f()}],shadow:[{shadow:["","none",C,pe,me]}],"shadow-color":[{shadow:f()}],"inset-shadow":[{"inset-shadow":["none",I,pe,me]}],"inset-shadow-color":[{"inset-shadow":f()}],"ring-w":[{ring:T()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:f()}],"ring-offset-w":[{"ring-offset":[y,ee]}],"ring-offset-color":[{"ring-offset":f()}],"inset-ring-w":[{"inset-ring":T()}],"inset-ring-color":[{"inset-ring":f()}],"text-shadow":[{"text-shadow":["none",P,pe,me]}],"text-shadow-color":[{"text-shadow":f()}],opacity:[{opacity:[y,u,d]}],"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":[y]}],"mask-image-linear-from-pos":[{"mask-linear-from":k()}],"mask-image-linear-to-pos":[{"mask-linear-to":k()}],"mask-image-linear-from-color":[{"mask-linear-from":f()}],"mask-image-linear-to-color":[{"mask-linear-to":f()}],"mask-image-t-from-pos":[{"mask-t-from":k()}],"mask-image-t-to-pos":[{"mask-t-to":k()}],"mask-image-t-from-color":[{"mask-t-from":f()}],"mask-image-t-to-color":[{"mask-t-to":f()}],"mask-image-r-from-pos":[{"mask-r-from":k()}],"mask-image-r-to-pos":[{"mask-r-to":k()}],"mask-image-r-from-color":[{"mask-r-from":f()}],"mask-image-r-to-color":[{"mask-r-to":f()}],"mask-image-b-from-pos":[{"mask-b-from":k()}],"mask-image-b-to-pos":[{"mask-b-to":k()}],"mask-image-b-from-color":[{"mask-b-from":f()}],"mask-image-b-to-color":[{"mask-b-to":f()}],"mask-image-l-from-pos":[{"mask-l-from":k()}],"mask-image-l-to-pos":[{"mask-l-to":k()}],"mask-image-l-from-color":[{"mask-l-from":f()}],"mask-image-l-to-color":[{"mask-l-to":f()}],"mask-image-x-from-pos":[{"mask-x-from":k()}],"mask-image-x-to-pos":[{"mask-x-to":k()}],"mask-image-x-from-color":[{"mask-x-from":f()}],"mask-image-x-to-color":[{"mask-x-to":f()}],"mask-image-y-from-pos":[{"mask-y-from":k()}],"mask-image-y-to-pos":[{"mask-y-to":k()}],"mask-image-y-from-color":[{"mask-y-from":f()}],"mask-image-y-to-color":[{"mask-y-to":f()}],"mask-image-radial":[{"mask-radial":[u,d]}],"mask-image-radial-from-pos":[{"mask-radial-from":k()}],"mask-image-radial-to-pos":[{"mask-radial-to":k()}],"mask-image-radial-from-color":[{"mask-radial-from":f()}],"mask-image-radial-to-color":[{"mask-radial-to":f()}],"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":L()}],"mask-image-conic-pos":[{"mask-conic":[y]}],"mask-image-conic-from-pos":[{"mask-conic-from":k()}],"mask-image-conic-to-pos":[{"mask-conic-to":k()}],"mask-image-conic-from-color":[{"mask-conic-from":f()}],"mask-image-conic-to-color":[{"mask-conic-to":f()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:ae()}],"mask-repeat":[{mask:A()}],"mask-size":[{mask:t()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",u,d]}],filter:[{filter:["","none",u,d]}],blur:[{blur:Z()}],brightness:[{brightness:[y,u,d]}],contrast:[{contrast:[y,u,d]}],"drop-shadow":[{"drop-shadow":["","none",v,pe,me]}],"drop-shadow-color":[{"drop-shadow":f()}],grayscale:[{grayscale:["",y,u,d]}],"hue-rotate":[{"hue-rotate":[y,u,d]}],invert:[{invert:["",y,u,d]}],saturate:[{saturate:[y,u,d]}],sepia:[{sepia:["",y,u,d]}],"backdrop-filter":[{"backdrop-filter":["","none",u,d]}],"backdrop-blur":[{"backdrop-blur":Z()}],"backdrop-brightness":[{"backdrop-brightness":[y,u,d]}],"backdrop-contrast":[{"backdrop-contrast":[y,u,d]}],"backdrop-grayscale":[{"backdrop-grayscale":["",y,u,d]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[y,u,d]}],"backdrop-invert":[{"backdrop-invert":["",y,u,d]}],"backdrop-opacity":[{"backdrop-opacity":[y,u,d]}],"backdrop-saturate":[{"backdrop-saturate":[y,u,d]}],"backdrop-sepia":[{"backdrop-sepia":["",y,u,d]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":s()}],"border-spacing-x":[{"border-spacing-x":s()}],"border-spacing-y":[{"border-spacing-y":s()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",u,d]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[y,"initial",u,d]}],ease:[{ease:["linear","initial",U,u,d]}],delay:[{delay:[y,u,d]}],animate:[{animate:["none",G,u,d]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[h,u,d]}],"perspective-origin":[{"perspective-origin":g()}],rotate:[{rotate:$()}],"rotate-x":[{"rotate-x":$()}],"rotate-y":[{"rotate-y":$()}],"rotate-z":[{"rotate-z":$()}],scale:[{scale:ie()}],"scale-x":[{"scale-x":ie()}],"scale-y":[{"scale-y":ie()}],"scale-z":[{"scale-z":ie()}],"scale-3d":["scale-3d"],skew:[{skew:we()}],"skew-x":[{"skew-x":we()}],"skew-y":[{"skew-y":we()}],transform:[{transform:[u,d,"","none","gpu","cpu"]}],"transform-origin":[{origin:g()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:ge()}],"translate-x":[{"translate-x":ge()}],"translate-y":[{"translate-y":ge()}],"translate-z":[{"translate-z":ge()}],"translate-none":["translate-none"],accent:[{accent:f()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:f()}],"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",u,d]}],"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":s()}],"scroll-mx":[{"scroll-mx":s()}],"scroll-my":[{"scroll-my":s()}],"scroll-ms":[{"scroll-ms":s()}],"scroll-me":[{"scroll-me":s()}],"scroll-mt":[{"scroll-mt":s()}],"scroll-mr":[{"scroll-mr":s()}],"scroll-mb":[{"scroll-mb":s()}],"scroll-ml":[{"scroll-ml":s()}],"scroll-p":[{"scroll-p":s()}],"scroll-px":[{"scroll-px":s()}],"scroll-py":[{"scroll-py":s()}],"scroll-ps":[{"scroll-ps":s()}],"scroll-pe":[{"scroll-pe":s()}],"scroll-pt":[{"scroll-pt":s()}],"scroll-pr":[{"scroll-pr":s()}],"scroll-pb":[{"scroll-pb":s()}],"scroll-pl":[{"scroll-pl":s()}],"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",u,d]}],fill:[{fill:["none",...f()]}],"stroke-w":[{stroke:[y,ce,ee,xe]}],stroke:[{stroke:["none",...f()]}],"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 Ve(e){var a,r,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e)){var n=e.length;for(a=0;a<n;a++)e[a]&&(r=Ve(e[a]))&&(o&&(o+=" "),o+=r)}else for(r in e)e[r]&&(o&&(o+=" "),o+=r);return o}function Mt(){for(var e,a,r=0,o="",n=arguments.length;r<n;r++)(e=arguments[r])&&(a=Ve(e))&&(o&&(o+=" "),o+=a);return o}function ve(...e){return Pt(Mt(e))}const Ot=({initialContent:e="",onChange:a,onSave:r,onExport:o,readOnly:n=!1,showButtons:l=!1,showSaveTitle:i=!1,showStatusBar:c=!1,height:m="500px",onImageUpload:_,imageUploadEndpoint:C,allowedImageTypes:I=["image/jpeg","image/png","image/gif","image/webp"],maxImageSize:P=5*1024*1024})=>{const{editorState:v,editorRef:M,updateContent:h,updateTitle:E,executeCommand:U,getValidationResult:G,exportToHTML:F,clearEditor:L,handlePaste:g,handleDrop:w,insertImage:j,uploadPendingImages:s}=Je({initialContent:e,onImageUpload:_,imageUploadEndpoint:C,allowedImageTypes:I,maxImageSize:P}),[S,R]=z.useState(!1),V=z.useRef(null);z.useEffect(()=>{if(a)try{const A=F({includeStyles:!1,includeMeta:!1});a(v.content,A,v.title)}catch{const t=`<!DOCTYPE html><html><body>${v.content}</body></html>`;a(v.content,t,v.title)}},[v.content,v.title,a,F]);const O=z.useCallback(async()=>{if(v.pendingImages.length>0)try{await s()}catch{alert("Failed to upload some images. Please check and try again.");return}if(G().success){const t=F();r?.(v.content,t)}else R(!0),setTimeout(()=>R(!1),3e3)},[v.content,v.pendingImages,G,F,r,s]),W=z.useCallback(async()=>{try{v.pendingImages.length>0&&await s();const A=F();o?.(A);const t=new Blob([A],{type:"text/html"}),b=URL.createObjectURL(t),x=document.createElement("a");x.href=b,x.download=`${v.title.replace(/\s+/g,"_")||"document"}.html`,document.body.appendChild(x),x.click(),document.body.removeChild(x),URL.revokeObjectURL(b)}catch(A){alert("Export failed: "+(A instanceof Error?A.message:"Unknown error"))}},[F,v.title,v.pendingImages,o,s]),B=z.useCallback(()=>{confirm("Are you sure you want to clear the editor? All unsaved changes will be lost.")&&L()},[L]),H=z.useCallback(A=>{h(A)},[h]),Y=A=>{E(A.target.value)},q=()=>{V.current?.click()},f=async A=>{const t=A.target.files;if(!(!t||t.length===0)){for(const b of Array.from(t))await j(b);V.current&&(V.current.value="")}};return p.jsxs("div",{className:ve("relative w-full bg-white border border-gray-300 rounded-lg overflow-hidden",n&&"pointer-events-none opacity-80"),style:{height:m},children:[i&&p.jsx("div",{className:"p-6 border-b border-gray-200 bg-gray-50",children:p.jsx("input",{type:"text",className:ve("w-full bg-transparent text-2xl font-bold text-gray-800 outline-none placeholder-gray-400",n&&"cursor-default"),value:v.title,onChange:Y,placeholder:"Document Title",readOnly:n})}),p.jsx(He,{onCommand:U,onSave:O,onExport:W,showButtons:l,onClear:B,hasUnsavedChanges:v.hasUnsavedChanges,onImageUpload:q,pendingImagesCount:v.pendingImages.length}),p.jsx("input",{type:"file",ref:V,className:"hidden",accept:I.join(","),multiple:!0,onChange:f}),S&&p.jsx("div",{className:"px-8 py-2 bg-red-50 text-red-600 text-sm",children:"Please fix validation errors before saving."}),p.jsx("div",{ref:M,className:ve("p-6 outline-none overflow-y-auto",`
|
|
55
|
-
/* Heading styles */
|
|
56
|
-
[&_h1]:text-3xl [&_h1]:font-bold [&_h1]:mt-6 [&_h1]:mb-4 [&_h1]:text-gray-800 [&_h1]:border-b [&_h1]:pb-2
|
|
57
|
-
[&_h2]:text-2xl [&_h2]:font-bold [&_h2]:mt-5 [&_h2]:mb-3 [&_h2]:text-gray-800
|
|
58
|
-
[&_h3]:text-xl [&_h3]:font-bold [&_h3]:mt-4 [&_h3]:mb-2 [&_h3]:text-gray-800
|
|
59
|
-
/* Paragraph styles */
|
|
60
|
-
[&_p]:mb-4 [&_p]:text-gray-700 [&_p]:leading-relaxed
|
|
61
|
-
/* List styles */
|
|
62
|
-
[&_ul]:list-disc [&_ul]:list-inside [&_ul]:mb-4 [&_ul]:ml-4 [&_ul]:space-y-1
|
|
63
|
-
[&_ol]:list-decimal [&_ol]:list-inside [&_ol]:mb-4 [&_ol]:ml-4 [&_ol]:space-y-1
|
|
64
|
-
[&_li]:mb-1
|
|
65
|
-
/* Link styles */
|
|
66
|
-
[&_a]:text-blue-600 [&_a]:hover:text-blue-800 [&_a]:underline [&_a]:transition-colors
|
|
67
|
-
/* Blockquote styles */
|
|
68
|
-
[&_blockquote]:border-l-4 [&_blockquote]:border-blue-500 [&_blockquote]:pl-4 [&_blockquote]:italic [&_blockquote]:text-gray-600 [&_blockquote]:my-4
|
|
69
|
-
/* Code styles */
|
|
70
|
-
[&_code]:bg-gray-100 [&_code]:px-2 [&_code]:py-1 [&_code]:rounded [&_code]:text-sm [&_code]:font-mono
|
|
71
|
-
[&_pre]:bg-gray-800 [&_pre]:text-gray-100 [&_pre]:p-4 [&_pre]:rounded-lg [&_pre]:overflow-x-auto [&_pre]:my-4
|
|
72
|
-
[&_pre_code]:bg-transparent [&_pre_code]:text-inherit [&_pre_code]:p-0
|
|
73
|
-
/* Image styles */
|
|
74
|
-
[&_img]:max-w-full [&_img]:h-auto [&_img]:rounded-lg [&_img]:shadow-md [&_img]:my-4
|
|
75
|
-
[&_.image-uploading]:opacity-50 [&_.image-uploading]:animate-pulse
|
|
76
|
-
[&_.image-failed]:border-2 [&_.image-failed]:border-red-500
|
|
77
|
-
`,n?"bg-transparent cursor-default":"cursor-text bg-white","min-h-[200px]"),contentEditable:!n,suppressContentEditableWarning:!0,onInput:A=>H(A.currentTarget.innerHTML),onPaste:g,onDrop:w,onDragOver:A=>A.preventDefault(),onKeyDown:A=>{A.key==="Tab"&&(A.preventDefault(),U("indent"))},"data-placeholder":n?"":"Start typing...",style:{minHeight:"200px",maxHeight:`calc(${m} - ${i?"140px":"80px"} - ${c?"40px":"0px"})`}}),v.pendingImages.length>0&&p.jsx("div",{className:"px-8 pb-4",children:p.jsxs("div",{className:"flex items-center gap-2 text-sm text-blue-600 bg-blue-50 p-3 rounded-lg",children:[p.jsx(N.Upload,{size:16}),p.jsxs("span",{children:[v.pendingImages.length," image(s) pending upload. They will be uploaded when you save or export."]})]})}),c&&p.jsx(qe,{wordCount:v.wordCount,characterCount:v.characterCount,hasUnsavedChanges:v.hasUnsavedChanges,pendingImagesCount:v.pendingImages.length})]})};Q.TextEditor=Ot,Object.defineProperty(Q,Symbol.toStringTag,{value:"Module"})}));
|
|
54
|
+
</html>`,c},[F]),P=C.useCallback(()=>{i({content:"",title:"Untitled Document",wordCount:0,characterCount:0,hasUnsavedChanges:!1,pendingImages:[]}),d.current.clear(),s.current&&(s.current.innerHTML=""),u.current=""},[]);return{editorState:l,editorRef:s,updateContent:x,updateTitle:A,executeCommand:L,getValidationResult:F,exportToHTML:V,clearEditor:P,handlePaste:g,handleDrop:G,insertImage:_,uploadPendingImages:p}},Et=(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},Rt=(e,t)=>({classGroupId:e,validator:t}),De=(e=new Map,t=null,r)=>({nextPart:e,validators:t,classGroupId:r}),me="-",Ge=[],_t="arbitrary..",zt=e=>{const t=Ot(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:o}=e;return{getClassGroupId:i=>{if(i.startsWith("[")&&i.endsWith("]"))return At(i);const s=i.split(me),d=s[0]===""&&s.length>1?1:0;return Ue(s,d,t)},getConflictingClassGroupIds:(i,s)=>{if(s){const d=o[i],u=r[i];return d?u?Et(u,d):d:u||Ge}return r[i]||Ge}}},Ue=(e,t,r)=>{if(e.length-t===0)return r.classGroupId;const a=e[t],l=r.nextPart.get(a);if(l){const u=Ue(e,t+1,l);if(u)return u}const i=r.validators;if(i===null)return;const s=t===0?e.join(me):e.slice(t).join(me),d=i.length;for(let u=0;u<d;u++){const x=i[u];if(x.validator(s))return x.classGroupId}},At=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?_t+o:void 0})(),Ot=e=>{const{theme:t,classGroups:r}=e;return It(r,t)},It=(e,t)=>{const r=De();for(const o in e){const a=e[o];be(a,r,o,t)}return r},be=(e,t,r,o)=>{const a=e.length;for(let l=0;l<a;l++){const i=e[l];Nt(i,t,r,o)}},Nt=(e,t,r,o)=>{if(typeof e=="string"){Lt(e,t,r);return}if(typeof e=="function"){Pt(e,t,r,o);return}Mt(e,t,r,o)},Lt=(e,t,r)=>{const o=e===""?t:We(t,e);o.classGroupId=r},Pt=(e,t,r,o)=>{if(Ft(e)){be(e(o),t,r,o);return}t.validators===null&&(t.validators=[]),t.validators.push(Rt(r,e))},Mt=(e,t,r,o)=>{const a=Object.entries(e),l=a.length;for(let i=0;i<l;i++){const[s,d]=a[i];be(d,We(t,s),r,o)}},We=(e,t)=>{let r=e;const o=t.split(me),a=o.length;for(let l=0;l<a;l++){const i=o[l];let s=r.nextPart.get(i);s||(s=De(),r.nextPart.set(i,s)),r=s}return r},Ft=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,Dt=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,r=Object.create(null),o=Object.create(null);const a=(l,i)=>{r[l]=i,t++,t>e&&(t=0,o=r,r=Object.create(null))};return{get(l){let i=r[l];if(i!==void 0)return i;if((i=o[l])!==void 0)return a(l,i),i},set(l,i){l in r?r[l]=i:a(l,i)}}},he="!",Ve=":",Gt=[],Be=(e,t,r,o,a)=>({modifiers:e,hasImportantModifier:t,baseClassName:r,maybePostfixModifierPosition:o,isExternal:a}),Ut=e=>{const{prefix:t,experimentalParseClassName:r}=e;let o=a=>{const l=[];let i=0,s=0,d=0,u;const x=a.length;for(let p=0;p<x;p++){const g=a[p];if(i===0&&s===0){if(g===Ve){l.push(a.slice(d,p)),d=p+1;continue}if(g==="/"){u=p;continue}}g==="["?i++:g==="]"?i--:g==="("?s++:g===")"&&s--}const A=l.length===0?a:a.slice(d);let L=A,I=!1;A.endsWith(he)?(L=A.slice(0,-1),I=!0):A.startsWith(he)&&(L=A.slice(1),I=!0);const _=u&&u>d?u-d:void 0;return Be(l,I,L,_)};if(t){const a=t+Ve,l=o;o=i=>i.startsWith(a)?l(i.slice(a.length)):Be(Gt,!1,i,void 0,!0)}if(r){const a=o;o=l=>r({className:l,parseClassName:a})}return o},Wt=e=>{const t=new Map;return e.orderSensitiveModifiers.forEach((r,o)=>{t.set(r,1e6+o)}),r=>{const o=[];let a=[];for(let l=0;l<r.length;l++){const i=r[l],s=i[0]==="[",d=t.has(i);s||d?(a.length>0&&(a.sort(),o.push(...a),a=[]),o.push(i)):a.push(i)}return a.length>0&&(a.sort(),o.push(...a)),o}},Vt=e=>({cache:Dt(e.cacheSize),parseClassName:Ut(e),sortModifiers:Wt(e),...zt(e)}),Bt=/\s+/,Yt=(e,t)=>{const{parseClassName:r,getClassGroupId:o,getConflictingClassGroupIds:a,sortModifiers:l}=t,i=[],s=e.trim().split(Bt);let d="";for(let u=s.length-1;u>=0;u-=1){const x=s[u],{isExternal:A,modifiers:L,hasImportantModifier:I,baseClassName:_,maybePostfixModifierPosition:p}=r(x);if(A){d=x+(d.length>0?" "+d:d);continue}let g=!!p,G=o(g?_.substring(0,p):_);if(!G){if(!g){d=x+(d.length>0?" "+d:d);continue}if(G=o(_),!G){d=x+(d.length>0?" "+d:d);continue}g=!1}const F=L.length===0?"":L.length===1?L[0]:l(L).join(":"),V=I?F+he:F,P=V+G;if(i.indexOf(P)>-1)continue;i.push(P);const b=a(G,g);for(let k=0;k<b.length;++k){const T=b[k];i.push(V+T)}d=x+(d.length>0?" "+d:d)}return d},Ht=(...e)=>{let t=0,r,o,a="";for(;t<e.length;)(r=e[t++])&&(o=Ye(r))&&(a&&(a+=" "),a+=o);return a},Ye=e=>{if(typeof e=="string")return e;let t,r="";for(let o=0;o<e.length;o++)e[o]&&(t=Ye(e[o]))&&(r&&(r+=" "),r+=t);return r},qt=(e,...t)=>{let r,o,a,l;const i=d=>{const u=t.reduce((x,A)=>A(x),e());return r=Vt(u),o=r.cache.get,a=r.cache.set,l=s,s(d)},s=d=>{const u=o(d);if(u)return u;const x=Yt(d,r);return a(d,x),x};return l=i,(...d)=>l(Ht(...d))},Jt=[],W=e=>{const t=r=>r[e]||Jt;return t.isThemeGetter=!0,t},He=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,qe=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Xt=/^\d+\/\d+$/,Zt=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Qt=/\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$/,Kt=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,$t=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,er=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,re=e=>Xt.test(e),j=e=>!!e&&!Number.isNaN(Number(e)),Q=e=>!!e&&Number.isInteger(Number(e)),ve=e=>e.endsWith("%")&&j(e.slice(0,-1)),q=e=>Zt.test(e),tr=()=>!0,rr=e=>Qt.test(e)&&!Kt.test(e),Je=()=>!1,or=e=>$t.test(e),nr=e=>er.test(e),ar=e=>!m(e)&&!f(e),ir=e=>oe(e,$e,Je),m=e=>He.test(e),$=e=>oe(e,et,rr),xe=e=>oe(e,ur,j),Xe=e=>oe(e,Qe,Je),sr=e=>oe(e,Ke,nr),fe=e=>oe(e,tt,or),f=e=>qe.test(e),ce=e=>ne(e,et),lr=e=>ne(e,mr),Ze=e=>ne(e,Qe),cr=e=>ne(e,$e),dr=e=>ne(e,Ke),ge=e=>ne(e,tt,!0),oe=(e,t,r)=>{const o=He.exec(e);return o?o[1]?t(o[1]):r(o[2]):!1},ne=(e,t,r=!1)=>{const o=qe.exec(e);return o?o[1]?t(o[1]):r:!1},Qe=e=>e==="position"||e==="percentage",Ke=e=>e==="image"||e==="url",$e=e=>e==="length"||e==="size"||e==="bg-size",et=e=>e==="length",ur=e=>e==="number",mr=e=>e==="family-name",tt=e=>e==="shadow",fr=qt(()=>{const e=W("color"),t=W("font"),r=W("text"),o=W("font-weight"),a=W("tracking"),l=W("leading"),i=W("breakpoint"),s=W("container"),d=W("spacing"),u=W("radius"),x=W("shadow"),A=W("inset-shadow"),L=W("text-shadow"),I=W("drop-shadow"),_=W("blur"),p=W("perspective"),g=W("aspect"),G=W("ease"),F=W("animate"),V=()=>["auto","avoid","all","avoid-page","page","left","right","column"],P=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],b=()=>[...P(),f,m],k=()=>["auto","hidden","clip","visible","scroll"],T=()=>["auto","contain","none"],c=()=>[f,m,d],z=()=>[re,"full","auto",...c()],O=()=>[Q,"none","subgrid",f,m],U=()=>["auto",{span:["full",Q,f,m]},Q,f,m],M=()=>[Q,"auto",f,m],E=()=>["auto","min","max","fr",f,m],N=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],B=()=>["start","end","center","stretch","center-safe","end-safe"],Y=()=>["auto",...c()],H=()=>[re,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...c()],v=()=>[e,f,m],ee=()=>[...P(),Ze,Xe,{position:[f,m]}],te=()=>["no-repeat",{repeat:["","x","y","space","round"]}],n=()=>["auto","cover","contain",cr,ir,{size:[f,m]}],y=()=>[ve,ce,$],w=()=>["","none","full",u,f,m],R=()=>["",j,ce,$],J=()=>["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"],S=()=>[j,ve,Ze,Xe],X=()=>["","none",_,f,m],K=()=>["none",j,f,m],ie=()=>["none",j,f,m],Ne=()=>[j,f,m],pe=()=>[re,"full",...c()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[q],breakpoint:[q],color:[tr],container:[q],"drop-shadow":[q],ease:["in","out","in-out"],font:[ar],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[q],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[q],shadow:[q],spacing:["px",j],text:[q],"text-shadow":[q],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",re,m,f,g]}],container:["container"],columns:[{columns:[j,m,f,s]}],"break-after":[{"break-after":V()}],"break-before":[{"break-before":V()}],"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:b()}],overflow:[{overflow:k()}],"overflow-x":[{"overflow-x":k()}],"overflow-y":[{"overflow-y":k()}],overscroll:[{overscroll:T()}],"overscroll-x":[{"overscroll-x":T()}],"overscroll-y":[{"overscroll-y":T()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:z()}],"inset-x":[{"inset-x":z()}],"inset-y":[{"inset-y":z()}],start:[{start:z()}],end:[{end:z()}],top:[{top:z()}],right:[{right:z()}],bottom:[{bottom:z()}],left:[{left:z()}],visibility:["visible","invisible","collapse"],z:[{z:[Q,"auto",f,m]}],basis:[{basis:[re,"full","auto",s,...c()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[j,re,"auto","initial","none",m]}],grow:[{grow:["",j,f,m]}],shrink:[{shrink:["",j,f,m]}],order:[{order:[Q,"first","last","none",f,m]}],"grid-cols":[{"grid-cols":O()}],"col-start-end":[{col:U()}],"col-start":[{"col-start":M()}],"col-end":[{"col-end":M()}],"grid-rows":[{"grid-rows":O()}],"row-start-end":[{row:U()}],"row-start":[{"row-start":M()}],"row-end":[{"row-end":M()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":E()}],"auto-rows":[{"auto-rows":E()}],gap:[{gap:c()}],"gap-x":[{"gap-x":c()}],"gap-y":[{"gap-y":c()}],"justify-content":[{justify:[...N(),"normal"]}],"justify-items":[{"justify-items":[...B(),"normal"]}],"justify-self":[{"justify-self":["auto",...B()]}],"align-content":[{content:["normal",...N()]}],"align-items":[{items:[...B(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...B(),{baseline:["","last"]}]}],"place-content":[{"place-content":N()}],"place-items":[{"place-items":[...B(),"baseline"]}],"place-self":[{"place-self":["auto",...B()]}],p:[{p:c()}],px:[{px:c()}],py:[{py:c()}],ps:[{ps:c()}],pe:[{pe:c()}],pt:[{pt:c()}],pr:[{pr:c()}],pb:[{pb:c()}],pl:[{pl:c()}],m:[{m:Y()}],mx:[{mx:Y()}],my:[{my:Y()}],ms:[{ms:Y()}],me:[{me:Y()}],mt:[{mt:Y()}],mr:[{mr:Y()}],mb:[{mb:Y()}],ml:[{ml:Y()}],"space-x":[{"space-x":c()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":c()}],"space-y-reverse":["space-y-reverse"],size:[{size:H()}],w:[{w:[s,"screen",...H()]}],"min-w":[{"min-w":[s,"screen","none",...H()]}],"max-w":[{"max-w":[s,"screen","none","prose",{screen:[i]},...H()]}],h:[{h:["screen","lh",...H()]}],"min-h":[{"min-h":["screen","lh","none",...H()]}],"max-h":[{"max-h":["screen","lh",...H()]}],"font-size":[{text:["base",r,ce,$]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,f,xe]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",ve,m]}],"font-family":[{font:[lr,m,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,f,m]}],"line-clamp":[{"line-clamp":[j,"none",f,xe]}],leading:[{leading:[l,...c()]}],"list-image":[{"list-image":["none",f,m]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",f,m]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:v()}],"text-color":[{text:v()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...J(),"wavy"]}],"text-decoration-thickness":[{decoration:[j,"from-font","auto",f,$]}],"text-decoration-color":[{decoration:v()}],"underline-offset":[{"underline-offset":[j,"auto",f,m]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:c()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",f,m]}],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",f,m]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:ee()}],"bg-repeat":[{bg:te()}],"bg-size":[{bg:n()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Q,f,m],radial:["",f,m],conic:[Q,f,m]},dr,sr]}],"bg-color":[{bg:v()}],"gradient-from-pos":[{from:y()}],"gradient-via-pos":[{via:y()}],"gradient-to-pos":[{to:y()}],"gradient-from":[{from:v()}],"gradient-via":[{via:v()}],"gradient-to":[{to:v()}],rounded:[{rounded:w()}],"rounded-s":[{"rounded-s":w()}],"rounded-e":[{"rounded-e":w()}],"rounded-t":[{"rounded-t":w()}],"rounded-r":[{"rounded-r":w()}],"rounded-b":[{"rounded-b":w()}],"rounded-l":[{"rounded-l":w()}],"rounded-ss":[{"rounded-ss":w()}],"rounded-se":[{"rounded-se":w()}],"rounded-ee":[{"rounded-ee":w()}],"rounded-es":[{"rounded-es":w()}],"rounded-tl":[{"rounded-tl":w()}],"rounded-tr":[{"rounded-tr":w()}],"rounded-br":[{"rounded-br":w()}],"rounded-bl":[{"rounded-bl":w()}],"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:[...J(),"hidden","none"]}],"divide-style":[{divide:[...J(),"hidden","none"]}],"border-color":[{border:v()}],"border-color-x":[{"border-x":v()}],"border-color-y":[{"border-y":v()}],"border-color-s":[{"border-s":v()}],"border-color-e":[{"border-e":v()}],"border-color-t":[{"border-t":v()}],"border-color-r":[{"border-r":v()}],"border-color-b":[{"border-b":v()}],"border-color-l":[{"border-l":v()}],"divide-color":[{divide:v()}],"outline-style":[{outline:[...J(),"none","hidden"]}],"outline-offset":[{"outline-offset":[j,f,m]}],"outline-w":[{outline:["",j,ce,$]}],"outline-color":[{outline:v()}],shadow:[{shadow:["","none",x,ge,fe]}],"shadow-color":[{shadow:v()}],"inset-shadow":[{"inset-shadow":["none",A,ge,fe]}],"inset-shadow-color":[{"inset-shadow":v()}],"ring-w":[{ring:R()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:v()}],"ring-offset-w":[{"ring-offset":[j,$]}],"ring-offset-color":[{"ring-offset":v()}],"inset-ring-w":[{"inset-ring":R()}],"inset-ring-color":[{"inset-ring":v()}],"text-shadow":[{"text-shadow":["none",L,ge,fe]}],"text-shadow-color":[{"text-shadow":v()}],opacity:[{opacity:[j,f,m]}],"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":[j]}],"mask-image-linear-from-pos":[{"mask-linear-from":S()}],"mask-image-linear-to-pos":[{"mask-linear-to":S()}],"mask-image-linear-from-color":[{"mask-linear-from":v()}],"mask-image-linear-to-color":[{"mask-linear-to":v()}],"mask-image-t-from-pos":[{"mask-t-from":S()}],"mask-image-t-to-pos":[{"mask-t-to":S()}],"mask-image-t-from-color":[{"mask-t-from":v()}],"mask-image-t-to-color":[{"mask-t-to":v()}],"mask-image-r-from-pos":[{"mask-r-from":S()}],"mask-image-r-to-pos":[{"mask-r-to":S()}],"mask-image-r-from-color":[{"mask-r-from":v()}],"mask-image-r-to-color":[{"mask-r-to":v()}],"mask-image-b-from-pos":[{"mask-b-from":S()}],"mask-image-b-to-pos":[{"mask-b-to":S()}],"mask-image-b-from-color":[{"mask-b-from":v()}],"mask-image-b-to-color":[{"mask-b-to":v()}],"mask-image-l-from-pos":[{"mask-l-from":S()}],"mask-image-l-to-pos":[{"mask-l-to":S()}],"mask-image-l-from-color":[{"mask-l-from":v()}],"mask-image-l-to-color":[{"mask-l-to":v()}],"mask-image-x-from-pos":[{"mask-x-from":S()}],"mask-image-x-to-pos":[{"mask-x-to":S()}],"mask-image-x-from-color":[{"mask-x-from":v()}],"mask-image-x-to-color":[{"mask-x-to":v()}],"mask-image-y-from-pos":[{"mask-y-from":S()}],"mask-image-y-to-pos":[{"mask-y-to":S()}],"mask-image-y-from-color":[{"mask-y-from":v()}],"mask-image-y-to-color":[{"mask-y-to":v()}],"mask-image-radial":[{"mask-radial":[f,m]}],"mask-image-radial-from-pos":[{"mask-radial-from":S()}],"mask-image-radial-to-pos":[{"mask-radial-to":S()}],"mask-image-radial-from-color":[{"mask-radial-from":v()}],"mask-image-radial-to-color":[{"mask-radial-to":v()}],"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":P()}],"mask-image-conic-pos":[{"mask-conic":[j]}],"mask-image-conic-from-pos":[{"mask-conic-from":S()}],"mask-image-conic-to-pos":[{"mask-conic-to":S()}],"mask-image-conic-from-color":[{"mask-conic-from":v()}],"mask-image-conic-to-color":[{"mask-conic-to":v()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:ee()}],"mask-repeat":[{mask:te()}],"mask-size":[{mask:n()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",f,m]}],filter:[{filter:["","none",f,m]}],blur:[{blur:X()}],brightness:[{brightness:[j,f,m]}],contrast:[{contrast:[j,f,m]}],"drop-shadow":[{"drop-shadow":["","none",I,ge,fe]}],"drop-shadow-color":[{"drop-shadow":v()}],grayscale:[{grayscale:["",j,f,m]}],"hue-rotate":[{"hue-rotate":[j,f,m]}],invert:[{invert:["",j,f,m]}],saturate:[{saturate:[j,f,m]}],sepia:[{sepia:["",j,f,m]}],"backdrop-filter":[{"backdrop-filter":["","none",f,m]}],"backdrop-blur":[{"backdrop-blur":X()}],"backdrop-brightness":[{"backdrop-brightness":[j,f,m]}],"backdrop-contrast":[{"backdrop-contrast":[j,f,m]}],"backdrop-grayscale":[{"backdrop-grayscale":["",j,f,m]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[j,f,m]}],"backdrop-invert":[{"backdrop-invert":["",j,f,m]}],"backdrop-opacity":[{"backdrop-opacity":[j,f,m]}],"backdrop-saturate":[{"backdrop-saturate":[j,f,m]}],"backdrop-sepia":[{"backdrop-sepia":["",j,f,m]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":c()}],"border-spacing-x":[{"border-spacing-x":c()}],"border-spacing-y":[{"border-spacing-y":c()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",f,m]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[j,"initial",f,m]}],ease:[{ease:["linear","initial",G,f,m]}],delay:[{delay:[j,f,m]}],animate:[{animate:["none",F,f,m]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[p,f,m]}],"perspective-origin":[{"perspective-origin":b()}],rotate:[{rotate:K()}],"rotate-x":[{"rotate-x":K()}],"rotate-y":[{"rotate-y":K()}],"rotate-z":[{"rotate-z":K()}],scale:[{scale:ie()}],"scale-x":[{"scale-x":ie()}],"scale-y":[{"scale-y":ie()}],"scale-z":[{"scale-z":ie()}],"scale-3d":["scale-3d"],skew:[{skew:Ne()}],"skew-x":[{"skew-x":Ne()}],"skew-y":[{"skew-y":Ne()}],transform:[{transform:[f,m,"","none","gpu","cpu"]}],"transform-origin":[{origin:b()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:pe()}],"translate-x":[{"translate-x":pe()}],"translate-y":[{"translate-y":pe()}],"translate-z":[{"translate-z":pe()}],"translate-none":["translate-none"],accent:[{accent:v()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:v()}],"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",f,m]}],"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":c()}],"scroll-mx":[{"scroll-mx":c()}],"scroll-my":[{"scroll-my":c()}],"scroll-ms":[{"scroll-ms":c()}],"scroll-me":[{"scroll-me":c()}],"scroll-mt":[{"scroll-mt":c()}],"scroll-mr":[{"scroll-mr":c()}],"scroll-mb":[{"scroll-mb":c()}],"scroll-ml":[{"scroll-ml":c()}],"scroll-p":[{"scroll-p":c()}],"scroll-px":[{"scroll-px":c()}],"scroll-py":[{"scroll-py":c()}],"scroll-ps":[{"scroll-ps":c()}],"scroll-pe":[{"scroll-pe":c()}],"scroll-pt":[{"scroll-pt":c()}],"scroll-pr":[{"scroll-pr":c()}],"scroll-pb":[{"scroll-pb":c()}],"scroll-pl":[{"scroll-pl":c()}],"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",f,m]}],fill:[{fill:["none",...v()]}],"stroke-w":[{stroke:[j,ce,$,xe]}],stroke:[{stroke:["none",...v()]}],"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 rt(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=rt(e[t]))&&(o&&(o+=" "),o+=r)}else for(r in e)e[r]&&(o&&(o+=" "),o+=r);return o}function gr(){for(var e,t,r=0,o="",a=arguments.length;r<a;r++)(e=arguments[r])&&(t=rt(e))&&(o&&(o+=" "),o+=t);return o}function pr(...e){return fr(gr(e))}var ye,ot;function nt(){if(ot)return ye;ot=1;function e(t){var r=typeof t;return t!=null&&(r=="object"||r=="function")}return ye=e,ye}var we,at;function br(){if(at)return we;at=1;var e=typeof de=="object"&&de&&de.Object===Object&&de;return we=e,we}var ke,it;function st(){if(it)return ke;it=1;var e=br(),t=typeof self=="object"&&self&&self.Object===Object&&self,r=e||t||Function("return this")();return ke=r,ke}var je,lt;function hr(){if(lt)return je;lt=1;var e=st(),t=function(){return e.Date.now()};return je=t,je}var Te,ct;function vr(){if(ct)return Te;ct=1;var e=/\s/;function t(r){for(var o=r.length;o--&&e.test(r.charAt(o)););return o}return Te=t,Te}var Se,dt;function xr(){if(dt)return Se;dt=1;var e=vr(),t=/^\s+/;function r(o){return o&&o.slice(0,e(o)+1).replace(t,"")}return Se=r,Se}var Ce,ut;function mt(){if(ut)return Ce;ut=1;var e=st(),t=e.Symbol;return Ce=t,Ce}var Ee,ft;function yr(){if(ft)return Ee;ft=1;var e=mt(),t=Object.prototype,r=t.hasOwnProperty,o=t.toString,a=e?e.toStringTag:void 0;function l(i){var s=r.call(i,a),d=i[a];try{i[a]=void 0;var u=!0}catch{}var x=o.call(i);return u&&(s?i[a]=d:delete i[a]),x}return Ee=l,Ee}var Re,gt;function wr(){if(gt)return Re;gt=1;var e=Object.prototype,t=e.toString;function r(o){return t.call(o)}return Re=r,Re}var _e,pt;function kr(){if(pt)return _e;pt=1;var e=mt(),t=yr(),r=wr(),o="[object Null]",a="[object Undefined]",l=e?e.toStringTag:void 0;function i(s){return s==null?s===void 0?a:o:l&&l in Object(s)?t(s):r(s)}return _e=i,_e}var ze,bt;function jr(){if(bt)return ze;bt=1;function e(t){return t!=null&&typeof t=="object"}return ze=e,ze}var Ae,ht;function Tr(){if(ht)return Ae;ht=1;var e=kr(),t=jr(),r="[object Symbol]";function o(a){return typeof a=="symbol"||t(a)&&e(a)==r}return Ae=o,Ae}var Oe,vt;function Sr(){if(vt)return Oe;vt=1;var e=xr(),t=nt(),r=Tr(),o=NaN,a=/^[-+]0x[0-9a-f]+$/i,l=/^0b[01]+$/i,i=/^0o[0-7]+$/i,s=parseInt;function d(u){if(typeof u=="number")return u;if(r(u))return o;if(t(u)){var x=typeof u.valueOf=="function"?u.valueOf():u;u=t(x)?x+"":x}if(typeof u!="string")return u===0?u:+u;u=e(u);var A=l.test(u);return A||i.test(u)?s(u.slice(2),A?2:8):a.test(u)?o:+u}return Oe=d,Oe}var Ie,xt;function Cr(){if(xt)return Ie;xt=1;var e=nt(),t=hr(),r=Sr(),o="Expected a function",a=Math.max,l=Math.min;function i(s,d,u){var x,A,L,I,_,p,g=0,G=!1,F=!1,V=!0;if(typeof s!="function")throw new TypeError(o);d=r(d)||0,e(u)&&(G=!!u.leading,F="maxWait"in u,L=F?a(r(u.maxWait)||0,d):L,V="trailing"in u?!!u.trailing:V);function P(E){var N=x,B=A;return x=A=void 0,g=E,I=s.apply(B,N),I}function b(E){return g=E,_=setTimeout(c,d),G?P(E):I}function k(E){var N=E-p,B=E-g,Y=d-N;return F?l(Y,L-B):Y}function T(E){var N=E-p,B=E-g;return p===void 0||N>=d||N<0||F&&B>=L}function c(){var E=t();if(T(E))return z(E);_=setTimeout(c,k(E))}function z(E){return _=void 0,V&&x?P(E):(x=A=void 0,I)}function O(){_!==void 0&&clearTimeout(_),g=0,x=p=A=_=void 0}function U(){return _===void 0?I:z(t())}function M(){var E=t(),N=T(E);if(x=arguments,A=this,p=E,N){if(_===void 0)return b(p);if(F)return clearTimeout(_),_=setTimeout(c,d),P(p)}return _===void 0&&(_=setTimeout(c,d)),I}return M.cancel=O,M.flush=U,M}return Ie=i,Ie}var Er=Cr();const Rr=yt(Er),_r=C.forwardRef(({initialContent:e="",onChange:t,onSave:r,onExport:o,readOnly:a=!1,showButtons:l=!1,showSaveTitle:i=!1,showStatusBar:s=!1,height:d="500px",onImageUpload:u,imageUploadEndpoint:x,allowedImageTypes:A=["image/jpeg","image/png","image/gif","image/webp"],maxImageSize:L=5*1024*1024,onInit:I,debounceDelay:_=300},p)=>{const{editorState:g,updateContent:G,updateTitle:F,executeCommand:V,getValidationResult:P,exportToHTML:b,clearEditor:k,handlePaste:T,handleDrop:c,insertImage:z,uploadPendingImages:O}=Ct({initialContent:e,onImageUpload:u,imageUploadEndpoint:x,allowedImageTypes:A,maxImageSize:L}),U=C.useRef(null),M=C.useRef(null),E=C.useRef(!1),N=C.useRef(null),[B,Y]=C.useState(!1);C.useEffect(()=>{U.current&&(typeof p=="function"?p(U.current):p&&(p.current=U.current))},[p]),C.useEffect(()=>{I&&U.current&&!E.current&&(I(U.current),E.current=!0)},[I]),C.useEffect(()=>{if(t)return N.current=Rr((n,y,w)=>{t(n,y,w)},_),()=>N.current?.cancel()},[t,_]),C.useEffect(()=>{if(!t||!g.content)return;const n=(()=>{try{return b({includeStyles:!1,includeMeta:!1})}catch{return`<!DOCTYPE html><html><body>${g.content}</body></html>`}})();_>0&&N.current?N.current(g.content,n,g.title):t(g.content,n,g.title)},[g.content,g.title,t,b,_]);const H=C.useCallback(async()=>{if(N.current?.flush(),g.pendingImages.length>0&&await O(),!P().success){Y(!0),setTimeout(()=>Y(!1),3e3);return}r?.(g.content,b())},[g,O,P,b,r]),v=C.useCallback(async()=>{N.current?.flush(),g.pendingImages.length>0&&await O();const n=b();o?.(n);const y=new Blob([n],{type:"text/html"}),w=URL.createObjectURL(y),R=document.createElement("a");R.href=w,R.download=g.title.replace(/\s+/g,"_")||"document.html",R.click(),URL.revokeObjectURL(w)},[g,O,b,o]),ee=C.useCallback(n=>G(n),[G]),te=async n=>{if(n.target.files){for(const y of Array.from(n.target.files))await z(y);n.target.value=""}};return h.jsxs("div",{className:pr("relative w-full bg-white border border-gray-300 rounded-lg overflow-hidden",a&&"pointer-events-none opacity-80"),style:{height:d},children:[i&&h.jsx("div",{className:"p-6 border-b bg-gray-50",children:h.jsx("input",{className:"w-full text-2xl font-bold bg-transparent outline-none",value:g.title,onChange:n=>F(n.target.value),placeholder:"Document Title",readOnly:a})}),h.jsx(Tt,{onCommand:V,onSave:H,onExport:v,showButtons:l,onClear:k,hasUnsavedChanges:g.hasUnsavedChanges,onImageUpload:()=>M.current?.click(),pendingImagesCount:g.pendingImages.length}),h.jsx("input",{ref:M,type:"file",className:"hidden",accept:A.join(","),multiple:!0,onChange:te}),B&&h.jsx("div",{className:"px-6 py-2 text-sm text-red-600 bg-red-50",children:"Please fix validation errors before saving."}),h.jsx("div",{ref:U,className:"p-6 outline-none overflow-y-auto min-h-[200px]",contentEditable:!a,suppressContentEditableWarning:!0,onInput:n=>ee(n.currentTarget.innerHTML),onPaste:T,onDrop:c,onDragOver:n=>n.preventDefault()}),g.pendingImages.length>0&&h.jsxs("div",{className:"p-4 text-sm text-blue-600 bg-blue-50 flex gap-2",children:[h.jsx(D.Upload,{size:16}),g.pendingImages.length," image(s) pending upload"]}),s&&h.jsx(St,{wordCount:g.wordCount,characterCount:g.characterCount,hasUnsavedChanges:g.hasUnsavedChanges,pendingImagesCount:g.pendingImages.length})]})});Z.TextEditor=_r,Object.defineProperty(Z,Symbol.toStringTag,{value:"Module"})}));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abduljebar/text-editor",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.2",
|
|
4
4
|
"description": "A professional React text editor with export, save, and validation features",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -55,6 +55,7 @@
|
|
|
55
55
|
"@eslint/js": "^9.36.0",
|
|
56
56
|
"@tailwindcss/cli": "^4.1.14",
|
|
57
57
|
"@tailwindcss/postcss": "^4.1.14",
|
|
58
|
+
"@types/lodash": "^4.17.21",
|
|
58
59
|
"@types/node": "^24.6.0",
|
|
59
60
|
"@types/react": "^19.1.16",
|
|
60
61
|
"@types/react-dom": "^19.1.9",
|
|
@@ -64,6 +65,7 @@
|
|
|
64
65
|
"eslint-plugin-react-hooks": "^5.2.0",
|
|
65
66
|
"eslint-plugin-react-refresh": "^0.4.22",
|
|
66
67
|
"globals": "^16.4.0",
|
|
68
|
+
"lodash": "^4.17.21",
|
|
67
69
|
"postcss": "^8.5.6",
|
|
68
70
|
"tailwindcss": "^4.1.14",
|
|
69
71
|
"typescript": "~5.9.3",
|