@abduljebar/text-editor 1.1.2 → 1.2.0
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/App.d.ts.map +1 -1
- package/dist/components/TextEditor.d.ts +2 -2
- package/dist/components/TextEditor.d.ts.map +1 -1
- package/dist/components/Toolbar.d.ts +2 -1
- package/dist/components/Toolbar.d.ts.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.js +1017 -901
- package/dist/index.umd.cjs +26 -26
- package/dist/store/editor.store.d.ts +53 -0
- package/dist/store/editor.store.d.ts.map +1 -0
- package/dist/types/editor.d.ts +4 -1
- package/dist/types/editor.d.ts.map +1 -1
- package/package.json +81 -80
package/dist/index.umd.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
(function(P,j){typeof exports=="object"&&typeof module<"u"?j(exports,require("react"),require("lucide-react")):typeof define=="function"&&define.amd?define(["exports","react","lucide-react"],j):(P=typeof globalThis<"u"?globalThis:P||self,j(P.TextEditor={},P.React,P.LucideReact))})(this,(function(P,j,I){"use strict";var Se=document.createElement("style");Se.textContent=`/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-duration:initial}}}@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-200:oklch(88.5% .062 18.334);--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-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-indigo-100:oklch(93% .034 272.788);--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-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-white:#fff;--spacing:.25rem;--container-2xl:42rem;--container-6xl:72rem;--container-7xl:80rem;--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-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-medium:500;--font-weight-bold:700;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--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{.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-auto{margin-inline:auto}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-12{margin-top:calc(var(--spacing)*12)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-12{margin-bottom:calc(var(--spacing)*12)}.flex{display:flex}.inline{display:inline}.h-6{height:calc(var(--spacing)*6)}.h-9{height:calc(var(--spacing)*9)}.min-h-\\[500px\\]{min-height:500px}.min-h-screen{min-height:100vh}.w-9{width:calc(var(--spacing)*9)}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-none{max-width:none}.animate-pulse{animation:var(--animate-pulse)}.resize-none{resize:none}.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}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-xl{border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl)}.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-none{--tw-border-style:none;border-style:none}.border-blue-300{border-color:var(--color-blue-300)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-red-200{border-color:var(--color-red-200)}.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)}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-blue-50{--tw-gradient-from:var(--color-blue-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-indigo-100{--tw-gradient-to:var(--color-indigo-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.p-3{padding:calc(var(--spacing)*3)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-8{padding-block:calc(var(--spacing)*8)}.text-center{text-align:center}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.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-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-green-600{color:var(--color-green-600)}.text-orange-600{color:var(--color-orange-600)}.text-red-700{color:var(--color-red-700)}.text-white{color:var(--color-white)}.italic{font-style:italic}.underline{text-decoration-line:underline}.placeholder-gray-500::-moz-placeholder{color:var(--color-gray-500)}.placeholder-gray-500::placeholder{color:var(--color-gray-500)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.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-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)}}.focus\\:bg-gray-50:focus{background-color:var(--color-gray-50)}.focus\\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.active\\:bg-gray-200:active{background-color:var(--color-gray-200)}.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-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-duration{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}
|
|
2
|
-
/*$vite$:1*/`,document.head.appendChild(
|
|
1
|
+
(function(D,k){typeof exports=="object"&&typeof module<"u"?k(exports,require("react"),require("lucide-react")):typeof define=="function"&&define.amd?define(["exports","react","lucide-react"],k):(D=typeof globalThis<"u"?globalThis:D||self,k(D.TextEditor={},D.React,D.LucideReact))})(this,(function(D,k,C){"use strict";var Ne=document.createElement("style");Ne.textContent=`/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-duration:initial;--tw-space-y-reverse:0}}}@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-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-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;--container-6xl:72rem;--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;--radius-xl:.75rem;--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{.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-auto{margin-inline:auto}.mt-2{margin-top:calc(var(--spacing)*2)}.block{display:block}.flex{display:flex}.inline{display:inline}.h-6{height:calc(var(--spacing)*6)}.h-9{height:calc(var(--spacing)*9)}.min-h-\\[500px\\]{min-height:500px}.w-9{width:calc(var(--spacing)*9)}.w-full{width:100%}.w-px{width:1px}.max-w-6xl{max-width:var(--container-6xl)}.max-w-none{max-width:none}.resize-none{resize:none}.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}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.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-none{--tw-border-style:none;border-style:none}.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-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-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-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.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))}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.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)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.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)}}.animate-fadeIn{animation:.3s ease-in-out fadeIn}}.editor-content h1{margin-top:calc(var(--spacing)*4);margin-bottom:calc(var(--spacing)*2);font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);color:var(--color-gray-800)}.editor-content p{margin-bottom:calc(var(--spacing)*4)}.editor-content a{color:var(--color-blue-600);text-decoration-line:underline}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.editor-content{min-height:500px;padding:calc(var(--spacing)*8)}.editor-content h1{margin-top:calc(var(--spacing)*6);margin-bottom:calc(var(--spacing)*4);border-bottom-style:var(--tw-border-style);padding-bottom:calc(var(--spacing)*2);font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);color:var(--color-gray-800);border-bottom-width:1px}.editor-content h2{margin-top:calc(var(--spacing)*5);margin-bottom:calc(var(--spacing)*3);font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);color:var(--color-gray-800)}.editor-content h3{margin-top:calc(var(--spacing)*4);margin-bottom:calc(var(--spacing)*2);font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);color:var(--color-gray-800)}.editor-content p{margin-bottom:calc(var(--spacing)*4);--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed);color:var(--color-gray-700)}.editor-content ul{margin-bottom:calc(var(--spacing)*4);margin-left:calc(var(--spacing)*4);list-style-type:disc;list-style-position:inside}:where(.editor-content 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)))}.editor-content ol{margin-bottom:calc(var(--spacing)*4);margin-left:calc(var(--spacing)*4);list-style-type:decimal;list-style-position:inside}:where(.editor-content 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)))}.editor-content li{margin-bottom:calc(var(--spacing)*1)}.editor-content a{color:var(--color-blue-600);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));text-decoration-line:underline}@media (hover:hover){.editor-content a:hover{color:var(--color-blue-800)}}.editor-content blockquote{margin-block:calc(var(--spacing)*4);border-left-style:var(--tw-border-style);border-left-width:4px;border-color:var(--color-blue-500);padding-left:calc(var(--spacing)*4);color:var(--color-gray-600);font-style:italic}.editor-content code{background-color:var(--color-gray-100);padding-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*1);font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));border-radius:.25rem}.editor-content pre{margin-block:calc(var(--spacing)*4);border-radius:var(--radius-lg);background-color:var(--color-gray-800);padding:calc(var(--spacing)*4);color:var(--color-gray-100);overflow-x:auto}.editor-content pre code{padding:calc(var(--spacing)*0);color:inherit;background-color:#0000}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-duration{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}
|
|
2
|
+
/*$vite$:1*/`,document.head.appendChild(Ne);var ne={exports:{}},K={};/**
|
|
3
3
|
* @license React
|
|
4
4
|
* react-jsx-runtime.production.js
|
|
5
5
|
*
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*
|
|
8
8
|
* This source code is licensed under the MIT license found in the
|
|
9
9
|
* LICENSE file in the root directory of this source tree.
|
|
10
|
-
*/var
|
|
10
|
+
*/var Pe;function Ut(){if(Pe)return K;Pe=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function n(r,o,i){var a=null;if(i!==void 0&&(a=""+i),o.key!==void 0&&(a=""+o.key),"key"in o){i={};for(var c in o)c!=="key"&&(i[c]=o[c])}else i=o;return o=i.ref,{$$typeof:e,type:r,key:a,ref:o!==void 0?o:null,props:i}}return K.Fragment=t,K.jsx=n,K.jsxs=n,K}var q={};/**
|
|
11
11
|
* @license React
|
|
12
12
|
* react-jsx-runtime.development.js
|
|
13
13
|
*
|
|
@@ -15,37 +15,37 @@
|
|
|
15
15
|
*
|
|
16
16
|
* This source code is licensed under the MIT license found in the
|
|
17
17
|
* LICENSE file in the root directory of this source tree.
|
|
18
|
-
*/var
|
|
18
|
+
*/var Re;function Lt(){return Re||(Re=1,process.env.NODE_ENV!=="production"&&(function(){function e(u){if(u==null)return null;if(typeof u=="function")return u.$$typeof===ra?null:u.displayName||u.name||null;if(typeof u=="string")return u;switch(u){case I:return"Fragment";case O:return"Profiler";case M:return"StrictMode";case Z:return"Suspense";case J:return"SuspenseList";case na:return"Activity"}if(typeof u=="object")switch(typeof u.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),u.$$typeof){case R:return"Portal";case A:return u.displayName||"Context";case N:return(u._context.displayName||"Context")+".Consumer";case U:var v=u.render;return u=u.displayName,u||(u=v.displayName||v.name||"",u=u!==""?"ForwardRef("+u+")":"ForwardRef"),u;case me:return v=u.displayName||null,v!==null?v:e(u.type)||"Memo";case L:v=u._payload,u=u._init;try{return e(u(v))}catch{}}return null}function t(u){return""+u}function n(u){try{t(u);var v=!1}catch{v=!0}if(v){v=console;var z=v.error,T=typeof Symbol=="function"&&Symbol.toStringTag&&u[Symbol.toStringTag]||u.constructor.name||"Object";return z.call(v,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",T),t(u)}}function r(u){if(u===I)return"<>";if(typeof u=="object"&&u!==null&&u.$$typeof===L)return"<...>";try{var v=e(u);return v?"<"+v+">":"<...>"}catch{return"<...>"}}function o(){var u=Ae.A;return u===null?null:u.getOwner()}function i(){return Error("react-stack-top-frame")}function a(u){if(It.call(u,"key")){var v=Object.getOwnPropertyDescriptor(u,"key").get;if(v&&v.isReactWarning)return!1}return u.key!==void 0}function c(u,v){function z(){Ot||(Ot=!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)",v))}z.isReactWarning=!0,Object.defineProperty(u,"key",{get:z,configurable:!0})}function h(){var u=e(this.type);return Nt[u]||(Nt[u]=!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.")),u=this.props.ref,u!==void 0?u:null}function d(u,v,z,T,ge,Ie){var j=z.ref;return u={$$typeof:w,type:u,key:v,props:z,_owner:T},(j!==void 0?j:null)!==null?Object.defineProperty(u,"ref",{enumerable:!1,get:h}):Object.defineProperty(u,"ref",{enumerable:!1,value:null}),u._store={},Object.defineProperty(u._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(u,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(u,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:ge}),Object.defineProperty(u,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:Ie}),Object.freeze&&(Object.freeze(u.props),Object.freeze(u)),u}function f(u,v,z,T,ge,Ie){var j=v.children;if(j!==void 0)if(T)if(oa(j)){for(T=0;T<j.length;T++)b(j[T]);Object.freeze&&Object.freeze(j)}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 b(j);if(It.call(v,"key")){j=e(u);var X=Object.keys(v).filter(function(ia){return ia!=="key"});T=0<X.length?"{key: someKey, "+X.join(": ..., ")+": ...}":"{key: someKey}",Dt[j+T]||(X=0<X.length?"{"+X.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
|
|
19
19
|
let props = %s;
|
|
20
20
|
<%s {...props} />
|
|
21
21
|
React keys must be passed directly to JSX without using spread:
|
|
22
22
|
let props = %s;
|
|
23
|
-
<%s key={someKey} {...props} />`,
|
|
24
|
-
${h?"bg-blue-100 text-blue-600 border-blue-300":"bg-white"}`,children:l.icon},v)})}),m.jsxs("div",{className:"flex items-center gap-2 mt-2 sm:mt-0",children:[m.jsxs("button",{onClick:t,disabled:!o,title:"Save Document",className:"flex items-center gap-1 px-3 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",children:[m.jsx(I.Save,{size:16})," Save"]}),m.jsxs("button",{onClick:r,title:"Export as HTML",className:"flex items-center gap-1 px-3 py-2 bg-green-600 text-white text-sm font-medium rounded-md hover:bg-green-700 transition",children:[m.jsx(I.FileDown,{size:16})," Export"]}),m.jsxs("button",{onClick:n,title:"Clear Editor",className:"flex items-center gap-1 px-3 py-2 bg-red-600 text-white text-sm font-medium rounded-md hover:bg-red-700 transition",children:[m.jsx(I.Trash2,{size:16})," Clear"]})]})]})},Ft=({wordCount:e,characterCount:t,hasUnsavedChanges:r})=>m.jsx("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:m.jsxs("div",{className:"flex items-center gap-6",children:[m.jsxs("div",{children:["Words: ",m.jsx("strong",{className:"text-gray-800",children:e})]}),m.jsxs("div",{children:["Characters: ",m.jsx("strong",{className:"text-gray-800",children:t})]}),m.jsxs("div",{children:["Status: ",m.jsx("strong",{className:r?"text-orange-600":"text-green-600",children:r?"Unsaved Changes":"Saved"})]})]})});function s(e,t,r){function n(c,f){var d;Object.defineProperty(c,"_zod",{value:c._zod??{},enumerable:!1}),(d=c._zod).traits??(d.traits=new Set),c._zod.traits.add(e),t(c,f);for(const l in a.prototype)l in c||Object.defineProperty(c,l,{value:a.prototype[l].bind(c)});c._zod.constr=a,c._zod.def=f}const o=r?.Parent??Object;class i extends o{}Object.defineProperty(i,"name",{value:e});function a(c){var f;const d=r?.Parent?new i:this;n(d,c),(f=d._zod).deferred??(f.deferred=[]);for(const l of d._zod.deferred)l();return d}return Object.defineProperty(a,"init",{value:n}),Object.defineProperty(a,Symbol.hasInstance,{value:c=>r?.Parent&&c instanceof r.Parent?!0:c?._zod?.traits?.has(e)}),Object.defineProperty(a,"name",{value:e}),a}class W extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class Re extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}}const Ne={};function N(e){return Ne}function Lt(e){const t=Object.values(e).filter(n=>typeof n=="number");return Object.entries(e).filter(([n,o])=>t.indexOf(+n)===-1).map(([n,o])=>o)}function pe(e,t){return typeof t=="bigint"?t.toString():t}function he(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function me(e){return e==null}function ge(e){const t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function Mt(e,t){const r=(e.toString().split(".")[1]||"").length,n=t.toString();let o=(n.split(".")[1]||"").length;if(o===0&&/\d?e-\d?/.test(n)){const f=n.match(/\d?e-(\d?)/);f?.[1]&&(o=Number.parseInt(f[1]))}const i=r>o?r:o,a=Number.parseInt(e.toFixed(i).replace(".","")),c=Number.parseInt(t.toFixed(i).replace(".",""));return a%c/10**i}const De=Symbol("evaluating");function w(e,t,r){let n;Object.defineProperty(e,t,{get(){if(n!==De)return n===void 0&&(n=De,n=r()),n},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function D(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function U(...e){const t={};for(const r of e){const n=Object.getOwnPropertyDescriptors(r);Object.assign(t,n)}return Object.defineProperties({},t)}function Ue(e){return JSON.stringify(e)}const Fe="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function ee(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const Vt=he(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function X(e){if(ee(e)===!1)return!1;const t=e.constructor;if(t===void 0)return!0;const r=t.prototype;return!(ee(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function Le(e){return X(e)?{...e}:Array.isArray(e)?[...e]:e}const Wt=new Set(["string","number","symbol"]);function te(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function R(e,t,r){const n=new e._zod.constr(t??e._zod.def);return(!t||r?.parent)&&(n._zod.parent=e),n}function p(e){const t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function Bt(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}const Yt={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function Jt(e,t){const r=e._zod.def,n=U(e._zod.def,{get shape(){const o={};for(const i in t){if(!(i in r.shape))throw new Error(`Unrecognized key: "${i}"`);t[i]&&(o[i]=r.shape[i])}return D(this,"shape",o),o},checks:[]});return R(e,n)}function Gt(e,t){const r=e._zod.def,n=U(e._zod.def,{get shape(){const o={...e._zod.def.shape};for(const i in t){if(!(i in r.shape))throw new Error(`Unrecognized key: "${i}"`);t[i]&&delete o[i]}return D(this,"shape",o),o},checks:[]});return R(e,n)}function Ht(e,t){if(!X(t))throw new Error("Invalid input to extend: expected a plain object");const r=e._zod.def.checks;if(r&&r.length>0)throw new Error("Object schemas containing refinements cannot be extended. Use `.safeExtend()` instead.");const o=U(e._zod.def,{get shape(){const i={...e._zod.def.shape,...t};return D(this,"shape",i),i},checks:[]});return R(e,o)}function Xt(e,t){if(!X(t))throw new Error("Invalid input to safeExtend: expected a plain object");const r={...e._zod.def,get shape(){const n={...e._zod.def.shape,...t};return D(this,"shape",n),n},checks:e._zod.def.checks};return R(e,r)}function Kt(e,t){const r=U(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t._zod.def.shape};return D(this,"shape",n),n},get catchall(){return t._zod.def.catchall},checks:[]});return R(e,r)}function qt(e,t,r){const n=U(t._zod.def,{get shape(){const o=t._zod.def.shape,i={...o};if(r)for(const a in r){if(!(a in o))throw new Error(`Unrecognized key: "${a}"`);r[a]&&(i[a]=e?new e({type:"optional",innerType:o[a]}):o[a])}else for(const a in o)i[a]=e?new e({type:"optional",innerType:o[a]}):o[a];return D(this,"shape",i),i},checks:[]});return R(t,n)}function Qt(e,t,r){const n=U(t._zod.def,{get shape(){const o=t._zod.def.shape,i={...o};if(r)for(const a in r){if(!(a in i))throw new Error(`Unrecognized key: "${a}"`);r[a]&&(i[a]=new e({type:"nonoptional",innerType:o[a]}))}else for(const a in o)i[a]=new e({type:"nonoptional",innerType:o[a]});return D(this,"shape",i),i},checks:[]});return R(t,n)}function B(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function Me(e,t){return t.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function re(e){return typeof e=="string"?e:e?.message}function F(e,t,r){const n={...e,path:e.path??[]};if(!e.message){const o=re(e.inst?._zod.def?.error?.(e))??re(t?.error?.(e))??re(r.customError?.(e))??re(r.localeError?.(e))??"Invalid input";n.message=o}return delete n.inst,delete n.continue,t?.reportInput||delete n.input,n}function ve(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function K(...e){const[t,r,n]=e;return typeof t=="string"?{message:t,code:"custom",input:r,inst:n}:{...t}}const Ve=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,pe,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},We=s("$ZodError",Ve),Be=s("$ZodError",Ve,{Parent:Error});function er(e,t=r=>r.message){const r={},n=[];for(const o of e.issues)o.path.length>0?(r[o.path[0]]=r[o.path[0]]||[],r[o.path[0]].push(t(o))):n.push(t(o));return{formErrors:n,fieldErrors:r}}function tr(e,t){const r=t||function(i){return i.message},n={_errors:[]},o=i=>{for(const a of i.issues)if(a.code==="invalid_union"&&a.errors.length)a.errors.map(c=>o({issues:c}));else if(a.code==="invalid_key")o({issues:a.issues});else if(a.code==="invalid_element")o({issues:a.issues});else if(a.path.length===0)n._errors.push(r(a));else{let c=n,f=0;for(;f<a.path.length;){const d=a.path[f];f===a.path.length-1?(c[d]=c[d]||{_errors:[]},c[d]._errors.push(r(a))):c[d]=c[d]||{_errors:[]},c=c[d],f++}}};return o(e),n}const be=e=>(t,r,n,o)=>{const i=n?Object.assign(n,{async:!1}):{async:!1},a=t._zod.run({value:r,issues:[]},i);if(a instanceof Promise)throw new W;if(a.issues.length){const c=new(o?.Err??e)(a.issues.map(f=>F(f,i,N())));throw Fe(c,o?.callee),c}return a.value},we=e=>async(t,r,n,o)=>{const i=n?Object.assign(n,{async:!0}):{async:!0};let a=t._zod.run({value:r,issues:[]},i);if(a instanceof Promise&&(a=await a),a.issues.length){const c=new(o?.Err??e)(a.issues.map(f=>F(f,i,N())));throw Fe(c,o?.callee),c}return a.value},ne=e=>(t,r,n)=>{const o=n?{...n,async:!1}:{async:!1},i=t._zod.run({value:r,issues:[]},o);if(i instanceof Promise)throw new W;return i.issues.length?{success:!1,error:new(e??We)(i.issues.map(a=>F(a,o,N())))}:{success:!0,data:i.value}},rr=ne(Be),oe=e=>async(t,r,n)=>{const o=n?Object.assign(n,{async:!0}):{async:!0};let i=t._zod.run({value:r,issues:[]},o);return i instanceof Promise&&(i=await i),i.issues.length?{success:!1,error:new e(i.issues.map(a=>F(a,o,N())))}:{success:!0,data:i.value}},nr=oe(Be),or=e=>(t,r,n)=>{const o=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return be(e)(t,r,o)},ir=e=>(t,r,n)=>be(e)(t,r,n),ar=e=>async(t,r,n)=>{const o=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return we(e)(t,r,o)},sr=e=>async(t,r,n)=>we(e)(t,r,n),cr=e=>(t,r,n)=>{const o=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return ne(e)(t,r,o)},ur=e=>(t,r,n)=>ne(e)(t,r,n),lr=e=>async(t,r,n)=>{const o=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return oe(e)(t,r,o)},dr=e=>async(t,r,n)=>oe(e)(t,r,n),fr=/^[cC][^\s-]{8,}$/,pr=/^[0-9a-z]+$/,hr=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,mr=/^[0-9a-vA-V]{20}$/,gr=/^[A-Za-z0-9]{27}$/,vr=/^[a-zA-Z0-9_-]{21}$/,br=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,wr=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Ye=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,_r=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,kr="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function yr(){return new RegExp(kr,"u")}const xr=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,zr=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,Zr=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Er=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,$r=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Je=/^[A-Za-z0-9_-]*$/,Tr=/^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/,jr=/^\+(?:[0-9]){6,14}[0-9]$/,Ge="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",Ar=new RegExp(`^${Ge}$`);function He(e){const t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Ir(e){return new RegExp(`^${He(e)}$`)}function Sr(e){const t=He({precision:e.precision}),r=["Z"];e.local&&r.push(""),e.offset&&r.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const n=`${t}(?:${r.join("|")})`;return new RegExp(`^${Ge}T(?:${n})$`)}const Cr=e=>{const t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},Or=/^-?\d+$/,Pr=/^-?\d+(?:\.\d+)?/,Rr=/^(?:true|false)$/i,Nr=/^[^A-Z]*$/,Dr=/^[^a-z]*$/,S=s("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])}),Xe={number:"number",bigint:"bigint",object:"date"},Ke=s("$ZodCheckLessThan",(e,t)=>{S.init(e,t);const r=Xe[typeof t.value];e._zod.onattach.push(n=>{const o=n._zod.bag,i=(t.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<i&&(t.inclusive?o.maximum=t.value:o.exclusiveMaximum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value<=t.value:n.value<t.value)||n.issues.push({origin:r,code:"too_big",maximum:t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),qe=s("$ZodCheckGreaterThan",(e,t)=>{S.init(e,t);const r=Xe[typeof t.value];e._zod.onattach.push(n=>{const o=n._zod.bag,i=(t.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>i&&(t.inclusive?o.minimum=t.value:o.exclusiveMinimum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value>=t.value:n.value>t.value)||n.issues.push({origin:r,code:"too_small",minimum:t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Ur=s("$ZodCheckMultipleOf",(e,t)=>{S.init(e,t),e._zod.onattach.push(r=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=r=>{if(typeof r.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%t.value===BigInt(0):Mt(r.value,t.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:t.value,input:r.value,inst:e,continue:!t.abort})}}),Fr=s("$ZodCheckNumberFormat",(e,t)=>{S.init(e,t),t.format=t.format||"float64";const r=t.format?.includes("int"),n=r?"int":"number",[o,i]=Yt[t.format];e._zod.onattach.push(a=>{const c=a._zod.bag;c.format=t.format,c.minimum=o,c.maximum=i,r&&(c.pattern=Or)}),e._zod.check=a=>{const c=a.value;if(r){if(!Number.isInteger(c)){a.issues.push({expected:n,format:t.format,code:"invalid_type",continue:!1,input:c,inst:e});return}if(!Number.isSafeInteger(c)){c>0?a.issues.push({input:c,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,continue:!t.abort}):a.issues.push({input:c,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,continue:!t.abort});return}}c<o&&a.issues.push({origin:"number",input:c,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort}),c>i&&a.issues.push({origin:"number",input:c,code:"too_big",maximum:i,inst:e})}}),Lr=s("$ZodCheckMaxLength",(e,t)=>{var r;S.init(e,t),(r=e._zod.def).when??(r.when=n=>{const o=n.value;return!me(o)&&o.length!==void 0}),e._zod.onattach.push(n=>{const o=n._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<o&&(n._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{const o=n.value;if(o.length<=t.maximum)return;const a=ve(o);n.issues.push({origin:a,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Mr=s("$ZodCheckMinLength",(e,t)=>{var r;S.init(e,t),(r=e._zod.def).when??(r.when=n=>{const o=n.value;return!me(o)&&o.length!==void 0}),e._zod.onattach.push(n=>{const o=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>o&&(n._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{const o=n.value;if(o.length>=t.minimum)return;const a=ve(o);n.issues.push({origin:a,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Vr=s("$ZodCheckLengthEquals",(e,t)=>{var r;S.init(e,t),(r=e._zod.def).when??(r.when=n=>{const o=n.value;return!me(o)&&o.length!==void 0}),e._zod.onattach.push(n=>{const o=n._zod.bag;o.minimum=t.length,o.maximum=t.length,o.length=t.length}),e._zod.check=n=>{const o=n.value,i=o.length;if(i===t.length)return;const a=ve(o),c=i>t.length;n.issues.push({origin:a,...c?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),ie=s("$ZodCheckStringFormat",(e,t)=>{var r,n;S.init(e,t),e._zod.onattach.push(o=>{const i=o._zod.bag;i.format=t.format,t.pattern&&(i.patterns??(i.patterns=new Set),i.patterns.add(t.pattern))}),t.pattern?(r=e._zod).check??(r.check=o=>{t.pattern.lastIndex=0,!t.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(n=e._zod).check??(n.check=()=>{})}),Wr=s("$ZodCheckRegex",(e,t)=>{ie.init(e,t),e._zod.check=r=>{t.pattern.lastIndex=0,!t.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Br=s("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Nr),ie.init(e,t)}),Yr=s("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Dr),ie.init(e,t)}),Jr=s("$ZodCheckIncludes",(e,t)=>{S.init(e,t);const r=te(t.includes),n=new RegExp(typeof t.position=="number"?`^.{${t.position}}${r}`:r);t.pattern=n,e._zod.onattach.push(o=>{const i=o._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(n)}),e._zod.check=o=>{o.value.includes(t.includes,t.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),Gr=s("$ZodCheckStartsWith",(e,t)=>{S.init(e,t);const r=new RegExp(`^${te(t.prefix)}.*`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{const o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),Hr=s("$ZodCheckEndsWith",(e,t)=>{S.init(e,t);const r=new RegExp(`.*${te(t.suffix)}$`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{const o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),Xr=s("$ZodCheckOverwrite",(e,t)=>{S.init(e,t),e._zod.check=r=>{r.value=t.tx(r.value)}});class Kr{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}const n=t.split(`
|
|
25
|
-
`).filter(a=>a),o=Math.min(...
|
|
26
|
-
`))}}const
|
|
27
|
-
if (${
|
|
28
|
-
payload.issues = payload.issues.concat(${
|
|
23
|
+
<%s key={someKey} {...props} />`,T,j,X,j),Dt[j+T]=!0)}if(j=null,z!==void 0&&(n(z),j=""+z),a(v)&&(n(v.key),j=""+v.key),"key"in v){z={};for(var Oe in v)Oe!=="key"&&(z[Oe]=v[Oe])}else z=v;return j&&c(z,typeof u=="function"?u.displayName||u.name||"Unknown":u),d(u,j,z,o(),ge,Ie)}function b(u){g(u)?u._store&&(u._store.validated=1):typeof u=="object"&&u!==null&&u.$$typeof===L&&(u._payload.status==="fulfilled"?g(u._payload.value)&&u._payload.value._store&&(u._payload.value._store.validated=1):u._store&&(u._store.validated=1))}function g(u){return typeof u=="object"&&u!==null&&u.$$typeof===w}var l=k,w=Symbol.for("react.transitional.element"),R=Symbol.for("react.portal"),I=Symbol.for("react.fragment"),M=Symbol.for("react.strict_mode"),O=Symbol.for("react.profiler"),N=Symbol.for("react.consumer"),A=Symbol.for("react.context"),U=Symbol.for("react.forward_ref"),Z=Symbol.for("react.suspense"),J=Symbol.for("react.suspense_list"),me=Symbol.for("react.memo"),L=Symbol.for("react.lazy"),na=Symbol.for("react.activity"),ra=Symbol.for("react.client.reference"),Ae=l.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,It=Object.prototype.hasOwnProperty,oa=Array.isArray,Se=console.createTask?console.createTask:function(){return null};l={react_stack_bottom_frame:function(u){return u()}};var Ot,Nt={},Pt=l.react_stack_bottom_frame.bind(l,i)(),Rt=Se(r(i)),Dt={};q.Fragment=I,q.jsx=function(u,v,z){var T=1e4>Ae.recentlyCreatedOwnerStacks++;return f(u,v,z,!1,T?Error("react-stack-top-frame"):Pt,T?Se(r(u)):Rt)},q.jsxs=function(u,v,z){var T=1e4>Ae.recentlyCreatedOwnerStacks++;return f(u,v,z,!0,T?Error("react-stack-top-frame"):Pt,T?Se(r(u)):Rt)}})()),q}var De;function Ft(){return De||(De=1,process.env.NODE_ENV==="production"?ne.exports=Ut():ne.exports=Lt()),ne.exports}var m=Ft();const Mt=({onCommand:e,onSave:t,onExport:n,onClear:r,showButtons:o=!1,hasUnsavedChanges:i})=>{const[a,c]=k.useState([]),[h,d]=k.useState("p"),f=()=>{const l=[];let w="p";document.queryCommandState("bold")&&l.push("bold"),document.queryCommandState("italic")&&l.push("italic"),document.queryCommandState("underline")&&l.push("underline"),document.queryCommandState("strikeThrough")&&l.push("strikeThrough"),document.queryCommandState("insertUnorderedList")&&l.push("insertUnorderedList"),document.queryCommandState("insertOrderedList")&&l.push("insertOrderedList"),document.queryCommandState("justifyLeft")&&l.push("justifyLeft"),document.queryCommandState("justifyCenter")&&l.push("justifyCenter"),document.queryCommandState("justifyRight")&&l.push("justifyRight");const R=window.getSelection();if(R&&R.rangeCount>0){let I=R.getRangeAt(0).commonAncestorContainer;for(;I&&I.nodeType===Node.ELEMENT_NODE;){const M=I,O=M.tagName.toLowerCase();if(["h1","h2","p","div"].includes(O)){O==="h1"||O==="h2"?(w=O,l.push(`formatBlock:${O}`)):(O==="p"||O==="div"&&!w)&&(w="p");break}I=M.parentNode}}d(w),c(l)};k.useEffect(()=>{const l=()=>{f()},w=()=>{setTimeout(f,10)};return document.addEventListener("selectionchange",l),document.addEventListener("click",w),document.addEventListener("keyup",w),()=>{document.removeEventListener("selectionchange",l),document.removeEventListener("click",w),document.removeEventListener("keyup",w)}},[]);const b=()=>{const l=prompt("Enter URL:");l&&e("createLink",l)},g=[{id:"bold",command:"bold",icon:m.jsx(C.Bold,{size:18}),title:"Bold"},{id:"italic",command:"italic",icon:m.jsx(C.Italic,{size:18}),title:"Italic"},{id:"underline",command:"underline",icon:m.jsx(C.Underline,{size:18}),title:"Underline"},{id:"strikeThrough",command:"strikeThrough",icon:m.jsx(C.Strikethrough,{size:18}),title:"Strikethrough"},{id:"separator-1",separator:!0},{id:"unordered-list",command:"insertUnorderedList",icon:m.jsx(C.List,{size:18}),title:"Bullet List"},{id:"ordered-list",command:"insertOrderedList",icon:m.jsx(C.ListOrdered,{size:18}),title:"Numbered List"},{id:"separator-2",separator:!0},{id:"heading-1",command:"formatBlock",value:"h1",icon:m.jsx(C.Heading1,{size:18}),title:"Heading 1",isActive:h==="h1"},{id:"heading-2",command:"formatBlock",value:"h2",icon:m.jsx(C.Heading2,{size:18}),title:"Heading 2",isActive:h==="h2"},{id:"paragraph",command:"formatBlock",value:"p",icon:m.jsx(C.Type,{size:18}),title:"Paragraph",isActive:h==="p"},{id:"separator-3",separator:!0},{id:"align-left",command:"justifyLeft",icon:m.jsx(C.AlignLeft,{size:18}),title:"Align Left"},{id:"align-center",command:"justifyCenter",icon:m.jsx(C.AlignCenter,{size:18}),title:"Center"},{id:"align-right",command:"justifyRight",icon:m.jsx(C.AlignRight,{size:18}),title:"Align Right"},{id:"separator-4",separator:!0},{id:"link",command:"createLink",icon:m.jsx(C.Link,{size:18}),title:"Insert Link",onClick:b}];return m.jsxs("div",{className:"flex flex-wrap justify-between items-center p-3 bg-gray-50 border-b border-gray-200",children:[m.jsx("div",{className:"flex flex-wrap items-center gap-1",children:g.map(l=>{if("separator"in l)return m.jsx("div",{className:"w-px h-6 bg-gray-300 mx-2"},l.id);const w=l.isActive!==void 0?l.isActive:a.includes(l.command);return m.jsx("button",{onClick:()=>l.onClick?l.onClick():e(l.command,l.value),title:l.title,type:"button",className:`w-9 h-9 flex items-center justify-center rounded-md border transition-colors duration-200
|
|
24
|
+
${w?"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:l.icon},l.id)})}),o&&m.jsxs("div",{className:"flex items-center gap-2 mt-2 sm:mt-0",children:[m.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:[m.jsx(C.Save,{size:16}),m.jsx("span",{children:"Save"})]}),m.jsxs("button",{onClick:n,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:[m.jsx(C.FileDown,{size:16}),m.jsx("span",{children:"Export"})]}),m.jsxs("button",{onClick:r,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:[m.jsx(C.Trash2,{size:16}),m.jsx("span",{children:"Clear"})]})]})]})},Vt=({wordCount:e,characterCount:t,hasUnsavedChanges:n})=>m.jsx("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:m.jsxs("div",{className:"flex items-center gap-6",children:[m.jsxs("div",{children:["Words: ",m.jsx("strong",{className:"text-gray-800",children:e})]}),m.jsxs("div",{children:["Characters: ",m.jsx("strong",{className:"text-gray-800",children:t})]}),m.jsxs("div",{children:["Status: ",m.jsx("strong",{className:n?"text-orange-600":"text-green-600",children:n?"Unsaved Changes":"Saved"})]})]})});function s(e,t,n){function r(c,h){var d;Object.defineProperty(c,"_zod",{value:c._zod??{},enumerable:!1}),(d=c._zod).traits??(d.traits=new Set),c._zod.traits.add(e),t(c,h);for(const f in a.prototype)f in c||Object.defineProperty(c,f,{value:a.prototype[f].bind(c)});c._zod.constr=a,c._zod.def=h}const o=n?.Parent??Object;class i extends o{}Object.defineProperty(i,"name",{value:e});function a(c){var h;const d=n?.Parent?new i:this;r(d,c),(h=d._zod).deferred??(h.deferred=[]);for(const f of d._zod.deferred)f();return d}return Object.defineProperty(a,"init",{value:r}),Object.defineProperty(a,Symbol.hasInstance,{value:c=>n?.Parent&&c instanceof n.Parent?!0:c?._zod?.traits?.has(e)}),Object.defineProperty(a,"name",{value:e}),a}class G extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class Ue extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}}const Le={};function V(e){return Le}function Wt(e){const t=Object.values(e).filter(r=>typeof r=="number");return Object.entries(e).filter(([r,o])=>t.indexOf(+r)===-1).map(([r,o])=>o)}function ve(e,t){return typeof t=="bigint"?t.toString():t}function be(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function we(e){return e==null}function _e(e){const t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function Bt(e,t){const n=(e.toString().split(".")[1]||"").length,r=t.toString();let o=(r.split(".")[1]||"").length;if(o===0&&/\d?e-\d?/.test(r)){const h=r.match(/\d?e-(\d?)/);h?.[1]&&(o=Number.parseInt(h[1]))}const i=n>o?n:o,a=Number.parseInt(e.toFixed(i).replace(".","")),c=Number.parseInt(t.toFixed(i).replace(".",""));return a%c/10**i}const Fe=Symbol("evaluating");function _(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==Fe)return r===void 0&&(r=Fe,r=n()),r},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function W(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function B(...e){const t={};for(const n of e){const r=Object.getOwnPropertyDescriptors(n);Object.assign(t,r)}return Object.defineProperties({},t)}function Me(e){return JSON.stringify(e)}const Ve="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function re(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const Yt=be(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function Q(e){if(re(e)===!1)return!1;const t=e.constructor;if(t===void 0)return!0;const n=t.prototype;return!(re(n)===!1||Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)}function We(e){return Q(e)?{...e}:Array.isArray(e)?[...e]:e}const Jt=new Set(["string","number","symbol"]);function oe(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function F(e,t,n){const r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function p(e){const t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function Gt(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}const Ht={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function Xt(e,t){const n=e._zod.def,r=B(e._zod.def,{get shape(){const o={};for(const i in t){if(!(i in n.shape))throw new Error(`Unrecognized key: "${i}"`);t[i]&&(o[i]=n.shape[i])}return W(this,"shape",o),o},checks:[]});return F(e,r)}function Kt(e,t){const n=e._zod.def,r=B(e._zod.def,{get shape(){const o={...e._zod.def.shape};for(const i in t){if(!(i in n.shape))throw new Error(`Unrecognized key: "${i}"`);t[i]&&delete o[i]}return W(this,"shape",o),o},checks:[]});return F(e,r)}function qt(e,t){if(!Q(t))throw new Error("Invalid input to extend: expected a plain object");const n=e._zod.def.checks;if(n&&n.length>0)throw new Error("Object schemas containing refinements cannot be extended. Use `.safeExtend()` instead.");const o=B(e._zod.def,{get shape(){const i={...e._zod.def.shape,...t};return W(this,"shape",i),i},checks:[]});return F(e,o)}function Qt(e,t){if(!Q(t))throw new Error("Invalid input to safeExtend: expected a plain object");const n={...e._zod.def,get shape(){const r={...e._zod.def.shape,...t};return W(this,"shape",r),r},checks:e._zod.def.checks};return F(e,n)}function en(e,t){const n=B(e._zod.def,{get shape(){const r={...e._zod.def.shape,...t._zod.def.shape};return W(this,"shape",r),r},get catchall(){return t._zod.def.catchall},checks:[]});return F(e,n)}function tn(e,t,n){const r=B(t._zod.def,{get shape(){const o=t._zod.def.shape,i={...o};if(n)for(const a in n){if(!(a in o))throw new Error(`Unrecognized key: "${a}"`);n[a]&&(i[a]=e?new e({type:"optional",innerType:o[a]}):o[a])}else for(const a in o)i[a]=e?new e({type:"optional",innerType:o[a]}):o[a];return W(this,"shape",i),i},checks:[]});return F(t,r)}function nn(e,t,n){const r=B(t._zod.def,{get shape(){const o=t._zod.def.shape,i={...o};if(n)for(const a in n){if(!(a in i))throw new Error(`Unrecognized key: "${a}"`);n[a]&&(i[a]=new e({type:"nonoptional",innerType:o[a]}))}else for(const a in o)i[a]=new e({type:"nonoptional",innerType:o[a]});return W(this,"shape",i),i},checks:[]});return F(t,r)}function H(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function Be(e,t){return t.map(n=>{var r;return(r=n).path??(r.path=[]),n.path.unshift(e),n})}function ie(e){return typeof e=="string"?e:e?.message}function Y(e,t,n){const r={...e,path:e.path??[]};if(!e.message){const o=ie(e.inst?._zod.def?.error?.(e))??ie(t?.error?.(e))??ie(n.customError?.(e))??ie(n.localeError?.(e))??"Invalid input";r.message=o}return delete r.inst,delete r.continue,t?.reportInput||delete r.input,r}function ke(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function ee(...e){const[t,n,r]=e;return typeof t=="string"?{message:t,code:"custom",input:n,inst:r}:{...t}}const Ye=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,ve,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Je=s("$ZodError",Ye),Ge=s("$ZodError",Ye,{Parent:Error});function rn(e,t=n=>n.message){const n={},r=[];for(const o of e.issues)o.path.length>0?(n[o.path[0]]=n[o.path[0]]||[],n[o.path[0]].push(t(o))):r.push(t(o));return{formErrors:r,fieldErrors:n}}function on(e,t){const n=t||function(i){return i.message},r={_errors:[]},o=i=>{for(const a of i.issues)if(a.code==="invalid_union"&&a.errors.length)a.errors.map(c=>o({issues:c}));else if(a.code==="invalid_key")o({issues:a.issues});else if(a.code==="invalid_element")o({issues:a.issues});else if(a.path.length===0)r._errors.push(n(a));else{let c=r,h=0;for(;h<a.path.length;){const d=a.path[h];h===a.path.length-1?(c[d]=c[d]||{_errors:[]},c[d]._errors.push(n(a))):c[d]=c[d]||{_errors:[]},c=c[d],h++}}};return o(e),r}const ye=e=>(t,n,r,o)=>{const i=r?Object.assign(r,{async:!1}):{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new G;if(a.issues.length){const c=new(o?.Err??e)(a.issues.map(h=>Y(h,i,V())));throw Ve(c,o?.callee),c}return a.value},xe=e=>async(t,n,r,o)=>{const i=r?Object.assign(r,{async:!0}):{async:!0};let a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise&&(a=await a),a.issues.length){const c=new(o?.Err??e)(a.issues.map(h=>Y(h,i,V())));throw Ve(c,o?.callee),c}return a.value},ae=e=>(t,n,r)=>{const o=r?{...r,async:!1}:{async:!1},i=t._zod.run({value:n,issues:[]},o);if(i instanceof Promise)throw new G;return i.issues.length?{success:!1,error:new(e??Je)(i.issues.map(a=>Y(a,o,V())))}:{success:!0,data:i.value}},an=ae(Ge),ce=e=>async(t,n,r)=>{const o=r?Object.assign(r,{async:!0}):{async:!0};let i=t._zod.run({value:n,issues:[]},o);return i instanceof Promise&&(i=await i),i.issues.length?{success:!1,error:new e(i.issues.map(a=>Y(a,o,V())))}:{success:!0,data:i.value}},cn=ce(Ge),sn=e=>(t,n,r)=>{const o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return ye(e)(t,n,o)},un=e=>(t,n,r)=>ye(e)(t,n,r),ln=e=>async(t,n,r)=>{const o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return xe(e)(t,n,o)},dn=e=>async(t,n,r)=>xe(e)(t,n,r),hn=e=>(t,n,r)=>{const o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return ae(e)(t,n,o)},fn=e=>(t,n,r)=>ae(e)(t,n,r),pn=e=>async(t,n,r)=>{const o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return ce(e)(t,n,o)},mn=e=>async(t,n,r)=>ce(e)(t,n,r),gn=/^[cC][^\s-]{8,}$/,vn=/^[0-9a-z]+$/,bn=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,wn=/^[0-9a-vA-V]{20}$/,_n=/^[A-Za-z0-9]{27}$/,kn=/^[a-zA-Z0-9_-]{21}$/,yn=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,xn=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,He=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,zn=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,En="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function Zn(){return new RegExp(En,"u")}const $n=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Tn=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,jn=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Cn=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,An=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Xe=/^[A-Za-z0-9_-]*$/,Sn=/^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/,In=/^\+(?:[0-9]){6,14}[0-9]$/,Ke="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",On=new RegExp(`^${Ke}$`);function qe(e){const t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Nn(e){return new RegExp(`^${qe(e)}$`)}function Pn(e){const t=qe({precision:e.precision}),n=["Z"];e.local&&n.push(""),e.offset&&n.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const r=`${t}(?:${n.join("|")})`;return new RegExp(`^${Ke}T(?:${r})$`)}const Rn=e=>{const t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},Dn=/^-?\d+$/,Un=/^-?\d+(?:\.\d+)?/,Ln=/^(?:true|false)$/i,Fn=/^[^A-Z]*$/,Mn=/^[^a-z]*$/,S=s("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Qe={number:"number",bigint:"bigint",object:"date"},et=s("$ZodCheckLessThan",(e,t)=>{S.init(e,t);const n=Qe[typeof t.value];e._zod.onattach.push(r=>{const o=r._zod.bag,i=(t.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<i&&(t.inclusive?o.maximum=t.value:o.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:n,code:"too_big",maximum:t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),tt=s("$ZodCheckGreaterThan",(e,t)=>{S.init(e,t);const n=Qe[typeof t.value];e._zod.onattach.push(r=>{const o=r._zod.bag,i=(t.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>i&&(t.inclusive?o.minimum=t.value:o.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:n,code:"too_small",minimum:t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Vn=s("$ZodCheckMultipleOf",(e,t)=>{S.init(e,t),e._zod.onattach.push(n=>{var r;(r=n._zod.bag).multipleOf??(r.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof n.value=="bigint"?n.value%t.value===BigInt(0):Bt(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),Wn=s("$ZodCheckNumberFormat",(e,t)=>{S.init(e,t),t.format=t.format||"float64";const n=t.format?.includes("int"),r=n?"int":"number",[o,i]=Ht[t.format];e._zod.onattach.push(a=>{const c=a._zod.bag;c.format=t.format,c.minimum=o,c.maximum=i,n&&(c.pattern=Dn)}),e._zod.check=a=>{const c=a.value;if(n){if(!Number.isInteger(c)){a.issues.push({expected:r,format:t.format,code:"invalid_type",continue:!1,input:c,inst:e});return}if(!Number.isSafeInteger(c)){c>0?a.issues.push({input:c,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,continue:!t.abort}):a.issues.push({input:c,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,continue:!t.abort});return}}c<o&&a.issues.push({origin:"number",input:c,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort}),c>i&&a.issues.push({origin:"number",input:c,code:"too_big",maximum:i,inst:e})}}),Bn=s("$ZodCheckMaxLength",(e,t)=>{var n;S.init(e,t),(n=e._zod.def).when??(n.when=r=>{const o=r.value;return!we(o)&&o.length!==void 0}),e._zod.onattach.push(r=>{const o=r._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<o&&(r._zod.bag.maximum=t.maximum)}),e._zod.check=r=>{const o=r.value;if(o.length<=t.maximum)return;const a=ke(o);r.issues.push({origin:a,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Yn=s("$ZodCheckMinLength",(e,t)=>{var n;S.init(e,t),(n=e._zod.def).when??(n.when=r=>{const o=r.value;return!we(o)&&o.length!==void 0}),e._zod.onattach.push(r=>{const o=r._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>o&&(r._zod.bag.minimum=t.minimum)}),e._zod.check=r=>{const o=r.value;if(o.length>=t.minimum)return;const a=ke(o);r.issues.push({origin:a,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Jn=s("$ZodCheckLengthEquals",(e,t)=>{var n;S.init(e,t),(n=e._zod.def).when??(n.when=r=>{const o=r.value;return!we(o)&&o.length!==void 0}),e._zod.onattach.push(r=>{const o=r._zod.bag;o.minimum=t.length,o.maximum=t.length,o.length=t.length}),e._zod.check=r=>{const o=r.value,i=o.length;if(i===t.length)return;const a=ke(o),c=i>t.length;r.issues.push({origin:a,...c?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:r.value,inst:e,continue:!t.abort})}}),se=s("$ZodCheckStringFormat",(e,t)=>{var n,r;S.init(e,t),e._zod.onattach.push(o=>{const i=o._zod.bag;i.format=t.format,t.pattern&&(i.patterns??(i.patterns=new Set),i.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=o=>{t.pattern.lastIndex=0,!t.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),Gn=s("$ZodCheckRegex",(e,t)=>{se.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:"string",code:"invalid_format",format:"regex",input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Hn=s("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Fn),se.init(e,t)}),Xn=s("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Mn),se.init(e,t)}),Kn=s("$ZodCheckIncludes",(e,t)=>{S.init(e,t);const n=oe(t.includes),r=new RegExp(typeof t.position=="number"?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push(o=>{const i=o._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(r)}),e._zod.check=o=>{o.value.includes(t.includes,t.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),qn=s("$ZodCheckStartsWith",(e,t)=>{S.init(e,t);const n=new RegExp(`^${oe(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push(r=>{const o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=r=>{r.value.startsWith(t.prefix)||r.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:r.value,inst:e,continue:!t.abort})}}),Qn=s("$ZodCheckEndsWith",(e,t)=>{S.init(e,t);const n=new RegExp(`.*${oe(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.onattach.push(r=>{const o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=r=>{r.value.endsWith(t.suffix)||r.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:r.value,inst:e,continue:!t.abort})}}),er=s("$ZodCheckOverwrite",(e,t)=>{S.init(e,t),e._zod.check=n=>{n.value=t.tx(n.value)}});class tr{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}const r=t.split(`
|
|
25
|
+
`).filter(a=>a),o=Math.min(...r.map(a=>a.length-a.trimStart().length)),i=r.map(a=>a.slice(o)).map(a=>" ".repeat(this.indent*2)+a);for(const a of i)this.content.push(a)}compile(){const t=Function,n=this?.args,o=[...(this?.content??[""]).map(i=>` ${i}`)];return new t(...n,o.join(`
|
|
26
|
+
`))}}const nr={major:4,minor:1,patch:11},E=s("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=nr;const r=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&r.unshift(e);for(const o of r)for(const i of o._zod.onattach)i(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const o=(a,c,h)=>{let d=H(a),f;for(const b of c){if(b._zod.def.when){if(!b._zod.def.when(a))continue}else if(d)continue;const g=a.issues.length,l=b._zod.check(a);if(l instanceof Promise&&h?.async===!1)throw new G;if(f||l instanceof Promise)f=(f??Promise.resolve()).then(async()=>{await l,a.issues.length!==g&&(d||(d=H(a,g)))});else{if(a.issues.length===g)continue;d||(d=H(a,g))}}return f?f.then(()=>a):a},i=(a,c,h)=>{if(H(a))return a.aborted=!0,a;const d=o(c,r,h);if(d instanceof Promise){if(h.async===!1)throw new G;return d.then(f=>e._zod.parse(f,h))}return e._zod.parse(d,h)};e._zod.run=(a,c)=>{if(c.skipChecks)return e._zod.parse(a,c);if(c.direction==="backward"){const d=e._zod.parse({value:a.value,issues:[]},{...c,skipChecks:!0});return d instanceof Promise?d.then(f=>i(f,a,c)):i(d,a,c)}const h=e._zod.parse(a,c);if(h instanceof Promise){if(c.async===!1)throw new G;return h.then(d=>o(d,r,c))}return o(h,r,c)}}e["~standard"]={validate:o=>{try{const i=an(e,o);return i.success?{value:i.data}:{issues:i.error?.issues}}catch{return cn(e,o).then(a=>a.success?{value:a.data}:{issues:a.error?.issues})}},vendor:"zod",version:1}}),ze=s("$ZodString",(e,t)=>{E.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??Rn(e._zod.bag),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value=="string"||n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),y=s("$ZodStringFormat",(e,t)=>{se.init(e,t),ze.init(e,t)}),rr=s("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=xn),y.init(e,t)}),or=s("$ZodUUID",(e,t)=>{if(t.version){const r={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(r===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=He(r))}else t.pattern??(t.pattern=He());y.init(e,t)}),ir=s("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=zn),y.init(e,t)}),ar=s("$ZodURL",(e,t)=>{y.init(e,t),e._zod.check=n=>{try{const r=n.value.trim(),o=new URL(r);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(o.hostname)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:Sn.source,input:n.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(o.protocol.endsWith(":")?o.protocol.slice(0,-1):o.protocol)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),t.normalize?n.value=o.href:n.value=r;return}catch{n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}}),cr=s("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=Zn()),y.init(e,t)}),sr=s("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=kn),y.init(e,t)}),ur=s("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=gn),y.init(e,t)}),lr=s("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=vn),y.init(e,t)}),dr=s("$ZodULID",(e,t)=>{t.pattern??(t.pattern=bn),y.init(e,t)}),hr=s("$ZodXID",(e,t)=>{t.pattern??(t.pattern=wn),y.init(e,t)}),fr=s("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=_n),y.init(e,t)}),pr=s("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=Pn(t)),y.init(e,t)}),mr=s("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=On),y.init(e,t)}),gr=s("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=Nn(t)),y.init(e,t)}),vr=s("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=yn),y.init(e,t)}),br=s("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=$n),y.init(e,t),e._zod.onattach.push(n=>{const r=n._zod.bag;r.format="ipv4"})}),wr=s("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=Tn),y.init(e,t),e._zod.onattach.push(n=>{const r=n._zod.bag;r.format="ipv6"}),e._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:"invalid_format",format:"ipv6",input:n.value,inst:e,continue:!t.abort})}}}),_r=s("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=jn),y.init(e,t)}),kr=s("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=Cn),y.init(e,t),e._zod.check=n=>{const r=n.value.split("/");try{if(r.length!==2)throw new Error;const[o,i]=r;if(!i)throw new Error;const a=Number(i);if(`${a}`!==i)throw new Error;if(a<0||a>128)throw new Error;new URL(`http://[${o}]`)}catch{n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:e,continue:!t.abort})}}});function nt(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}const yr=s("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=An),y.init(e,t),e._zod.onattach.push(n=>{n._zod.bag.contentEncoding="base64"}),e._zod.check=n=>{nt(n.value)||n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});function xr(e){if(!Xe.test(e))return!1;const t=e.replace(/[-_]/g,r=>r==="-"?"+":"/"),n=t.padEnd(Math.ceil(t.length/4)*4,"=");return nt(n)}const zr=s("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Xe),y.init(e,t),e._zod.onattach.push(n=>{n._zod.bag.contentEncoding="base64url"}),e._zod.check=n=>{xr(n.value)||n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),Er=s("$ZodE164",(e,t)=>{t.pattern??(t.pattern=In),y.init(e,t)});function Zr(e,t=null){try{const n=e.split(".");if(n.length!==3)return!1;const[r]=n;if(!r)return!1;const o=JSON.parse(atob(r));return!("typ"in o&&o?.typ!=="JWT"||!o.alg||t&&(!("alg"in o)||o.alg!==t))}catch{return!1}}const $r=s("$ZodJWT",(e,t)=>{y.init(e,t),e._zod.check=n=>{Zr(n.value,t.alg)||n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),rt=s("$ZodNumber",(e,t)=>{E.init(e,t),e._zod.pattern=e._zod.bag.pattern??Un,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}const o=n.value;if(typeof o=="number"&&!Number.isNaN(o)&&Number.isFinite(o))return n;const i=typeof o=="number"?Number.isNaN(o)?"NaN":Number.isFinite(o)?void 0:"Infinity":void 0;return n.issues.push({expected:"number",code:"invalid_type",input:o,inst:e,...i?{received:i}:{}}),n}}),Tr=s("$ZodNumber",(e,t)=>{Wn.init(e,t),rt.init(e,t)}),jr=s("$ZodBoolean",(e,t)=>{E.init(e,t),e._zod.pattern=Ln,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=!!n.value}catch{}const o=n.value;return typeof o=="boolean"||n.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),n}}),Cr=s("$ZodUnknown",(e,t)=>{E.init(e,t),e._zod.parse=n=>n}),Ar=s("$ZodNever",(e,t)=>{E.init(e,t),e._zod.parse=(n,r)=>(n.issues.push({expected:"never",code:"invalid_type",input:n.value,inst:e}),n)});function ot(e,t,n){e.issues.length&&t.issues.push(...Be(n,e.issues)),t.value[n]=e.value}const Sr=s("$ZodArray",(e,t)=>{E.init(e,t),e._zod.parse=(n,r)=>{const o=n.value;if(!Array.isArray(o))return n.issues.push({expected:"array",code:"invalid_type",input:o,inst:e}),n;n.value=Array(o.length);const i=[];for(let a=0;a<o.length;a++){const c=o[a],h=t.element._zod.run({value:c,issues:[]},r);h instanceof Promise?i.push(h.then(d=>ot(d,n,a))):ot(h,n,a)}return i.length?Promise.all(i).then(()=>n):n}});function ue(e,t,n,r){e.issues.length&&t.issues.push(...Be(n,e.issues)),e.value===void 0?n in r&&(t.value[n]=void 0):t.value[n]=e.value}function it(e){const t=Object.keys(e.shape);for(const r of t)if(!e.shape?.[r]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${r}": expected a Zod schema`);const n=Gt(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function at(e,t,n,r,o,i){const a=[],c=o.keySet,h=o.catchall._zod,d=h.def.type;for(const f of Object.keys(t)){if(c.has(f))continue;if(d==="never"){a.push(f);continue}const b=h.run({value:t[f],issues:[]},r);b instanceof Promise?e.push(b.then(g=>ue(g,n,f,t))):ue(b,n,f,t)}return a.length&&n.issues.push({code:"unrecognized_keys",keys:a,input:t,inst:i}),e.length?Promise.all(e).then(()=>n):n}const Ir=s("$ZodObject",(e,t)=>{if(E.init(e,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){const c=t.shape;Object.defineProperty(t,"shape",{get:()=>{const h={...c};return Object.defineProperty(t,"shape",{value:h}),h}})}const r=be(()=>it(t));_(e._zod,"propValues",()=>{const c=t.shape,h={};for(const d in c){const f=c[d]._zod;if(f.values){h[d]??(h[d]=new Set);for(const b of f.values)h[d].add(b)}}return h});const o=re,i=t.catchall;let a;e._zod.parse=(c,h)=>{a??(a=r.value);const d=c.value;if(!o(d))return c.issues.push({expected:"object",code:"invalid_type",input:d,inst:e}),c;c.value={};const f=[],b=a.shape;for(const g of a.keys){const w=b[g]._zod.run({value:d[g],issues:[]},h);w instanceof Promise?f.push(w.then(R=>ue(R,c,g,d))):ue(w,c,g,d)}return i?at(f,d,c,h,r.value,e):f.length?Promise.all(f).then(()=>c):c}}),Or=s("$ZodObjectJIT",(e,t)=>{Ir.init(e,t);const n=e._zod.parse,r=be(()=>it(t)),o=g=>{const l=new tr(["shape","payload","ctx"]),w=r.value,R=N=>{const A=Me(N);return`shape[${A}]._zod.run({ value: input[${A}], issues: [] }, ctx)`};l.write("const input = payload.value;");const I=Object.create(null);let M=0;for(const N of w.keys)I[N]=`key_${M++}`;l.write("const newResult = {};");for(const N of w.keys){const A=I[N],U=Me(N);l.write(`const ${A} = ${R(N)};`),l.write(`
|
|
27
|
+
if (${A}.issues.length) {
|
|
28
|
+
payload.issues = payload.issues.concat(${A}.issues.map(iss => ({
|
|
29
29
|
...iss,
|
|
30
|
-
path: iss.path ? [${
|
|
30
|
+
path: iss.path ? [${U}, ...iss.path] : [${U}]
|
|
31
31
|
})));
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
|
|
35
|
-
if (${
|
|
36
|
-
if (${
|
|
37
|
-
newResult[${
|
|
35
|
+
if (${A}.value === undefined) {
|
|
36
|
+
if (${U} in input) {
|
|
37
|
+
newResult[${U}] = undefined;
|
|
38
38
|
}
|
|
39
39
|
} else {
|
|
40
|
-
newResult[${
|
|
40
|
+
newResult[${U}] = ${A}.value;
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
`)}b.write("payload.value = newResult;"),b.write("return payload;");const Y=b.compile();return(A,O)=>Y(h,A,O)};let i;const a=ee,c=!Ne.jitless,d=c&&Vt.value,l=t.catchall;let v;e._zod.parse=(h,b)=>{v??(v=n.value);const T=h.value;return a(T)?c&&d&&b?.async===!1&&b.jitless!==!0?(i||(i=o(t.shape)),h=i(h,b),l?nt([],T,h,b,v,e):h):r(h,b):(h.issues.push({expected:"object",code:"invalid_type",input:T,inst:e}),h)}});function ot(e,t,r,n){for(const i of e)if(i.issues.length===0)return t.value=i.value,t;const o=e.filter(i=>!B(i));return o.length===1?(t.value=o[0].value,o[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:r,errors:e.map(i=>i.issues.map(a=>F(a,n,N())))}),t)}const Sn=s("$ZodUnion",(e,t)=>{x.init(e,t),w(e._zod,"optin",()=>t.options.some(o=>o._zod.optin==="optional")?"optional":void 0),w(e._zod,"optout",()=>t.options.some(o=>o._zod.optout==="optional")?"optional":void 0),w(e._zod,"values",()=>{if(t.options.every(o=>o._zod.values))return new Set(t.options.flatMap(o=>Array.from(o._zod.values)))}),w(e._zod,"pattern",()=>{if(t.options.every(o=>o._zod.pattern)){const o=t.options.map(i=>i._zod.pattern);return new RegExp(`^(${o.map(i=>ge(i.source)).join("|")})$`)}});const r=t.options.length===1,n=t.options[0]._zod.run;e._zod.parse=(o,i)=>{if(r)return n(o,i);let a=!1;const c=[];for(const f of t.options){const d=f._zod.run({value:o.value,issues:[]},i);if(d instanceof Promise)c.push(d),a=!0;else{if(d.issues.length===0)return d;c.push(d)}}return a?Promise.all(c).then(f=>ot(f,o,e,i)):ot(c,o,e,i)}}),Cn=s("$ZodIntersection",(e,t)=>{x.init(e,t),e._zod.parse=(r,n)=>{const o=r.value,i=t.left._zod.run({value:o,issues:[]},n),a=t.right._zod.run({value:o,issues:[]},n);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([f,d])=>it(r,f,d)):it(r,i,a)}});function ke(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(X(e)&&X(t)){const r=Object.keys(t),n=Object.keys(e).filter(i=>r.indexOf(i)!==-1),o={...e,...t};for(const i of n){const a=ke(e[i],t[i]);if(!a.valid)return{valid:!1,mergeErrorPath:[i,...a.mergeErrorPath]};o[i]=a.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};const r=[];for(let n=0;n<e.length;n++){const o=e[n],i=t[n],a=ke(o,i);if(!a.valid)return{valid:!1,mergeErrorPath:[n,...a.mergeErrorPath]};r.push(a.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function it(e,t,r){if(t.issues.length&&e.issues.push(...t.issues),r.issues.length&&e.issues.push(...r.issues),B(e))return e;const n=ke(t.value,r.value);if(!n.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(n.mergeErrorPath)}`);return e.value=n.data,e}const On=s("$ZodEnum",(e,t)=>{x.init(e,t);const r=Lt(t.entries),n=new Set(r);e._zod.values=n,e._zod.pattern=new RegExp(`^(${r.filter(o=>Wt.has(typeof o)).map(o=>typeof o=="string"?te(o):o.toString()).join("|")})$`),e._zod.parse=(o,i)=>{const a=o.value;return n.has(a)||o.issues.push({code:"invalid_value",values:r,input:a,inst:e}),o}}),Pn=s("$ZodTransform",(e,t)=>{x.init(e,t),e._zod.parse=(r,n)=>{if(n.direction==="backward")throw new Re(e.constructor.name);const o=t.transform(r.value,r);if(n.async)return(o instanceof Promise?o:Promise.resolve(o)).then(a=>(r.value=a,r));if(o instanceof Promise)throw new W;return r.value=o,r}});function at(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}const Rn=s("$ZodOptional",(e,t)=>{x.init(e,t),e._zod.optin="optional",e._zod.optout="optional",w(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),w(e._zod,"pattern",()=>{const r=t.innerType._zod.pattern;return r?new RegExp(`^(${ge(r.source)})?$`):void 0}),e._zod.parse=(r,n)=>{if(t.innerType._zod.optin==="optional"){const o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>at(i,r.value)):at(o,r.value)}return r.value===void 0?r:t.innerType._zod.run(r,n)}}),Nn=s("$ZodNullable",(e,t)=>{x.init(e,t),w(e._zod,"optin",()=>t.innerType._zod.optin),w(e._zod,"optout",()=>t.innerType._zod.optout),w(e._zod,"pattern",()=>{const r=t.innerType._zod.pattern;return r?new RegExp(`^(${ge(r.source)}|null)$`):void 0}),w(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(r,n)=>r.value===null?r:t.innerType._zod.run(r,n)}),Dn=s("$ZodDefault",(e,t)=>{x.init(e,t),e._zod.optin="optional",w(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);if(r.value===void 0)return r.value=t.defaultValue,r;const o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>st(i,t)):st(o,t)}});function st(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const Un=s("$ZodPrefault",(e,t)=>{x.init(e,t),e._zod.optin="optional",w(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>(n.direction==="backward"||r.value===void 0&&(r.value=t.defaultValue),t.innerType._zod.run(r,n))}),Fn=s("$ZodNonOptional",(e,t)=>{x.init(e,t),w(e._zod,"values",()=>{const r=t.innerType._zod.values;return r?new Set([...r].filter(n=>n!==void 0)):void 0}),e._zod.parse=(r,n)=>{const o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>ct(i,e)):ct(o,e)}});function ct(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}const Ln=s("$ZodCatch",(e,t)=>{x.init(e,t),w(e._zod,"optin",()=>t.innerType._zod.optin),w(e._zod,"optout",()=>t.innerType._zod.optout),w(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);const o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>(r.value=i.value,i.issues.length&&(r.value=t.catchValue({...r,error:{issues:i.issues.map(a=>F(a,n,N()))},input:r.value}),r.issues=[]),r)):(r.value=o.value,o.issues.length&&(r.value=t.catchValue({...r,error:{issues:o.issues.map(i=>F(i,n,N()))},input:r.value}),r.issues=[]),r)}}),Mn=s("$ZodPipe",(e,t)=>{x.init(e,t),w(e._zod,"values",()=>t.in._zod.values),w(e._zod,"optin",()=>t.in._zod.optin),w(e._zod,"optout",()=>t.out._zod.optout),w(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(r,n)=>{if(n.direction==="backward"){const i=t.out._zod.run(r,n);return i instanceof Promise?i.then(a=>se(a,t.in,n)):se(i,t.in,n)}const o=t.in._zod.run(r,n);return o instanceof Promise?o.then(i=>se(i,t.out,n)):se(o,t.out,n)}});function se(e,t,r){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},r)}const Vn=s("$ZodReadonly",(e,t)=>{x.init(e,t),w(e._zod,"propValues",()=>t.innerType._zod.propValues),w(e._zod,"values",()=>t.innerType._zod.values),w(e._zod,"optin",()=>t.innerType._zod.optin),w(e._zod,"optout",()=>t.innerType._zod.optout),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);const o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(ut):ut(o)}});function ut(e){return e.value=Object.freeze(e.value),e}const Wn=s("$ZodCustom",(e,t)=>{S.init(e,t),x.init(e,t),e._zod.parse=(r,n)=>r,e._zod.check=r=>{const n=r.value,o=t.fn(n);if(o instanceof Promise)return o.then(i=>lt(i,r,n,e));lt(o,r,n,e)}});function lt(e,t,r,n){if(!e){const o={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(o.params=n._zod.def.params),t.issues.push(K(o))}}class Bn{constructor(){this._map=new WeakMap,this._idmap=new Map}add(t,...r){const n=r[0];if(this._map.set(t,n),n&&typeof n=="object"&&"id"in n){if(this._idmap.has(n.id))throw new Error(`ID ${n.id} already exists in the registry`);this._idmap.set(n.id,t)}return this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(t){const r=this._map.get(t);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(t),this}get(t){const r=t._zod.parent;if(r){const n={...this.get(r)??{}};delete n.id;const o={...n,...this._map.get(t)};return Object.keys(o).length?o:void 0}return this._map.get(t)}has(t){return this._map.has(t)}}function Yn(){return new Bn}const ce=Yn();function Jn(e,t){return new e({type:"string",...p(t)})}function Gn(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...p(t)})}function dt(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...p(t)})}function Hn(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...p(t)})}function Xn(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...p(t)})}function Kn(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...p(t)})}function qn(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...p(t)})}function Qn(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...p(t)})}function eo(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...p(t)})}function to(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...p(t)})}function ro(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...p(t)})}function no(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...p(t)})}function oo(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...p(t)})}function io(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...p(t)})}function ao(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...p(t)})}function so(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...p(t)})}function co(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...p(t)})}function uo(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...p(t)})}function lo(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...p(t)})}function fo(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...p(t)})}function po(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...p(t)})}function ho(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...p(t)})}function mo(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...p(t)})}function go(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...p(t)})}function vo(e,t){return new e({type:"string",format:"date",check:"string_format",...p(t)})}function bo(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...p(t)})}function wo(e,t){return new e({type:"string",format:"duration",check:"string_format",...p(t)})}function _o(e,t){return new e({type:"number",checks:[],...p(t)})}function ko(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...p(t)})}function yo(e,t){return new e({type:"boolean",...p(t)})}function xo(e){return new e({type:"unknown"})}function zo(e,t){return new e({type:"never",...p(t)})}function ft(e,t){return new Ke({check:"less_than",...p(t),value:e,inclusive:!1})}function ye(e,t){return new Ke({check:"less_than",...p(t),value:e,inclusive:!0})}function pt(e,t){return new qe({check:"greater_than",...p(t),value:e,inclusive:!1})}function xe(e,t){return new qe({check:"greater_than",...p(t),value:e,inclusive:!0})}function ht(e,t){return new Ur({check:"multiple_of",...p(t),value:e})}function mt(e,t){return new Lr({check:"max_length",...p(t),maximum:e})}function ue(e,t){return new Mr({check:"min_length",...p(t),minimum:e})}function gt(e,t){return new Vr({check:"length_equals",...p(t),length:e})}function Zo(e,t){return new Wr({check:"string_format",format:"regex",...p(t),pattern:e})}function Eo(e){return new Br({check:"string_format",format:"lowercase",...p(e)})}function $o(e){return new Yr({check:"string_format",format:"uppercase",...p(e)})}function To(e,t){return new Jr({check:"string_format",format:"includes",...p(t),includes:e})}function jo(e,t){return new Gr({check:"string_format",format:"starts_with",...p(t),prefix:e})}function Ao(e,t){return new Hr({check:"string_format",format:"ends_with",...p(t),suffix:e})}function q(e){return new Xr({check:"overwrite",tx:e})}function Io(e){return q(t=>t.normalize(e))}function So(){return q(e=>e.trim())}function Co(){return q(e=>e.toLowerCase())}function Oo(){return q(e=>e.toUpperCase())}function Po(e,t,r){return new e({type:"array",element:t,...p(r)})}function Ro(e,t,r){return new e({type:"custom",check:"custom",fn:t,...p(r)})}function No(e){const t=Do(r=>(r.addIssue=n=>{if(typeof n=="string")r.issues.push(K(n,r.value,t._zod.def));else{const o=n;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=r.value),o.inst??(o.inst=t),o.continue??(o.continue=!t._zod.def.abort),r.issues.push(K(o))}},e(r.value,r)));return t}function Do(e,t){const r=new S({check:"custom",...p(t)});return r._zod.check=e,r}const Uo=s("ZodISODateTime",(e,t)=>{dn.init(e,t),k.init(e,t)});function Fo(e){return go(Uo,e)}const Lo=s("ZodISODate",(e,t)=>{fn.init(e,t),k.init(e,t)});function Mo(e){return vo(Lo,e)}const Vo=s("ZodISOTime",(e,t)=>{pn.init(e,t),k.init(e,t)});function Wo(e){return bo(Vo,e)}const Bo=s("ZodISODuration",(e,t)=>{hn.init(e,t),k.init(e,t)});function Yo(e){return wo(Bo,e)}const C=s("ZodError",(e,t)=>{We.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:r=>tr(e,r)},flatten:{value:r=>er(e,r)},addIssue:{value:r=>{e.issues.push(r),e.message=JSON.stringify(e.issues,pe,2)}},addIssues:{value:r=>{e.issues.push(...r),e.message=JSON.stringify(e.issues,pe,2)}},isEmpty:{get(){return e.issues.length===0}}})},{Parent:Error}),Jo=be(C),Go=we(C),Ho=ne(C),Xo=oe(C),Ko=or(C),qo=ir(C),Qo=ar(C),ei=sr(C),ti=cr(C),ri=ur(C),ni=lr(C),oi=dr(C),Z=s("ZodType",(e,t)=>(x.init(e,t),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.check=(...r)=>e.clone(U(t,{checks:[...t.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]})),e.clone=(r,n)=>R(e,r,n),e.brand=()=>e,e.register=((r,n)=>(r.add(e,n),e)),e.parse=(r,n)=>Jo(e,r,n,{callee:e.parse}),e.safeParse=(r,n)=>Ho(e,r,n),e.parseAsync=async(r,n)=>Go(e,r,n,{callee:e.parseAsync}),e.safeParseAsync=async(r,n)=>Xo(e,r,n),e.spa=e.safeParseAsync,e.encode=(r,n)=>Ko(e,r,n),e.decode=(r,n)=>qo(e,r,n),e.encodeAsync=async(r,n)=>Qo(e,r,n),e.decodeAsync=async(r,n)=>ei(e,r,n),e.safeEncode=(r,n)=>ti(e,r,n),e.safeDecode=(r,n)=>ri(e,r,n),e.safeEncodeAsync=async(r,n)=>ni(e,r,n),e.safeDecodeAsync=async(r,n)=>oi(e,r,n),e.refine=(r,n)=>e.check(Hi(r,n)),e.superRefine=r=>e.check(Xi(r)),e.overwrite=r=>e.check(q(r)),e.optional=()=>Zt(e),e.nullable=()=>Et(e),e.nullish=()=>Zt(Et(e)),e.nonoptional=r=>Mi(e,r),e.array=()=>ji(e),e.or=r=>Si([e,r]),e.and=r=>Oi(e,r),e.transform=r=>Tt(e,Ri(r)),e.default=r=>Ui(e,r),e.prefault=r=>Li(e,r),e.catch=r=>Wi(e,r),e.pipe=r=>Tt(e,r),e.readonly=()=>Ji(e),e.describe=r=>{const n=e.clone();return ce.add(n,{description:r}),n},Object.defineProperty(e,"description",{get(){return ce.get(e)?.description},configurable:!0}),e.meta=(...r)=>{if(r.length===0)return ce.get(e);const n=e.clone();return ce.add(n,r[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e)),vt=s("_ZodString",(e,t)=>{_e.init(e,t),Z.init(e,t);const r=e._zod.bag;e.format=r.format??null,e.minLength=r.minimum??null,e.maxLength=r.maximum??null,e.regex=(...n)=>e.check(Zo(...n)),e.includes=(...n)=>e.check(To(...n)),e.startsWith=(...n)=>e.check(jo(...n)),e.endsWith=(...n)=>e.check(Ao(...n)),e.min=(...n)=>e.check(ue(...n)),e.max=(...n)=>e.check(mt(...n)),e.length=(...n)=>e.check(gt(...n)),e.nonempty=(...n)=>e.check(ue(1,...n)),e.lowercase=n=>e.check(Eo(n)),e.uppercase=n=>e.check($o(n)),e.trim=()=>e.check(So()),e.normalize=(...n)=>e.check(Io(...n)),e.toLowerCase=()=>e.check(Co()),e.toUpperCase=()=>e.check(Oo())}),ii=s("ZodString",(e,t)=>{_e.init(e,t),vt.init(e,t),e.email=r=>e.check(Gn(ai,r)),e.url=r=>e.check(Qn(si,r)),e.jwt=r=>e.check(mo(yi,r)),e.emoji=r=>e.check(eo(ci,r)),e.guid=r=>e.check(dt(bt,r)),e.uuid=r=>e.check(Hn(de,r)),e.uuidv4=r=>e.check(Xn(de,r)),e.uuidv6=r=>e.check(Kn(de,r)),e.uuidv7=r=>e.check(qn(de,r)),e.nanoid=r=>e.check(to(ui,r)),e.guid=r=>e.check(dt(bt,r)),e.cuid=r=>e.check(ro(li,r)),e.cuid2=r=>e.check(no(di,r)),e.ulid=r=>e.check(oo(fi,r)),e.base64=r=>e.check(fo(wi,r)),e.base64url=r=>e.check(po(_i,r)),e.xid=r=>e.check(io(pi,r)),e.ksuid=r=>e.check(ao(hi,r)),e.ipv4=r=>e.check(so(mi,r)),e.ipv6=r=>e.check(co(gi,r)),e.cidrv4=r=>e.check(uo(vi,r)),e.cidrv6=r=>e.check(lo(bi,r)),e.e164=r=>e.check(ho(ki,r)),e.datetime=r=>e.check(Fo(r)),e.date=r=>e.check(Mo(r)),e.time=r=>e.check(Wo(r)),e.duration=r=>e.check(Yo(r))});function le(e){return Jn(ii,e)}const k=s("ZodStringFormat",(e,t)=>{_.init(e,t),vt.init(e,t)}),ai=s("ZodEmail",(e,t)=>{tn.init(e,t),k.init(e,t)}),bt=s("ZodGUID",(e,t)=>{Qr.init(e,t),k.init(e,t)}),de=s("ZodUUID",(e,t)=>{en.init(e,t),k.init(e,t)}),si=s("ZodURL",(e,t)=>{rn.init(e,t),k.init(e,t)}),ci=s("ZodEmoji",(e,t)=>{nn.init(e,t),k.init(e,t)}),ui=s("ZodNanoID",(e,t)=>{on.init(e,t),k.init(e,t)}),li=s("ZodCUID",(e,t)=>{an.init(e,t),k.init(e,t)}),di=s("ZodCUID2",(e,t)=>{sn.init(e,t),k.init(e,t)}),fi=s("ZodULID",(e,t)=>{cn.init(e,t),k.init(e,t)}),pi=s("ZodXID",(e,t)=>{un.init(e,t),k.init(e,t)}),hi=s("ZodKSUID",(e,t)=>{ln.init(e,t),k.init(e,t)}),mi=s("ZodIPv4",(e,t)=>{mn.init(e,t),k.init(e,t)}),gi=s("ZodIPv6",(e,t)=>{gn.init(e,t),k.init(e,t)}),vi=s("ZodCIDRv4",(e,t)=>{vn.init(e,t),k.init(e,t)}),bi=s("ZodCIDRv6",(e,t)=>{bn.init(e,t),k.init(e,t)}),wi=s("ZodBase64",(e,t)=>{wn.init(e,t),k.init(e,t)}),_i=s("ZodBase64URL",(e,t)=>{kn.init(e,t),k.init(e,t)}),ki=s("ZodE164",(e,t)=>{yn.init(e,t),k.init(e,t)}),yi=s("ZodJWT",(e,t)=>{zn.init(e,t),k.init(e,t)}),wt=s("ZodNumber",(e,t)=>{et.init(e,t),Z.init(e,t),e.gt=(n,o)=>e.check(pt(n,o)),e.gte=(n,o)=>e.check(xe(n,o)),e.min=(n,o)=>e.check(xe(n,o)),e.lt=(n,o)=>e.check(ft(n,o)),e.lte=(n,o)=>e.check(ye(n,o)),e.max=(n,o)=>e.check(ye(n,o)),e.int=n=>e.check(kt(n)),e.safe=n=>e.check(kt(n)),e.positive=n=>e.check(pt(0,n)),e.nonnegative=n=>e.check(xe(0,n)),e.negative=n=>e.check(ft(0,n)),e.nonpositive=n=>e.check(ye(0,n)),e.multipleOf=(n,o)=>e.check(ht(n,o)),e.step=(n,o)=>e.check(ht(n,o)),e.finite=()=>e;const r=e._zod.bag;e.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),e.isFinite=!0,e.format=r.format??null});function _t(e){return _o(wt,e)}const xi=s("ZodNumberFormat",(e,t)=>{Zn.init(e,t),wt.init(e,t)});function kt(e){return ko(xi,e)}const zi=s("ZodBoolean",(e,t)=>{En.init(e,t),Z.init(e,t)});function yt(e){return yo(zi,e)}const Zi=s("ZodUnknown",(e,t)=>{$n.init(e,t),Z.init(e,t)});function xt(){return xo(Zi)}const Ei=s("ZodNever",(e,t)=>{Tn.init(e,t),Z.init(e,t)});function $i(e){return zo(Ei,e)}const Ti=s("ZodArray",(e,t)=>{jn.init(e,t),Z.init(e,t),e.element=t.element,e.min=(r,n)=>e.check(ue(r,n)),e.nonempty=r=>e.check(ue(1,r)),e.max=(r,n)=>e.check(mt(r,n)),e.length=(r,n)=>e.check(gt(r,n)),e.unwrap=()=>e.element});function ji(e,t){return Po(Ti,e,t)}const Ai=s("ZodObject",(e,t)=>{In.init(e,t),Z.init(e,t),w(e,"shape",()=>t.shape),e.keyof=()=>Ee(Object.keys(e._zod.def.shape)),e.catchall=r=>e.clone({...e._zod.def,catchall:r}),e.passthrough=()=>e.clone({...e._zod.def,catchall:xt()}),e.loose=()=>e.clone({...e._zod.def,catchall:xt()}),e.strict=()=>e.clone({...e._zod.def,catchall:$i()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=r=>Ht(e,r),e.safeExtend=r=>Xt(e,r),e.merge=r=>Kt(e,r),e.pick=r=>Jt(e,r),e.omit=r=>Gt(e,r),e.partial=(...r)=>qt(zt,e,r[0]),e.required=(...r)=>Qt($t,e,r[0])});function ze(e,t){const r={type:"object",shape:e??{},...p(t)};return new Ai(r)}const Ii=s("ZodUnion",(e,t)=>{Sn.init(e,t),Z.init(e,t),e.options=t.options});function Si(e,t){return new Ii({type:"union",options:e,...p(t)})}const Ci=s("ZodIntersection",(e,t)=>{Cn.init(e,t),Z.init(e,t)});function Oi(e,t){return new Ci({type:"intersection",left:e,right:t})}const Ze=s("ZodEnum",(e,t)=>{On.init(e,t),Z.init(e,t),e.enum=t.entries,e.options=Object.values(t.entries);const r=new Set(Object.keys(t.entries));e.extract=(n,o)=>{const i={};for(const a of n)if(r.has(a))i[a]=t.entries[a];else throw new Error(`Key ${a} not found in enum`);return new Ze({...t,checks:[],...p(o),entries:i})},e.exclude=(n,o)=>{const i={...t.entries};for(const a of n)if(r.has(a))delete i[a];else throw new Error(`Key ${a} not found in enum`);return new Ze({...t,checks:[],...p(o),entries:i})}});function Ee(e,t){const r=Array.isArray(e)?Object.fromEntries(e.map(n=>[n,n])):e;return new Ze({type:"enum",entries:r,...p(t)})}const Pi=s("ZodTransform",(e,t)=>{Pn.init(e,t),Z.init(e,t),e._zod.parse=(r,n)=>{if(n.direction==="backward")throw new Re(e.constructor.name);r.addIssue=i=>{if(typeof i=="string")r.issues.push(K(i,r.value,t));else{const a=i;a.fatal&&(a.continue=!1),a.code??(a.code="custom"),a.input??(a.input=r.value),a.inst??(a.inst=e),r.issues.push(K(a))}};const o=t.transform(r.value,r);return o instanceof Promise?o.then(i=>(r.value=i,r)):(r.value=o,r)}});function Ri(e){return new Pi({type:"transform",transform:e})}const zt=s("ZodOptional",(e,t)=>{Rn.init(e,t),Z.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Zt(e){return new zt({type:"optional",innerType:e})}const Ni=s("ZodNullable",(e,t)=>{Nn.init(e,t),Z.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Et(e){return new Ni({type:"nullable",innerType:e})}const Di=s("ZodDefault",(e,t)=>{Dn.init(e,t),Z.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Ui(e,t){return new Di({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():Le(t)}})}const Fi=s("ZodPrefault",(e,t)=>{Un.init(e,t),Z.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Li(e,t){return new Fi({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():Le(t)}})}const $t=s("ZodNonOptional",(e,t)=>{Fn.init(e,t),Z.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Mi(e,t){return new $t({type:"nonoptional",innerType:e,...p(t)})}const Vi=s("ZodCatch",(e,t)=>{Ln.init(e,t),Z.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Wi(e,t){return new Vi({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}const Bi=s("ZodPipe",(e,t)=>{Mn.init(e,t),Z.init(e,t),e.in=t.in,e.out=t.out});function Tt(e,t){return new Bi({type:"pipe",in:e,out:t})}const Yi=s("ZodReadonly",(e,t)=>{Vn.init(e,t),Z.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Ji(e){return new Yi({type:"readonly",innerType:e})}const Gi=s("ZodCustom",(e,t)=>{Wn.init(e,t),Z.init(e,t)});function Hi(e,t={}){return Ro(Gi,e,t)}function Xi(e){return No(e)}const Ki=ze({title:le().min(1,"Title is required").max(200,"Title too long"),content:le().min(1,"Content is required"),format:Ee(["html","markdown"]).default("html"),metadata:ze({createdAt:le().datetime(),updatedAt:le().datetime(),wordCount:_t().min(0),characterCount:_t().min(0)}).optional()});ze({includeStyles:yt().default(!0),includeMeta:yt().default(!0),format:Ee(["html","txt"]).default("html")});const jt=(e="")=>{const[t,r]=j.useState({content:e,title:"Untitled Document",wordCount:e.trim()?e.trim().split(/\s+/).length:0,characterCount:e.length,hasUnsavedChanges:!1}),n=j.useRef(null);j.useEffect(()=>{n.current&&e!==t.content&&(n.current.innerHTML=e,r(l=>({...l,content:e,wordCount:e.trim()?e.trim().split(/\s+/).length:0,characterCount:e.length})))},[e]);const o=j.useCallback(l=>{const v=l.trim()?l.trim().split(/\s+/).length:0,h=l.length;r(b=>({...b,content:l,wordCount:v,characterCount:h,hasUnsavedChanges:!0}))},[]),i=j.useCallback(l=>{r(v=>({...v,title:l,hasUnsavedChanges:!0}))},[]),a=j.useCallback((l,v)=>{document.execCommand(l,!1,v),n.current?.focus()},[]),c=j.useCallback(()=>{try{return{success:!0,data:Ki.parse({title:t.title,content:t.content,metadata:{createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),wordCount:t.wordCount,characterCount:t.characterCount}})}}catch(l){return{success:!1,error:l instanceof Error?l.message:"Validation failed"}}},[t]),f=j.useCallback((l={includeStyles:!0,includeMeta:!0})=>{const v=c();if(!v.success)throw new Error(v.error);const{data:h}=v;let b=`<!DOCTYPE html>
|
|
43
|
+
`)}l.write("payload.value = newResult;"),l.write("return payload;");const O=l.compile();return(N,A)=>O(g,N,A)};let i;const a=re,c=!Le.jitless,d=c&&Yt.value,f=t.catchall;let b;e._zod.parse=(g,l)=>{b??(b=r.value);const w=g.value;return a(w)?c&&d&&l?.async===!1&&l.jitless!==!0?(i||(i=o(t.shape)),g=i(g,l),f?at([],w,g,l,b,e):g):n(g,l):(g.issues.push({expected:"object",code:"invalid_type",input:w,inst:e}),g)}});function ct(e,t,n,r){for(const i of e)if(i.issues.length===0)return t.value=i.value,t;const o=e.filter(i=>!H(i));return o.length===1?(t.value=o[0].value,o[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map(i=>i.issues.map(a=>Y(a,r,V())))}),t)}const Nr=s("$ZodUnion",(e,t)=>{E.init(e,t),_(e._zod,"optin",()=>t.options.some(o=>o._zod.optin==="optional")?"optional":void 0),_(e._zod,"optout",()=>t.options.some(o=>o._zod.optout==="optional")?"optional":void 0),_(e._zod,"values",()=>{if(t.options.every(o=>o._zod.values))return new Set(t.options.flatMap(o=>Array.from(o._zod.values)))}),_(e._zod,"pattern",()=>{if(t.options.every(o=>o._zod.pattern)){const o=t.options.map(i=>i._zod.pattern);return new RegExp(`^(${o.map(i=>_e(i.source)).join("|")})$`)}});const n=t.options.length===1,r=t.options[0]._zod.run;e._zod.parse=(o,i)=>{if(n)return r(o,i);let a=!1;const c=[];for(const h of t.options){const d=h._zod.run({value:o.value,issues:[]},i);if(d instanceof Promise)c.push(d),a=!0;else{if(d.issues.length===0)return d;c.push(d)}}return a?Promise.all(c).then(h=>ct(h,o,e,i)):ct(c,o,e,i)}}),Pr=s("$ZodIntersection",(e,t)=>{E.init(e,t),e._zod.parse=(n,r)=>{const o=n.value,i=t.left._zod.run({value:o,issues:[]},r),a=t.right._zod.run({value:o,issues:[]},r);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([h,d])=>st(n,h,d)):st(n,i,a)}});function Ee(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(Q(e)&&Q(t)){const n=Object.keys(t),r=Object.keys(e).filter(i=>n.indexOf(i)!==-1),o={...e,...t};for(const i of r){const a=Ee(e[i],t[i]);if(!a.valid)return{valid:!1,mergeErrorPath:[i,...a.mergeErrorPath]};o[i]=a.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};const n=[];for(let r=0;r<e.length;r++){const o=e[r],i=t[r],a=Ee(o,i);if(!a.valid)return{valid:!1,mergeErrorPath:[r,...a.mergeErrorPath]};n.push(a.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function st(e,t,n){if(t.issues.length&&e.issues.push(...t.issues),n.issues.length&&e.issues.push(...n.issues),H(e))return e;const r=Ee(t.value,n.value);if(!r.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(r.mergeErrorPath)}`);return e.value=r.data,e}const Rr=s("$ZodEnum",(e,t)=>{E.init(e,t);const n=Wt(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=new RegExp(`^(${n.filter(o=>Jt.has(typeof o)).map(o=>typeof o=="string"?oe(o):o.toString()).join("|")})$`),e._zod.parse=(o,i)=>{const a=o.value;return r.has(a)||o.issues.push({code:"invalid_value",values:n,input:a,inst:e}),o}}),Dr=s("$ZodTransform",(e,t)=>{E.init(e,t),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new Ue(e.constructor.name);const o=t.transform(n.value,n);if(r.async)return(o instanceof Promise?o:Promise.resolve(o)).then(a=>(n.value=a,n));if(o instanceof Promise)throw new G;return n.value=o,n}});function ut(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}const Ur=s("$ZodOptional",(e,t)=>{E.init(e,t),e._zod.optin="optional",e._zod.optout="optional",_(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),_(e._zod,"pattern",()=>{const n=t.innerType._zod.pattern;return n?new RegExp(`^(${_e(n.source)})?$`):void 0}),e._zod.parse=(n,r)=>{if(t.innerType._zod.optin==="optional"){const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(i=>ut(i,n.value)):ut(o,n.value)}return n.value===void 0?n:t.innerType._zod.run(n,r)}}),Lr=s("$ZodNullable",(e,t)=>{E.init(e,t),_(e._zod,"optin",()=>t.innerType._zod.optin),_(e._zod,"optout",()=>t.innerType._zod.optout),_(e._zod,"pattern",()=>{const n=t.innerType._zod.pattern;return n?new RegExp(`^(${_e(n.source)}|null)$`):void 0}),_(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(n,r)=>n.value===null?n:t.innerType._zod.run(n,r)}),Fr=s("$ZodDefault",(e,t)=>{E.init(e,t),e._zod.optin="optional",_(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);if(n.value===void 0)return n.value=t.defaultValue,n;const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(i=>lt(i,t)):lt(o,t)}});function lt(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const Mr=s("$ZodPrefault",(e,t)=>{E.init(e,t),e._zod.optin="optional",_(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>(r.direction==="backward"||n.value===void 0&&(n.value=t.defaultValue),t.innerType._zod.run(n,r))}),Vr=s("$ZodNonOptional",(e,t)=>{E.init(e,t),_(e._zod,"values",()=>{const n=t.innerType._zod.values;return n?new Set([...n].filter(r=>r!==void 0)):void 0}),e._zod.parse=(n,r)=>{const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(i=>dt(i,e)):dt(o,e)}});function dt(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}const Wr=s("$ZodCatch",(e,t)=>{E.init(e,t),_(e._zod,"optin",()=>t.innerType._zod.optin),_(e._zod,"optout",()=>t.innerType._zod.optout),_(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(i=>(n.value=i.value,i.issues.length&&(n.value=t.catchValue({...n,error:{issues:i.issues.map(a=>Y(a,r,V()))},input:n.value}),n.issues=[]),n)):(n.value=o.value,o.issues.length&&(n.value=t.catchValue({...n,error:{issues:o.issues.map(i=>Y(i,r,V()))},input:n.value}),n.issues=[]),n)}}),Br=s("$ZodPipe",(e,t)=>{E.init(e,t),_(e._zod,"values",()=>t.in._zod.values),_(e._zod,"optin",()=>t.in._zod.optin),_(e._zod,"optout",()=>t.out._zod.optout),_(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(n,r)=>{if(r.direction==="backward"){const i=t.out._zod.run(n,r);return i instanceof Promise?i.then(a=>le(a,t.in,r)):le(i,t.in,r)}const o=t.in._zod.run(n,r);return o instanceof Promise?o.then(i=>le(i,t.out,r)):le(o,t.out,r)}});function le(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}const Yr=s("$ZodReadonly",(e,t)=>{E.init(e,t),_(e._zod,"propValues",()=>t.innerType._zod.propValues),_(e._zod,"values",()=>t.innerType._zod.values),_(e._zod,"optin",()=>t.innerType._zod.optin),_(e._zod,"optout",()=>t.innerType._zod.optout),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(ht):ht(o)}});function ht(e){return e.value=Object.freeze(e.value),e}const Jr=s("$ZodCustom",(e,t)=>{S.init(e,t),E.init(e,t),e._zod.parse=(n,r)=>n,e._zod.check=n=>{const r=n.value,o=t.fn(r);if(o instanceof Promise)return o.then(i=>ft(i,n,r,e));ft(o,n,r,e)}});function ft(e,t,n,r){if(!e){const o={code:"custom",input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(o.params=r._zod.def.params),t.issues.push(ee(o))}}class Gr{constructor(){this._map=new WeakMap,this._idmap=new Map}add(t,...n){const r=n[0];if(this._map.set(t,r),r&&typeof r=="object"&&"id"in r){if(this._idmap.has(r.id))throw new Error(`ID ${r.id} already exists in the registry`);this._idmap.set(r.id,t)}return this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(t){const n=this._map.get(t);return n&&typeof n=="object"&&"id"in n&&this._idmap.delete(n.id),this._map.delete(t),this}get(t){const n=t._zod.parent;if(n){const r={...this.get(n)??{}};delete r.id;const o={...r,...this._map.get(t)};return Object.keys(o).length?o:void 0}return this._map.get(t)}has(t){return this._map.has(t)}}function Hr(){return new Gr}const de=Hr();function Xr(e,t){return new e({type:"string",...p(t)})}function Kr(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...p(t)})}function pt(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...p(t)})}function qr(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...p(t)})}function Qr(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...p(t)})}function eo(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...p(t)})}function to(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...p(t)})}function no(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...p(t)})}function ro(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...p(t)})}function oo(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...p(t)})}function io(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...p(t)})}function ao(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...p(t)})}function co(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...p(t)})}function so(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...p(t)})}function uo(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...p(t)})}function lo(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...p(t)})}function ho(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...p(t)})}function fo(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...p(t)})}function po(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...p(t)})}function mo(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...p(t)})}function go(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...p(t)})}function vo(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...p(t)})}function bo(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...p(t)})}function wo(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...p(t)})}function _o(e,t){return new e({type:"string",format:"date",check:"string_format",...p(t)})}function ko(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...p(t)})}function yo(e,t){return new e({type:"string",format:"duration",check:"string_format",...p(t)})}function xo(e,t){return new e({type:"number",checks:[],...p(t)})}function zo(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...p(t)})}function Eo(e,t){return new e({type:"boolean",...p(t)})}function Zo(e){return new e({type:"unknown"})}function $o(e,t){return new e({type:"never",...p(t)})}function mt(e,t){return new et({check:"less_than",...p(t),value:e,inclusive:!1})}function Ze(e,t){return new et({check:"less_than",...p(t),value:e,inclusive:!0})}function gt(e,t){return new tt({check:"greater_than",...p(t),value:e,inclusive:!1})}function $e(e,t){return new tt({check:"greater_than",...p(t),value:e,inclusive:!0})}function vt(e,t){return new Vn({check:"multiple_of",...p(t),value:e})}function bt(e,t){return new Bn({check:"max_length",...p(t),maximum:e})}function he(e,t){return new Yn({check:"min_length",...p(t),minimum:e})}function wt(e,t){return new Jn({check:"length_equals",...p(t),length:e})}function To(e,t){return new Gn({check:"string_format",format:"regex",...p(t),pattern:e})}function jo(e){return new Hn({check:"string_format",format:"lowercase",...p(e)})}function Co(e){return new Xn({check:"string_format",format:"uppercase",...p(e)})}function Ao(e,t){return new Kn({check:"string_format",format:"includes",...p(t),includes:e})}function So(e,t){return new qn({check:"string_format",format:"starts_with",...p(t),prefix:e})}function Io(e,t){return new Qn({check:"string_format",format:"ends_with",...p(t),suffix:e})}function te(e){return new er({check:"overwrite",tx:e})}function Oo(e){return te(t=>t.normalize(e))}function No(){return te(e=>e.trim())}function Po(){return te(e=>e.toLowerCase())}function Ro(){return te(e=>e.toUpperCase())}function Do(e,t,n){return new e({type:"array",element:t,...p(n)})}function Uo(e,t,n){return new e({type:"custom",check:"custom",fn:t,...p(n)})}function Lo(e){const t=Fo(n=>(n.addIssue=r=>{if(typeof r=="string")n.issues.push(ee(r,n.value,t._zod.def));else{const o=r;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=n.value),o.inst??(o.inst=t),o.continue??(o.continue=!t._zod.def.abort),n.issues.push(ee(o))}},e(n.value,n)));return t}function Fo(e,t){const n=new S({check:"custom",...p(t)});return n._zod.check=e,n}const Mo=s("ZodISODateTime",(e,t)=>{pr.init(e,t),x.init(e,t)});function Vo(e){return wo(Mo,e)}const Wo=s("ZodISODate",(e,t)=>{mr.init(e,t),x.init(e,t)});function Bo(e){return _o(Wo,e)}const Yo=s("ZodISOTime",(e,t)=>{gr.init(e,t),x.init(e,t)});function Jo(e){return ko(Yo,e)}const Go=s("ZodISODuration",(e,t)=>{vr.init(e,t),x.init(e,t)});function Ho(e){return yo(Go,e)}const P=s("ZodError",(e,t)=>{Je.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:n=>on(e,n)},flatten:{value:n=>rn(e,n)},addIssue:{value:n=>{e.issues.push(n),e.message=JSON.stringify(e.issues,ve,2)}},addIssues:{value:n=>{e.issues.push(...n),e.message=JSON.stringify(e.issues,ve,2)}},isEmpty:{get(){return e.issues.length===0}}})},{Parent:Error}),Xo=ye(P),Ko=xe(P),qo=ae(P),Qo=ce(P),ei=sn(P),ti=un(P),ni=ln(P),ri=dn(P),oi=hn(P),ii=fn(P),ai=pn(P),ci=mn(P),$=s("ZodType",(e,t)=>(E.init(e,t),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.check=(...n)=>e.clone(B(t,{checks:[...t.checks??[],...n.map(r=>typeof r=="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]})),e.clone=(n,r)=>F(e,n,r),e.brand=()=>e,e.register=((n,r)=>(n.add(e,r),e)),e.parse=(n,r)=>Xo(e,n,r,{callee:e.parse}),e.safeParse=(n,r)=>qo(e,n,r),e.parseAsync=async(n,r)=>Ko(e,n,r,{callee:e.parseAsync}),e.safeParseAsync=async(n,r)=>Qo(e,n,r),e.spa=e.safeParseAsync,e.encode=(n,r)=>ei(e,n,r),e.decode=(n,r)=>ti(e,n,r),e.encodeAsync=async(n,r)=>ni(e,n,r),e.decodeAsync=async(n,r)=>ri(e,n,r),e.safeEncode=(n,r)=>oi(e,n,r),e.safeDecode=(n,r)=>ii(e,n,r),e.safeEncodeAsync=async(n,r)=>ai(e,n,r),e.safeDecodeAsync=async(n,r)=>ci(e,n,r),e.refine=(n,r)=>e.check(qi(n,r)),e.superRefine=n=>e.check(Qi(n)),e.overwrite=n=>e.check(te(n)),e.optional=()=>Tt(e),e.nullable=()=>jt(e),e.nullish=()=>Tt(jt(e)),e.nonoptional=n=>Bi(e,n),e.array=()=>Si(e),e.or=n=>Ni([e,n]),e.and=n=>Ri(e,n),e.transform=n=>At(e,Ui(n)),e.default=n=>Mi(e,n),e.prefault=n=>Wi(e,n),e.catch=n=>Ji(e,n),e.pipe=n=>At(e,n),e.readonly=()=>Xi(e),e.describe=n=>{const r=e.clone();return de.add(r,{description:n}),r},Object.defineProperty(e,"description",{get(){return de.get(e)?.description},configurable:!0}),e.meta=(...n)=>{if(n.length===0)return de.get(e);const r=e.clone();return de.add(r,n[0]),r},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e)),_t=s("_ZodString",(e,t)=>{ze.init(e,t),$.init(e,t);const n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...r)=>e.check(To(...r)),e.includes=(...r)=>e.check(Ao(...r)),e.startsWith=(...r)=>e.check(So(...r)),e.endsWith=(...r)=>e.check(Io(...r)),e.min=(...r)=>e.check(he(...r)),e.max=(...r)=>e.check(bt(...r)),e.length=(...r)=>e.check(wt(...r)),e.nonempty=(...r)=>e.check(he(1,...r)),e.lowercase=r=>e.check(jo(r)),e.uppercase=r=>e.check(Co(r)),e.trim=()=>e.check(No()),e.normalize=(...r)=>e.check(Oo(...r)),e.toLowerCase=()=>e.check(Po()),e.toUpperCase=()=>e.check(Ro())}),si=s("ZodString",(e,t)=>{ze.init(e,t),_t.init(e,t),e.email=n=>e.check(Kr(ui,n)),e.url=n=>e.check(no(li,n)),e.jwt=n=>e.check(bo(Ei,n)),e.emoji=n=>e.check(ro(di,n)),e.guid=n=>e.check(pt(kt,n)),e.uuid=n=>e.check(qr(pe,n)),e.uuidv4=n=>e.check(Qr(pe,n)),e.uuidv6=n=>e.check(eo(pe,n)),e.uuidv7=n=>e.check(to(pe,n)),e.nanoid=n=>e.check(oo(hi,n)),e.guid=n=>e.check(pt(kt,n)),e.cuid=n=>e.check(io(fi,n)),e.cuid2=n=>e.check(ao(pi,n)),e.ulid=n=>e.check(co(mi,n)),e.base64=n=>e.check(mo(yi,n)),e.base64url=n=>e.check(go(xi,n)),e.xid=n=>e.check(so(gi,n)),e.ksuid=n=>e.check(uo(vi,n)),e.ipv4=n=>e.check(lo(bi,n)),e.ipv6=n=>e.check(ho(wi,n)),e.cidrv4=n=>e.check(fo(_i,n)),e.cidrv6=n=>e.check(po(ki,n)),e.e164=n=>e.check(vo(zi,n)),e.datetime=n=>e.check(Vo(n)),e.date=n=>e.check(Bo(n)),e.time=n=>e.check(Jo(n)),e.duration=n=>e.check(Ho(n))});function fe(e){return Xr(si,e)}const x=s("ZodStringFormat",(e,t)=>{y.init(e,t),_t.init(e,t)}),ui=s("ZodEmail",(e,t)=>{ir.init(e,t),x.init(e,t)}),kt=s("ZodGUID",(e,t)=>{rr.init(e,t),x.init(e,t)}),pe=s("ZodUUID",(e,t)=>{or.init(e,t),x.init(e,t)}),li=s("ZodURL",(e,t)=>{ar.init(e,t),x.init(e,t)}),di=s("ZodEmoji",(e,t)=>{cr.init(e,t),x.init(e,t)}),hi=s("ZodNanoID",(e,t)=>{sr.init(e,t),x.init(e,t)}),fi=s("ZodCUID",(e,t)=>{ur.init(e,t),x.init(e,t)}),pi=s("ZodCUID2",(e,t)=>{lr.init(e,t),x.init(e,t)}),mi=s("ZodULID",(e,t)=>{dr.init(e,t),x.init(e,t)}),gi=s("ZodXID",(e,t)=>{hr.init(e,t),x.init(e,t)}),vi=s("ZodKSUID",(e,t)=>{fr.init(e,t),x.init(e,t)}),bi=s("ZodIPv4",(e,t)=>{br.init(e,t),x.init(e,t)}),wi=s("ZodIPv6",(e,t)=>{wr.init(e,t),x.init(e,t)}),_i=s("ZodCIDRv4",(e,t)=>{_r.init(e,t),x.init(e,t)}),ki=s("ZodCIDRv6",(e,t)=>{kr.init(e,t),x.init(e,t)}),yi=s("ZodBase64",(e,t)=>{yr.init(e,t),x.init(e,t)}),xi=s("ZodBase64URL",(e,t)=>{zr.init(e,t),x.init(e,t)}),zi=s("ZodE164",(e,t)=>{Er.init(e,t),x.init(e,t)}),Ei=s("ZodJWT",(e,t)=>{$r.init(e,t),x.init(e,t)}),yt=s("ZodNumber",(e,t)=>{rt.init(e,t),$.init(e,t),e.gt=(r,o)=>e.check(gt(r,o)),e.gte=(r,o)=>e.check($e(r,o)),e.min=(r,o)=>e.check($e(r,o)),e.lt=(r,o)=>e.check(mt(r,o)),e.lte=(r,o)=>e.check(Ze(r,o)),e.max=(r,o)=>e.check(Ze(r,o)),e.int=r=>e.check(zt(r)),e.safe=r=>e.check(zt(r)),e.positive=r=>e.check(gt(0,r)),e.nonnegative=r=>e.check($e(0,r)),e.negative=r=>e.check(mt(0,r)),e.nonpositive=r=>e.check(Ze(0,r)),e.multipleOf=(r,o)=>e.check(vt(r,o)),e.step=(r,o)=>e.check(vt(r,o)),e.finite=()=>e;const n=e._zod.bag;e.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function xt(e){return xo(yt,e)}const Zi=s("ZodNumberFormat",(e,t)=>{Tr.init(e,t),yt.init(e,t)});function zt(e){return zo(Zi,e)}const $i=s("ZodBoolean",(e,t)=>{jr.init(e,t),$.init(e,t)});function Et(e){return Eo($i,e)}const Ti=s("ZodUnknown",(e,t)=>{Cr.init(e,t),$.init(e,t)});function Zt(){return Zo(Ti)}const ji=s("ZodNever",(e,t)=>{Ar.init(e,t),$.init(e,t)});function Ci(e){return $o(ji,e)}const Ai=s("ZodArray",(e,t)=>{Sr.init(e,t),$.init(e,t),e.element=t.element,e.min=(n,r)=>e.check(he(n,r)),e.nonempty=n=>e.check(he(1,n)),e.max=(n,r)=>e.check(bt(n,r)),e.length=(n,r)=>e.check(wt(n,r)),e.unwrap=()=>e.element});function Si(e,t){return Do(Ai,e,t)}const Ii=s("ZodObject",(e,t)=>{Or.init(e,t),$.init(e,t),_(e,"shape",()=>t.shape),e.keyof=()=>Ce(Object.keys(e._zod.def.shape)),e.catchall=n=>e.clone({...e._zod.def,catchall:n}),e.passthrough=()=>e.clone({...e._zod.def,catchall:Zt()}),e.loose=()=>e.clone({...e._zod.def,catchall:Zt()}),e.strict=()=>e.clone({...e._zod.def,catchall:Ci()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=n=>qt(e,n),e.safeExtend=n=>Qt(e,n),e.merge=n=>en(e,n),e.pick=n=>Xt(e,n),e.omit=n=>Kt(e,n),e.partial=(...n)=>tn($t,e,n[0]),e.required=(...n)=>nn(Ct,e,n[0])});function Te(e,t){const n={type:"object",shape:e??{},...p(t)};return new Ii(n)}const Oi=s("ZodUnion",(e,t)=>{Nr.init(e,t),$.init(e,t),e.options=t.options});function Ni(e,t){return new Oi({type:"union",options:e,...p(t)})}const Pi=s("ZodIntersection",(e,t)=>{Pr.init(e,t),$.init(e,t)});function Ri(e,t){return new Pi({type:"intersection",left:e,right:t})}const je=s("ZodEnum",(e,t)=>{Rr.init(e,t),$.init(e,t),e.enum=t.entries,e.options=Object.values(t.entries);const n=new Set(Object.keys(t.entries));e.extract=(r,o)=>{const i={};for(const a of r)if(n.has(a))i[a]=t.entries[a];else throw new Error(`Key ${a} not found in enum`);return new je({...t,checks:[],...p(o),entries:i})},e.exclude=(r,o)=>{const i={...t.entries};for(const a of r)if(n.has(a))delete i[a];else throw new Error(`Key ${a} not found in enum`);return new je({...t,checks:[],...p(o),entries:i})}});function Ce(e,t){const n=Array.isArray(e)?Object.fromEntries(e.map(r=>[r,r])):e;return new je({type:"enum",entries:n,...p(t)})}const Di=s("ZodTransform",(e,t)=>{Dr.init(e,t),$.init(e,t),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new Ue(e.constructor.name);n.addIssue=i=>{if(typeof i=="string")n.issues.push(ee(i,n.value,t));else{const a=i;a.fatal&&(a.continue=!1),a.code??(a.code="custom"),a.input??(a.input=n.value),a.inst??(a.inst=e),n.issues.push(ee(a))}};const o=t.transform(n.value,n);return o instanceof Promise?o.then(i=>(n.value=i,n)):(n.value=o,n)}});function Ui(e){return new Di({type:"transform",transform:e})}const $t=s("ZodOptional",(e,t)=>{Ur.init(e,t),$.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Tt(e){return new $t({type:"optional",innerType:e})}const Li=s("ZodNullable",(e,t)=>{Lr.init(e,t),$.init(e,t),e.unwrap=()=>e._zod.def.innerType});function jt(e){return new Li({type:"nullable",innerType:e})}const Fi=s("ZodDefault",(e,t)=>{Fr.init(e,t),$.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Mi(e,t){return new Fi({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():We(t)}})}const Vi=s("ZodPrefault",(e,t)=>{Mr.init(e,t),$.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Wi(e,t){return new Vi({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():We(t)}})}const Ct=s("ZodNonOptional",(e,t)=>{Vr.init(e,t),$.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Bi(e,t){return new Ct({type:"nonoptional",innerType:e,...p(t)})}const Yi=s("ZodCatch",(e,t)=>{Wr.init(e,t),$.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Ji(e,t){return new Yi({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}const Gi=s("ZodPipe",(e,t)=>{Br.init(e,t),$.init(e,t),e.in=t.in,e.out=t.out});function At(e,t){return new Gi({type:"pipe",in:e,out:t})}const Hi=s("ZodReadonly",(e,t)=>{Yr.init(e,t),$.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Xi(e){return new Hi({type:"readonly",innerType:e})}const Ki=s("ZodCustom",(e,t)=>{Jr.init(e,t),$.init(e,t)});function qi(e,t={}){return Uo(Ki,e,t)}function Qi(e){return Lo(e)}const ea=Te({title:fe().min(1,"Title is required").max(200,"Title too long"),content:fe().min(1,"Content is required"),format:Ce(["html","markdown"]).default("html"),metadata:Te({createdAt:fe().datetime(),updatedAt:fe().datetime(),wordCount:xt().min(0),characterCount:xt().min(0)}).optional()});Te({includeStyles:Et().default(!0),includeMeta:Et().default(!0),format:Ce(["html","txt"]).default("html")});const St=(e="")=>{const[t,n]=k.useState({content:e,title:"Untitled Document",wordCount:e.trim()?e.trim().split(/\s+/).length:0,characterCount:e.length,hasUnsavedChanges:!1}),r=k.useRef(null);k.useEffect(()=>{r.current&&e!==t.content&&(r.current.innerHTML=e,n(f=>({...f,content:e,wordCount:e.trim()?e.trim().split(/\s+/).length:0,characterCount:e.length})))},[e]);const o=k.useCallback(f=>{const b=f.trim()?f.trim().split(/\s+/).length:0,g=f.length;n(l=>({...l,content:f,wordCount:b,characterCount:g,hasUnsavedChanges:!0}))},[]),i=k.useCallback(f=>{n(b=>({...b,title:f,hasUnsavedChanges:!0}))},[]),a=k.useCallback((f,b)=>{document.execCommand(f,!1,b),r.current?.focus()},[]),c=k.useCallback(()=>{try{return{success:!0,data:ea.parse({title:t.title,content:t.content,metadata:{createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),wordCount:t.wordCount,characterCount:t.characterCount}})}}catch(f){return{success:!1,error:f instanceof Error?f.message:"Validation failed"}}},[t]),h=k.useCallback((f={includeStyles:!0,includeMeta:!0})=>{const b=c();if(!b.success)throw new Error(b.error);const{data:g}=b;let l=`<!DOCTYPE html>
|
|
44
44
|
<html>
|
|
45
45
|
<head>
|
|
46
46
|
<meta charset="UTF-8">
|
|
47
47
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
48
|
-
<title>${
|
|
48
|
+
<title>${g?.title}</title>`;return f.includeStyles&&(l+=`
|
|
49
49
|
<style>
|
|
50
50
|
body {
|
|
51
51
|
font-family: Arial, sans-serif;
|
|
@@ -59,18 +59,18 @@ React keys must be passed directly to JSX without using spread:
|
|
|
59
59
|
border-radius: 8px;
|
|
60
60
|
background: white;
|
|
61
61
|
}
|
|
62
|
-
</style>`),
|
|
62
|
+
</style>`),l+=`
|
|
63
63
|
</head>
|
|
64
|
-
<body>`,
|
|
64
|
+
<body>`,f.includeMeta&&(l+=`
|
|
65
65
|
<div class="document-meta">
|
|
66
|
-
<h1>${
|
|
67
|
-
<p><small>Created: ${new Date(
|
|
68
|
-
Words: ${
|
|
69
|
-
Characters: ${
|
|
66
|
+
<h1>${g?.title}</h1>
|
|
67
|
+
<p><small>Created: ${new Date(g?.metadata.createdAt??"").toLocaleString()} |
|
|
68
|
+
Words: ${g?.metadata.wordCount} |
|
|
69
|
+
Characters: ${g?.metadata.characterCount}</small></p>
|
|
70
70
|
<hr>
|
|
71
|
-
</div>`),
|
|
71
|
+
</div>`),l+=`
|
|
72
72
|
<div class="editor-content">
|
|
73
|
-
${
|
|
73
|
+
${g?.content}
|
|
74
74
|
</div>
|
|
75
75
|
</body>
|
|
76
|
-
</html>`,
|
|
76
|
+
</html>`,l},[c]),d=k.useCallback(()=>{n({content:"",title:"Untitled Document",wordCount:0,characterCount:0,hasUnsavedChanges:!1}),r.current&&(r.current.innerHTML="")},[]);return{editorState:t,editorRef:r,updateContent:o,updateTitle:i,executeCommand:a,getValidationResult:c,exportToHTML:h,clearEditor:d}},ta=({initialContent:e="",onSave:t,onExport:n,onChange:r,showButtons:o=!1,showSaveTitle:i=!1,showStatusBar:a=!1})=>{const{editorState:c,editorRef:h,updateContent:d,updateTitle:f,executeCommand:b,getValidationResult:g,exportToHTML:l,clearEditor:w}=St(e),[R,I]=k.useState(!1);k.useEffect(()=>{if(r)try{const Z=l({includeStyles:!1,includeMeta:!1});r(c.content,Z,c.title)}catch{const J=`<!DOCTYPE html><html><body>${c.content}</body></html>`;r(c.content,J,c.title)}},[c.content,c.title,r,l]);const M=k.useCallback(()=>{if(g().success){const J=l();t?.(c.content,J)}else I(!0),setTimeout(()=>I(!1),3e3)},[c.content,g,l,t]),O=k.useCallback(()=>{try{const Z=l();n?.(Z);const J=new Blob([Z],{type:"text/html"}),me=URL.createObjectURL(J),L=document.createElement("a");L.href=me,L.download=`${c.title.replace(/\s+/g,"_")||"document"}.html`,document.body.appendChild(L),L.click(),document.body.removeChild(L),URL.revokeObjectURL(me)}catch(Z){alert("Export failed: "+(Z instanceof Error?Z.message:"Unknown error"))}},[l,c.title,n]),N=k.useCallback(()=>{confirm("Are you sure you want to clear the editor? All unsaved changes will be lost.")&&w()},[w]),A=k.useCallback(Z=>{d(Z)},[d]),U=k.useCallback(Z=>{f(Z)},[f]);return m.jsxs("div",{className:"w-full max-w-6xl mx-auto bg-white rounded-xl shadow-lg overflow-hidden",children:[i&&m.jsxs("div",{className:"p-6 border-b border-gray-200 bg-gray-50",children:[m.jsx("input",{type:"text",className:"w-full bg-transparent text-2xl font-bold text-gray-800 outline-none placeholder-gray-400",value:c.title,onChange:Z=>U(Z.target.value),placeholder:"Document Title"}),R&&m.jsx("div",{className:"text-red-600 text-sm mt-2 animate-fadeIn",children:"Please add content before saving"})]}),m.jsx(Mt,{onCommand:b,onSave:M,onExport:O,showButtons:o,onClear:N,hasUnsavedChanges:c.hasUnsavedChanges}),m.jsx("div",{ref:h,className:"editor-content min-h-[500px] p-8 border-none outline-none resize-none text-gray-700 leading-relaxed prose max-w-none",contentEditable:!0,onInput:Z=>A(Z.currentTarget.innerHTML),onBlur:Z=>A(Z.currentTarget.innerHTML),suppressContentEditableWarning:!0}),a&&m.jsx(Vt,{wordCount:c.wordCount,characterCount:c.characterCount,hasUnsavedChanges:c.hasUnsavedChanges})]})};D.TextEditor=ta,D.useTextEditor=St,Object.defineProperty(D,Symbol.toStringTag,{value:"Module"})}));
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { type EditorContent } from '../schemas/editor.schema';
|
|
2
|
+
interface EditorState {
|
|
3
|
+
content: string;
|
|
4
|
+
title: string;
|
|
5
|
+
wordCount: number;
|
|
6
|
+
characterCount: number;
|
|
7
|
+
hasUnsavedChanges: boolean;
|
|
8
|
+
activeFormats: string[];
|
|
9
|
+
}
|
|
10
|
+
interface EditorActions {
|
|
11
|
+
updateContent: (content: string) => void;
|
|
12
|
+
updateTitle: (title: string) => void;
|
|
13
|
+
setActiveFormats: (formats: string[]) => void;
|
|
14
|
+
clearEditor: () => void;
|
|
15
|
+
setHasUnsavedChanges: (hasChanges: boolean) => void;
|
|
16
|
+
executeCommand: (command: string, value?: string) => void;
|
|
17
|
+
updateActiveFormats: () => void;
|
|
18
|
+
getValidationResult: () => {
|
|
19
|
+
success: boolean;
|
|
20
|
+
data?: EditorContent;
|
|
21
|
+
error?: string;
|
|
22
|
+
};
|
|
23
|
+
exportToHTML: (options?: {
|
|
24
|
+
includeStyles: boolean;
|
|
25
|
+
includeMeta: boolean;
|
|
26
|
+
}) => string;
|
|
27
|
+
initializeContent: (content: string) => void;
|
|
28
|
+
}
|
|
29
|
+
export declare const useEditorStore: import("zustand").UseBoundStore<Omit<import("zustand").StoreApi<EditorState & EditorActions>, "setState" | "persist"> & {
|
|
30
|
+
setState(partial: (EditorState & EditorActions) | Partial<EditorState & EditorActions> | ((state: EditorState & EditorActions) => (EditorState & EditorActions) | Partial<EditorState & EditorActions>), replace?: false | undefined): unknown;
|
|
31
|
+
setState(state: (EditorState & EditorActions) | ((state: EditorState & EditorActions) => EditorState & EditorActions), replace: true): unknown;
|
|
32
|
+
persist: {
|
|
33
|
+
setOptions: (options: Partial<import("zustand/middleware").PersistOptions<EditorState & EditorActions, {
|
|
34
|
+
content: string;
|
|
35
|
+
title: string;
|
|
36
|
+
wordCount: number;
|
|
37
|
+
characterCount: number;
|
|
38
|
+
}, unknown>>) => void;
|
|
39
|
+
clearStorage: () => void;
|
|
40
|
+
rehydrate: () => Promise<void> | void;
|
|
41
|
+
hasHydrated: () => boolean;
|
|
42
|
+
onHydrate: (fn: (state: EditorState & EditorActions) => void) => () => void;
|
|
43
|
+
onFinishHydration: (fn: (state: EditorState & EditorActions) => void) => () => void;
|
|
44
|
+
getOptions: () => Partial<import("zustand/middleware").PersistOptions<EditorState & EditorActions, {
|
|
45
|
+
content: string;
|
|
46
|
+
title: string;
|
|
47
|
+
wordCount: number;
|
|
48
|
+
characterCount: number;
|
|
49
|
+
}, unknown>>;
|
|
50
|
+
};
|
|
51
|
+
}>;
|
|
52
|
+
export {};
|
|
53
|
+
//# sourceMappingURL=editor.store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"editor.store.d.ts","sourceRoot":"","sources":["../../src/store/editor.store.ts"],"names":[],"mappings":"AAGA,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEnF,UAAU,WAAW;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,UAAU,aAAa;IACrB,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC9C,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,oBAAoB,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;IACpD,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,mBAAmB,EAAE,MAAM;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,aAAa,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtF,YAAY,EAAE,CAAC,OAAO,CAAC,EAAE;QAAE,aAAa,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,OAAO,CAAA;KAAE,KAAK,MAAM,CAAC;IACrF,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C;AAgBD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;EA0M1B,CAAC"}
|