@ydesign/react-editor 0.1.5 → 0.1.6

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.css CHANGED
@@ -1,2 +1,2 @@
1
- @layer properties;@layer theme,base,components,utilities;@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-gray-200: oklch(92.8% .006 264.531);--color-gray-500: oklch(55.1% .027 264.364);--color-gray-600: oklch(44.6% .03 256.802);--color-white: #fff;--spacing: .25rem;--text-xs: .75rem;--text-xs--line-height: calc(1 / .75);--text-sm: .875rem;--text-sm--line-height: calc(1.25 / .875);--text-base: 1rem;--text-base--line-height: 1.5 ;--font-weight-semibold: 600;--radius-md: .375rem;--default-font-family: var(--font-sans);--default-mono-font-family: var(--font-mono)}}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;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{font-size:75%;line-height:0;position:relative;vertical-align:baseline}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{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}: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}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:currentcolor;@supports (color: color-mix(in lab,red,red)){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,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-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]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.container{width:100%;@media (width >= 40rem){max-width:40rem}@media (width >= 48rem){max-width:48rem}@media (width >= 64rem){max-width:64rem}@media (width >= 80rem){max-width:80rem}@media (width >= 96rem){max-width:96rem}}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-\[1\.2\%\]{margin-bottom:1.2%}.ml-2{margin-left:calc(var(--spacing) * 2)}.box-border{box-sizing:border-box}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.h-0{height:calc(var(--spacing) * 0)}.h-3{height:calc(var(--spacing) * 3)}.h-\[28px\]{height:28px}.h-\[40px\]{height:40px}.h-full{height:100%}.w-3{width:calc(var(--spacing) * 3)}.w-80{width:calc(var(--spacing) * 80)}.w-\[25\%\]{width:25%}.w-\[70px\]{width:70px}.w-full{width:100%}.flex-shrink-0,.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.content-start{align-content:flex-start}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.rounded-md{border-radius:var(--radius-md)}.border,.border-1{border-style:var(--tw-border-style);border-width:1px}.border-gray-200{border-color:var(--color-gray-200)}.bg-\[\#ecf0f1\]{background-color:#ecf0f1}.bg-\[var\(--sidebar-active-bg\)\]{background-color:var(--sidebar-active-bg)}.fill-white{fill:var(--color-white)}.stroke-gray-200{stroke:var(--color-gray-200)}.px-2{padding-inline:calc(var(--spacing) * 2)}.py-1{padding-block:calc(var(--spacing) * 1)}.pb-\[25\%\]{padding-bottom:25%}.text-left{text-align:left}.text-base{font-size:var(--text-base);line-height:var(--tw-leading, var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading, var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading, var(--text-xs--line-height))}.font-semibold{--tw-font-weight: var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-\[\#616366\]{color:#616366}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.italic{font-style:italic}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.shadow{--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-inner{--tw-shadow: inset 0 2px 4px 0 var(--tw-shadow-color, rgb(0 0 0 / .05));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur: blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.sepia{--tw-sepia: sepia(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.hover\:bg-\[var\(--sidebar-active-bg\)\]{&:hover{@media (hover: hover){background-color:var(--sidebar-active-bg)}}}.hover\:bg-\[var\(--sidebar-hover-bg\)\]{&:hover{@media (hover: hover){background-color:var(--sidebar-hover-bg)}}}.dark\:bg-\[\#92969d\]{@media (prefers-color-scheme: dark){background-color:#92969d}}.dark\:fill-\[\#0b0809\]{@media (prefers-color-scheme: dark){fill:#0b0809}}.dark\:stroke-\[\#0b0809\]{@media (prefers-color-scheme: dark){stroke:#0b0809}}.dark\:text-white{@media (prefers-color-scheme: dark){color:var(--color-white)}}}@property --tw-rotate-x{syntax: "*"; inherits: false;}@property --tw-rotate-y{syntax: "*"; inherits: false;}@property --tw-rotate-z{syntax: "*"; inherits: false;}@property --tw-skew-x{syntax: "*"; inherits: false;}@property --tw-skew-y{syntax: "*"; inherits: false;}@property --tw-border-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-font-weight{syntax: "*"; inherits: false;}@property --tw-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: "*"; inherits: false;}@property --tw-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: "*"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: "*"; inherits: false;}@property --tw-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: "*"; inherits: false;}@property --tw-inset-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: "*"; inherits: false;}@property --tw-ring-offset-width{syntax: "<length>"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: "*"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-outline-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-blur{syntax: "*"; inherits: false;}@property --tw-brightness{syntax: "*"; inherits: false;}@property --tw-contrast{syntax: "*"; inherits: false;}@property --tw-grayscale{syntax: "*"; inherits: false;}@property --tw-hue-rotate{syntax: "*"; inherits: false;}@property --tw-invert{syntax: "*"; inherits: false;}@property --tw-opacity{syntax: "*"; inherits: false;}@property --tw-saturate{syntax: "*"; inherits: false;}@property --tw-sepia{syntax: "*"; inherits: false;}@property --tw-drop-shadow{syntax: "*"; inherits: false;}@property --tw-drop-shadow-color{syntax: "*"; inherits: false;}@property --tw-drop-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-drop-shadow-size{syntax: "*"; inherits: false;}@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-rotate-x: initial;--tw-rotate-y: initial;--tw-rotate-z: initial;--tw-skew-x: initial;--tw-skew-y: initial;--tw-border-style: solid;--tw-font-weight: initial;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-outline-style: solid;--tw-blur: initial;--tw-brightness: initial;--tw-contrast: initial;--tw-grayscale: initial;--tw-hue-rotate: initial;--tw-invert: initial;--tw-opacity: initial;--tw-saturate: initial;--tw-sepia: initial;--tw-drop-shadow: initial;--tw-drop-shadow-color: initial;--tw-drop-shadow-alpha: 100%;--tw-drop-shadow-size: initial}}}
2
- /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */
1
+ @layer properties;@layer theme,base,components,utilities;@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-gray-200: oklch(92.8% .006 264.531);--color-gray-500: oklch(55.1% .027 264.364);--color-gray-600: oklch(44.6% .03 256.802);--color-white: #fff;--spacing: .25rem;--text-xs: .75rem;--text-xs--line-height: calc(1 / .75);--text-sm: .875rem;--text-sm--line-height: calc(1.25 / .875);--text-base: 1rem;--text-base--line-height: 1.5 ;--font-weight-semibold: 600;--radius-md: .375rem;--default-font-family: var(--font-sans);--default-mono-font-family: var(--font-mono)}}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;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{font-size:75%;line-height:0;position:relative;vertical-align:baseline}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{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}: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}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:currentcolor;@supports (color: color-mix(in lab,red,red)){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,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-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]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.container{width:100%;@media(width>=40rem){max-width:40rem}@media(width>=48rem){max-width:48rem}@media(width>=64rem){max-width:64rem}@media(width>=80rem){max-width:80rem}@media(width>=96rem){max-width:96rem}}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-\[1\.2\%\]{margin-bottom:1.2%}.ml-2{margin-left:calc(var(--spacing) * 2)}.box-border{box-sizing:border-box}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.h-0{height:calc(var(--spacing) * 0)}.h-3{height:calc(var(--spacing) * 3)}.h-\[28px\]{height:28px}.h-\[40px\]{height:40px}.h-full{height:100%}.w-3{width:calc(var(--spacing) * 3)}.w-80{width:calc(var(--spacing) * 80)}.w-\[25\%\]{width:25%}.w-\[70px\]{width:70px}.w-full{width:100%}.flex-shrink-0,.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.content-start{align-content:flex-start}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.rounded-md{border-radius:var(--radius-md)}.border,.border-1{border-style:var(--tw-border-style);border-width:1px}.border-gray-200{border-color:var(--color-gray-200)}.bg-\[\#ecf0f1\]{background-color:#ecf0f1}.bg-\[var\(--sidebar-active-bg\)\]{background-color:var(--sidebar-active-bg)}.fill-white{fill:var(--color-white)}.stroke-gray-200{stroke:var(--color-gray-200)}.px-2{padding-inline:calc(var(--spacing) * 2)}.py-1{padding-block:calc(var(--spacing) * 1)}.pb-\[25\%\]{padding-bottom:25%}.text-left{text-align:left}.text-base{font-size:var(--text-base);line-height:var(--tw-leading, var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading, var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading, var(--text-xs--line-height))}.font-semibold{--tw-font-weight: var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-\[\#616366\]{color:#616366}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.italic{font-style:italic}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.shadow{--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-inner{--tw-shadow: inset 0 2px 4px 0 var(--tw-shadow-color, rgb(0 0 0 / .05));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur: blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.sepia{--tw-sepia: sepia(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.hover\:bg-\[var\(--sidebar-active-bg\)\]{&:hover{@media(hover:hover){background-color:var(--sidebar-active-bg)}}}.hover\:bg-\[var\(--sidebar-hover-bg\)\]{&:hover{@media(hover:hover){background-color:var(--sidebar-hover-bg)}}}.dark\:bg-\[\#92969d\]{@media(prefers-color-scheme:dark){background-color:#92969d}}.dark\:fill-\[\#0b0809\]{@media(prefers-color-scheme:dark){fill:#0b0809}}.dark\:stroke-\[\#0b0809\]{@media(prefers-color-scheme:dark){stroke:#0b0809}}.dark\:text-white{@media(prefers-color-scheme:dark){color:var(--color-white)}}}@property --tw-rotate-x{syntax: "*"; inherits: false;}@property --tw-rotate-y{syntax: "*"; inherits: false;}@property --tw-rotate-z{syntax: "*"; inherits: false;}@property --tw-skew-x{syntax: "*"; inherits: false;}@property --tw-skew-y{syntax: "*"; inherits: false;}@property --tw-border-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-font-weight{syntax: "*"; inherits: false;}@property --tw-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: "*"; inherits: false;}@property --tw-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: "*"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: "*"; inherits: false;}@property --tw-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: "*"; inherits: false;}@property --tw-inset-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: "*"; inherits: false;}@property --tw-ring-offset-width{syntax: "<length>"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: "*"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-outline-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-blur{syntax: "*"; inherits: false;}@property --tw-brightness{syntax: "*"; inherits: false;}@property --tw-contrast{syntax: "*"; inherits: false;}@property --tw-grayscale{syntax: "*"; inherits: false;}@property --tw-hue-rotate{syntax: "*"; inherits: false;}@property --tw-invert{syntax: "*"; inherits: false;}@property --tw-opacity{syntax: "*"; inherits: false;}@property --tw-saturate{syntax: "*"; inherits: false;}@property --tw-sepia{syntax: "*"; inherits: false;}@property --tw-drop-shadow{syntax: "*"; inherits: false;}@property --tw-drop-shadow-color{syntax: "*"; inherits: false;}@property --tw-drop-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-drop-shadow-size{syntax: "*"; inherits: false;}@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-rotate-x: initial;--tw-rotate-y: initial;--tw-rotate-z: initial;--tw-skew-x: initial;--tw-skew-y: initial;--tw-border-style: solid;--tw-font-weight: initial;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-outline-style: solid;--tw-blur: initial;--tw-brightness: initial;--tw-contrast: initial;--tw-grayscale: initial;--tw-hue-rotate: initial;--tw-invert: initial;--tw-opacity: initial;--tw-saturate: initial;--tw-sepia: initial;--tw-drop-shadow: initial;--tw-drop-shadow-color: initial;--tw-drop-shadow-alpha: 100%;--tw-drop-shadow-size: initial}}}
2
+ /*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */
package/dist/app.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import * as styled_components_dist_types from 'styled-components/dist/types';
2
+ import * as node_modules_styled_components_dist_types from 'node_modules/styled-components/dist/types';
3
3
  import * as styled_components from 'styled-components';
4
4
  import * as react from 'react';
5
5
 
6
- declare const DesignEditorContainer: styled_components_dist_types.IStyledComponentBase<"web", styled_components.FastOmit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
7
- declare const SidePanelWrap: styled_components_dist_types.IStyledComponentBase<"web", styled_components.FastOmit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
8
- declare const WorkspaceWrap: styled_components_dist_types.IStyledComponentBase<"web", styled_components.FastOmit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
6
+ declare const DesignEditorContainer: node_modules_styled_components_dist_types.IStyledComponentBase<"web", styled_components.FastOmit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
7
+ declare const SidePanelWrap: node_modules_styled_components_dist_types.IStyledComponentBase<"web", styled_components.FastOmit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
8
+ declare const WorkspaceWrap: node_modules_styled_components_dist_types.IStyledComponentBase<"web", styled_components.FastOmit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
9
9
  declare const DesignEditorApp: () => react_jsx_runtime.JSX.Element;
10
10
  declare const createDesignEditorApp: () => void;
11
11
  declare const createDemoApp: () => void;
@@ -0,0 +1 @@
1
+ import{d as P}from"./chunk-VR4OXDJV.js";import{b as v}from"./chunk-YBC2DYJX.js";import{c as d,e as g,f as y,g as f,h as w}from"./chunk-T7KNIGCA.js";import{a}from"./chunk-O2XFH626.js";import*as S from"mobx";import{createContext as b,useContext as j}from"react";import T from"axios";var p=T.create({timeout:16e4});p.interceptors.request.use(r=>{let e=P();return e.token&&(r.headers.Authorization=`Bearer ${e.token}`,r.headers["yitu-workspace-id"]=e.workspaceId),r},r=>Promise.reject(r));p.interceptors.response.use(r=>{let{data:e}=r,t=e?.statusCode??e?.status;if(t!=null){if(t>=200&&t<=201)return e;let o=e?.result?.message||e?.message||"An error occurred";return Promise.reject(new Error(o))}if(r.status>=200&&r.status<300&&e)return e;let s=new Error(e?.message||"An error occurred");return Promise.reject(s)},r=>{let e=r?.response?.data,t=e?.result?.message||e?.message||r.message||"An error occurred";return Promise.reject(new Error(t))});var l=p;var x=r=>{try{return localStorage.getItem(r)}catch{return null}},R=(r,e)=>{try{localStorage.setItem(r,e)}catch{}},m=class{constructor({store:e}){a(this,"saveTimeout",null);a(this,"isOne",!1);a(this,"saving",!1);a(this,"pendingSave",!1);a(this,"store");a(this,"id","");a(this,"type","");a(this,"createEmptyPoster",!1);a(this,"name","");a(this,"user",{});a(this,"skipSaving",!1);a(this,"cloudEnabled",!1);a(this,"status","loading");a(this,"language",x("ydesign-language")||navigator.language||"en");a(this,"designsLength",0);a(this,"urls",{editorUrl:"/design"});S.makeAutoObservable(this),this.store=e,e.on("change",()=>{if(!this.isOne){this.isOne=!0;return}this.requestSave()})}setLanguage(e){this.language=e,R("ydesign-language",e)}requestSave(){this.status="has-changes",!this.saveTimeout&&(this.saveTimeout=setTimeout(()=>{if(this.saveTimeout=null,this.saving){this.pendingSave=!0;return}this.save()},5e3))}async firstLoad(e){if(e)await this.store.loadJSON(e);else{let t=new URL(window.location.href),s=new URLSearchParams(t.search),o=s.get("type")||"",n=s.get("id")||"",i=s.get("createEmptyPoster")||"";this.createEmptyPoster=i==="true",this.type=o,this.id=n,console.log("this.type",this.type),console.log("this.id",this.id),console.log("this.createEmptyPoster",this.createEmptyPoster);try{await this.loadById(n,o)}catch(c){console.error("loadById error",c)}}this.status="save"}async loadById(e,t){if(await new Promise(s=>setTimeout(s,2e3)),e){if(t==="me"){let s=g(e),o=await l.post(s.url,s.data),{content:n,name:i}=o.result;this.name=i,await this.store.loadJSON(n);return}if(t==="record"){let s=y(e),o=await l.get(s.url),{content:n,name:i}=o.result;this.name=i,await this.store.loadJSON(n);return}console.log("\u6CA1\u6709\u5339\u914D\u5230\u7684\u6765\u6E90")}else console.log("\u6CA1\u6709id\u65E0\u6CD5\u83B7\u53D6\u8FDC\u7A0B\u6570\u636E")}updateUrlWithProjectId(e,t){let s=e||this.id,o=t||this.type;if(!s){window.history.replaceState({},"","/");return}let n=new URLSearchParams({id:s,type:o});window.history.replaceState({},"",`${this.urls.editorUrl}?${n.toString()}`)}async save(){if(!this.store.token){console.warn("\u6CA1\u6709\u4F20\u5165token\u65E0\u6CD5\u8FDC\u7A0B\u5B58\u50A8\u6570\u636E"),this.status="saved";return}if(this.saving){this.pendingSave=!0;return}this.saving=!0,this.status="saving";let e=this.store.toJSON();console.log("\u4FDD\u5B58\u7684\u6570\u636E ---> ",e),console.log("\u4FDD\u5B58\u7684\u6587\u4EF6\u540D ---> ",this.name);try{let t=await this.store.toBlob({multiplier:1,format:"jpeg",quality:.8});if(t){console.log("blob",t);let{url:s,width:o,height:n}=await this.uploadFileToCos(t),i={...e,width:o,height:n,thumb:s};if(this.createEmptyPoster){let c=f({thumbnailUrl:s,width:o,height:n,content:i,name:this.name,filename:this.name,sourceResourcesId:crypto.randomUUID()}),u=await l.post(c.url,c.data);if(console.log("recordRes",u.result),u.result){let h=u.result;this.id=h.id,this.type="record",this.createEmptyPoster=!1,this.updateUrlWithProjectId(h.id,"record")}}else if(this.type==="record"){let c=w(this.id,{thumbnailUrl:s,width:o,height:n,content:i,name:this.name});await l.patch(c.url,c.data)}else console.log("\u6CA1\u6709\u4EFB\u4F55\u6765\u6E90\uFF0C\u65E0\u6CD5\u8FDC\u7A0B\u5B58\u50A8")}}catch(t){console.error("save error",t);let s=t instanceof Error?t.message:String(t);alert(`\u4FDD\u5B58\u5931\u8D25\uFF1A${s}`)}this.status="saved",this.saving=!1,this.pendingSave&&(this.pendingSave=!1,this.requestSave())}async getGlobalFont(e){return e?.length?(v(e),e):[]}async uploadFileToCos(e){let t=e instanceof File?e:new File([e],"upload.png",{type:e.type||"image/png"}),s=d(),o=new FormData;return o.append("file",t),o.append("isTemporary","true"),(await l.post(s.url,o,{headers:{"Content-Type":"multipart/form-data"}})).result}},E=b(null),B=()=>{let r=j(E);if(!r)throw new Error("useProject must be used within a ProjectProvider");return r},O=r=>new m(r),L=O;export{l as a,E as b,B as c,O as d,L as e};
@@ -1,4 +1,4 @@
1
- var M=({width:t,height:e,cornerRadius:a=0})=>{if(a>0){let L=Math.min(a,t/2,e/2);return`M 0 ${L} A ${L} ${L} 0 0 1 ${L} 0 L ${t-L} 0 A ${L} ${L} 0 0 1 ${t} ${L} L ${t} ${e-L} A ${L} ${L} 0 0 1 ${t-L} ${e} L ${L} ${e} A ${L} ${L} 0 0 1 0 ${e-L} Z`}return`M 0 0 L ${t} 0 L ${t} ${e} L 0 ${e} Z`},w=({width:t,height:e})=>{let a=t/2,L=e/2;return`M ${a} ${L} m -${a}, 0 a ${a},${L} 0 1,0 ${t},0 a ${a},${L} 0 1,0 -${t},0`};function d({width:t,height:e}){let a=t/2,L=e/2,s=t/2,p=e/2,o=s/2,l=p/2,r="",n=Math.PI/5;for(let i=0;i<10;i++){let c=i%2==0?p:l,x=a+(i%2==0?s:o)*Math.sin(i*n),$=L-c*Math.cos(i*n);i===0?r=`M ${x} ${$}`:r+=` L ${x} ${$}`}return r+" Z"}var u=({width:t,height:e})=>`M ${t/2} 0 L ${t} ${e} L 0 ${e} Z`,g=({width:t,height:e})=>`M 0 0 L ${t} 0 L 0 ${e} Z`;function m({width:t,height:e}){let a=t/2,L=e/2;return`M ${a} 0 L ${t} ${L} L ${a} ${e} L 0 ${L} Z`}function v({width:t,height:e}){let a=t/2,L=e/2,s=t/2,p=e/2,o="",l=2*Math.PI/5;for(let r=0;r<5;r++){let n=p,i=a+s*Math.sin(r*l),c=L-n*Math.cos(r*l);r===0?o=`M ${i} ${c}`:o+=` L ${i} ${c}`}return o+" Z"}function B({width:t,height:e}){let a=t/2,L=e/2,s=t/2,p=e/2,o="",l=2*Math.PI/6;for(let r=0;r<6;r++){let n=p,i=a+s*Math.sin(r*l),c=L-n*Math.cos(r*l);r===0?o=`M ${i} ${c}`:o+=` L ${i} ${c}`}return o+" Z"}function P({width:t,height:e}){let a=.1*Math.min(t,e),L=.2*t,s=.2*e,p=.5*t,o=`M ${a},0`;return o+=" H "+(t-a),o+=` A ${a},${a} 0 0 1 ${t},${a}`,o+=" V "+(e-a-s),o+=` A ${a},${a} 0 0 1 ${t-a},${e-s}`,o+=` H ${p+L/2}`,o+=` L ${p},${e}`,o+=` L ${p-L/2},${e-s}`,o+=` H ${a}`,o+=` A ${a},${a} 0 0 1 0,${e-a-s}`,o+=` V ${a}`,o+=` A ${a},${a} 0 0 1 ${a},0`,o+=" Z",o}function Z({width:t,height:e}){let a=.3*t,L=.3*e,s=t/2,p=e/2,o=s-a/2,l=s+a/2,r=p-L/2,n=p+L/2,i=`M ${o},0 `;return i+=`H ${l} `,i+=`V ${r} `,i+=`H ${t} `,i+=`V ${n} `,i+=`H ${l} `,i+=`V ${e} `,i+=`H ${o} `,i+=`V ${n} `,i+="H 0 ",i+=`V ${r} `,i+=`H ${o} `,i+="V 0 ",i+="Z",i}var A={rect:M,circle:w,star:d,triangle:u,rightTriangle:g,diamond:m,pentagon:v,hexagon:B,speechBubble:P,cross:Z};function R(t){return A[t]||M}function f(t,e){let{width:a,height:L,fill:s,stroke:p,strokeWidth:o,dash:l}=t,r=(l||[]).map($=>$*o),n=e(t),i=1,c=1;typeof n!="string"&&(i=n.scaleX,c=n.scaleY,n=n.path);let x=`clip-${t.id||Math.random()}`;return`
1
+ var M=({width:t,height:e,cornerRadius:a=0})=>{if(a>0){let L=Math.min(a,t/2,e/2);return`M 0 ${L} A ${L} ${L} 0 0 1 ${L} 0 L ${t-L} 0 A ${L} ${L} 0 0 1 ${t} ${L} L ${t} ${e-L} A ${L} ${L} 0 0 1 ${t-L} ${e} L ${L} ${e} A ${L} ${L} 0 0 1 0 ${e-L} Z`}return`M 0 0 L ${t} 0 L ${t} ${e} L 0 ${e} Z`},w=({width:t,height:e})=>{let a=t/2,L=e/2;return`M ${a} ${L} m -${a}, 0 a ${a},${L} 0 1,0 ${t},0 a ${a},${L} 0 1,0 -${t},0`};function d({width:t,height:e}){let a=t/2,L=e/2,s=t/2,p=e/2,o=s/2,l=p/2,r="",n=Math.PI/5;for(let i=0;i<10;i++){let c=i%2==0?p:l,x=a+(i%2==0?s:o)*Math.sin(i*n),$=L-c*Math.cos(i*n);i===0?r=`M ${x} ${$}`:r+=` L ${x} ${$}`}return r+" Z"}var g=({width:t,height:e})=>`M ${t/2} 0 L ${t} ${e} L 0 ${e} Z`,u=({width:t,height:e})=>`M 0 0 L ${t} 0 L 0 ${e} Z`;function m({width:t,height:e}){let a=t/2,L=e/2;return`M ${a} 0 L ${t} ${L} L ${a} ${e} L 0 ${L} Z`}function v({width:t,height:e}){let a=t/2,L=e/2,s=t/2,p=e/2,o="",l=2*Math.PI/5;for(let r=0;r<5;r++){let n=p,i=a+s*Math.sin(r*l),c=L-n*Math.cos(r*l);r===0?o=`M ${i} ${c}`:o+=` L ${i} ${c}`}return o+" Z"}function B({width:t,height:e}){let a=t/2,L=e/2,s=t/2,p=e/2,o="",l=2*Math.PI/6;for(let r=0;r<6;r++){let n=p,i=a+s*Math.sin(r*l),c=L-n*Math.cos(r*l);r===0?o=`M ${i} ${c}`:o+=` L ${i} ${c}`}return o+" Z"}function P({width:t,height:e}){let a=.1*Math.min(t,e),L=.2*t,s=.2*e,p=.5*t,o=`M ${a},0`;return o+=" H "+(t-a),o+=` A ${a},${a} 0 0 1 ${t},${a}`,o+=" V "+(e-a-s),o+=` A ${a},${a} 0 0 1 ${t-a},${e-s}`,o+=` H ${p+L/2}`,o+=` L ${p},${e}`,o+=` L ${p-L/2},${e-s}`,o+=` H ${a}`,o+=` A ${a},${a} 0 0 1 0,${e-a-s}`,o+=` V ${a}`,o+=` A ${a},${a} 0 0 1 ${a},0`,o+=" Z",o}function Z({width:t,height:e}){let a=.3*t,L=.3*e,s=t/2,p=e/2,o=s-a/2,l=s+a/2,r=p-L/2,n=p+L/2,i=`M ${o},0 `;return i+=`H ${l} `,i+=`V ${r} `,i+=`H ${t} `,i+=`V ${n} `,i+=`H ${l} `,i+=`V ${e} `,i+=`H ${o} `,i+=`V ${n} `,i+="H 0 ",i+=`V ${r} `,i+=`H ${o} `,i+="V 0 ",i+="Z",i}var A={rect:M,circle:w,star:d,triangle:g,rightTriangle:u,diamond:m,pentagon:v,hexagon:B,speechBubble:P,cross:Z};function R(t){return A[t]||M}function f(t,e){let{width:a,height:L,fill:s,stroke:p,strokeWidth:o,dash:l}=t,r=(l||[]).map($=>$*o),n=e(t),i=1,c=1;typeof n!="string"&&(i=n.scaleX,c=n.scaleY,n=n.path);let x=`clip-${t.id||Math.random()}`;return`
2
2
  <svg xmlns="http://www.w3.org/2000/svg" width="${a}" height="${L}">
3
3
  <defs>
4
4
  <clipPath id="${x}">
@@ -12,4 +12,4 @@ var M=({width:t,height:e,cornerRadius:a=0})=>{if(a>0){let L=Math.min(a,t/2,e/2);
12
12
  <!-- Path for the stroke, clipped by the star path -->
13
13
  <path d="${n}" fill="none" stroke="${p}" stroke-width="${2*o}" clip-path="url(#${x})" transform="scale(${i}, ${c})" stroke-dasharray="${r.join(" ")}"/>
14
14
  </svg>
15
- `}function E(t){let{subType:e}=t,a=R(e);return a?f(t,a):(console.error(`error: Can not convert ${e} figure to svg.`),M(t))}var y=(h=>(h.ROUND_RECT="roundRect",h.ROUND_RECT_DIAGONAL="roundRectDiagonal",h.ROUND_RECT_SINGLE="roundRectSingle",h.ROUND_RECT_SAMESIDE="roundRectSameSide",h.CUT_RECT_DIAGONAL="cutRectDiagonal",h.CUT_RECT_SINGLE="cutRectSingle",h.CUT_RECT_SAMESIDE="cutRectSameSide",h.MESSAGE="message",h.ROUND_MESSAGE="roundMessage",h.L="L",h.RING_RECT="ringRect",h.PLUS="plus",h.TRIANGLE="triangle",h.PARALLELOGRAM_LEFT="parallelogramLeft",h.PARALLELOGRAM_RIGHT="parallelogramRight",h.TRAPEZOID="trapezoid",h.BULLET="bullet",h.INDICATOR="indicator",h))(y||{}),D=[{name:"\u57FA\u7840",children:[{viewBox:[200,200],path:"M 0 0 L 200 0 L 200 200 L 0 200 Z",type:"rect"},{viewBox:[200,200],path:w({width:200,height:200}),type:"circle"},{viewBox:[200,200],path:"M 0,100 A 100,50 0 1 1 200,100 A 100,50 0 1 1 0,100 Z",type:"ellipse"},{viewBox:[200,200],path:"M 100,50 L 200,150 L 0,150 Z",type:"triangle"}]},{name:"\u77E9\u5F62",children:[{viewBox:[200,200],path:"M 50 0 L 150 0 Q 200 0 200 50 L 200 150 Q 200 200 150 200 L 50 200 Q 0 200 0 150 L 0 50 Q 0 0 50 0 Z"},{viewBox:[200,200],path:"M 0 150 L 0 0 L 150 0 L 200 50 L 200 200 L 50 200 Z"},{viewBox:[200,200],path:"M 0 200 L 0 0 L 150 0 L 200 50 L 200 200 Z"},{viewBox:[200,200],path:"M 0 50 L 50 0 L 150 0 L 200 50 L 200 200 L 0 200 Z"},{viewBox:[200,200],path:"M 0 0 L 150 0 Q 200 0 200 50 L 200 200 L 50 200 Q 0 200 0 150 L 0 0 Z"},{viewBox:[200,200],path:"M 0 0 L 150 0 Q 200 0 200 50 L 200 200 L 0 200 L 0 0 Z"},{viewBox:[200,200],path:"M 0 50 Q 0 0 50 0 L 150 0 Q 200 0 200 50 L 200 200 L 0 200 Z"}]},{name:"\u5E38\u89C4\u5F62\u72B6",children:[{viewBox:[200,200],path:d({width:200,height:200})},{viewBox:[200,200],path:u({width:200,height:200})},{viewBox:[200,200],path:g({width:200,height:200})},{viewBox:[200,200],path:m({width:200,height:200})},{viewBox:[200,200],path:v({width:200,height:200})},{viewBox:[200,200],path:B({width:200,height:200})},{viewBox:[200,200],path:P({width:200,height:200})},{viewBox:[200,200],path:Z({width:200,height:200})}]},{name:"\u5E38\u7528\u5F62\u72B6",children:[{viewBox:[200,200],path:"M 100 0 A 50 50 0 1 1 100 200 A 50 50 0 1 1 100 0 Z"},{viewBox:[200,200],path:"M 100 0 L 0 200 L 200 200 L 100 0 Z",pathFormula:"triangle"},{viewBox:[200,200],path:"M 0 0 L 0 200 L 200 200 Z"},{viewBox:[200,200],path:"M 50 0 L 200 0 L 150 200 L 0 200 L 50 0 Z",pathFormula:"parallelogramLeft"},{viewBox:[200,200],path:"M 0 0 L 150 0 L 200 200 L 50 200 L 0 0 Z",pathFormula:"parallelogramRight"},{viewBox:[200,200],path:"M 50 0 L 150 0 L 200 200 L 0 200 L 50 0 Z",pathFormula:"trapezoid"},{viewBox:[200,200],path:"M 100 0 L 0 100 L 100 200 L 200 100 L 100 0 Z"},{viewBox:[200,200],path:"M 100 0 L 0 50 L 0 200 L 200 200 L 200 50 L 100 0 Z",pathFormula:"bullet"},{viewBox:[200,200],path:"M 200 100 L 150 0 L 0 0 L 50 100 L 0 200 L 150 200 L 200 100 Z",pathFormula:"indicator"},{viewBox:[200,200],path:"M 0 200 A 50 100 0 1 1 200 200 L 0 200 Z"},{viewBox:[200,200],path:"M 40 20 A 100 100 0 1 0 200 100 L 100 100 L 40 20 Z"},{viewBox:[200,200],path:"M 100 0 A 100 100 102 1 0 200 100 L 100 100 L 100 0 Z"},{viewBox:[200,200],path:"M 160 20 A 100 100 0 1 0 200 100 L 100 100 L 160 20 Z"},{viewBox:[200,200],path:"M 100 0 A 100 100 102 1 0 200 100 L 100 0 Z"},{viewBox:[200,200],path:"M 100 0 A 100 100 102 1 0 200 100 L 200 0 L 100 0 Z"},{viewBox:[200,200],path:"M 0 0 L 200 0 Q 200 200 0 200 L 0 0 Z"},{viewBox:[200,200],path:"M 100 0 L 0 90 L 50 200 L 150 200 L 200 90 L 100 0 Z"},{viewBox:[200,200],path:"M 100 0 L 0 60 L 0 140 L 100 200 L 200 140 L 200 60 L 100 0 Z"},{viewBox:[200,200],path:"M 60 0 L 140 0 L 200 60 L 200 140 L 140 200 L 60 200 L 0 140 L 0 60 L 60 0 Z"},{viewBox:[200,200],path:"M 75 0 L 125 0 L 175 25 L 200 75 L 200 125 L 175 175 L 125 200 L 75 200 L 25 175 L 0 125 L 0 75 L 25 25 L 75 0 Z"},{viewBox:[200,200],path:"M 150 0 A 50 100 0 1 1 150 200 L 0 200 L 0 0 L 150 0 Z"},{viewBox:[200,200],path:"M 50 0 A 25 50 0 1 0 50 200 L 150 200 A 25 50 0 1 0 150 0 L 50 0 Z"},{viewBox:[200,200],path:"M 150 0 A 50 100 0 1 1 150 200 L 0 200 A 50 100 0 0 0 0 0 L 150 0 Z"},{viewBox:[200,200],path:"M 200 0 L 200 200 L 0 200 L 0 100 L 200 0 Z"},{viewBox:[200,200],path:"M 0 0 L 200 100 L 200 200 L 0 200 L 0 0 Z"},{viewBox:[200,200],path:"M 200 0 L 100 0 L 0 100 L 0 200 L 200 0 Z"},{viewBox:[200,200],path:"M 50 0 L 150 0 L 150 50 L 200 50 L 200 150 L 150 150 L 150 200 L 50 200 L 50 150 L 0 150 L 0 50 L 50 50 L 50 0 Z"},{viewBox:[200,200],path:"M 0 0 L 0 200 L 200 200 L 200 140 L 60 140 L 60 0 L 0 0 Z",pathFormula:"L"},{viewBox:[200,200],path:"M0 0 L200 0 L200 200 L0 200 L0 0 Z M50 50 L50 150 L150 150 L150 50 Z",pathFormula:"ringRect"},{viewBox:[200,200],path:"M0 100 A100 100 0 1 1 0 101 Z M150 100 A50 50 0 1 0 150 101 Z"},{viewBox:[200,200],path:"M 70 0 L 70 70 L 0 70 L 0 130 L 70 130 L 70 200 L 130 200 L 130 130 L 200 130 L 200 70 L 130 70 L 130 0 L 70 0 Z",pathFormula:"plus"},{viewBox:[200,200],path:"M 40 0 L 0 40 L 60 100 L 0 160 L 40 200 L 100 140 L 160 200 L 200 160 L 140 100 L 200 40 L 160 0 L 100 60 L 40 0 Z"},{viewBox:[200,200],path:"M 0 0 L 200 0 L 200 160 L 100 160 L 60 200 L 60 160 L 0 160 Z",pathFormula:"message"},{viewBox:[200,200],path:"M 0 40 Q 0 0 40 0 L 160 0 Q 200 0 200 40 L 200 120 Q 200 160 160 160 L 100 160 L 60 200 L 60 160 L 40 160 Q 0 160 0 120 L 0 40 Z",pathFormula:"roundMessage"},{viewBox:[200,200],path:"M 180 160 A 100 100 0 1 0 100 200 L 200 200 L 200 160 L 180 160 Z"},{viewBox:[200,200],path:"M 200 0 L 0 0 L 200 200 L 0 200 L 200 0 Z"},{viewBox:[200,200],path:"M 0 20 C 60 60 140 -40 200 20 L 200 180 C 140 140 60 240 0 180 L 0 20 Z"},{viewBox:[200,200],path:"M 0 20 C 40 -40 60 60 100 20 C 140 -40 160 60 200 20 L 200 180 C 140 240 160 140 100 180 C 40 240 60 140 0 180 L 0 20 Z"},{viewBox:[200,200],path:"M 100 0 Q 0 50 0 175 Q 100 225 200 175 Q 200 50 100 0 Z"},{viewBox:[200,200],path:"M 0 100 A 50 50 0 1 1 200 100 L 100 200 L 0 100 Z"},{viewBox:[200,200],path:"M 100 0 L 60 60 L 0 100 L 60 140 L 100 200 L 140 140 L 200 100 L 140 60 L 100 0 Z"},{viewBox:[200,200],path:"M 100 0 L 80 40 L 20 20 L 40 80 L 0 100 L 40 120 L 20 180 L 80 160 L 100 200 L 120 160 L 180 180 L 160 120 L 200 100 L 160 80 L 180 20 L 120 40 L 100 0 Z"}]}],_=[{path:"M 0 0 L 20 20",style:"solid",points:["",""],data:[{x:0,y:0},{x:200,y:0}]}],F=[{name:"\u76F4\u7EBF",children:[{path:"M 0 0 L 20 20",style:"solid",points:["",""],data:[{x:0,y:0},{x:200,y:0}]},{path:"M 0 0 L 20 20",style:"dashed",points:["",""],data:[{x:0,y:0},{x:200,y:0}]},{path:"M 0 0 L 20 20",style:"solid",points:["","arrow"],data:[{x:0,y:0},{x:200,y:0}]},{path:"M 0 0 L 20 20",style:"dashed",points:["","arrow"],data:[{x:0,y:0},{x:200,y:0}]},{path:"M 0 0 L 20 20",style:"solid",points:["","dot"],data:[{x:0,y:0},{x:200,y:0}]}]},{name:"\u6298\u7EBF\u3001\u66F2\u7EBF",children:[{path:"M 0 0 L 0 20 L 20 20",style:"solid",points:["","arrow"],isBroken:!0,data:[{x:0,y:0},{x:0,y:100},{x:200,y:100}]},{path:"M 0 0 Q 0 20 20 20",style:"solid",points:["","arrow"],isCurve:!0,data:[{x:0,y:0},{x:200,y:0}]},{path:"M 0 0 C 20 0 0 20 20 20",style:"solid",points:["","arrow"],isCubic:!0,data:[{x:0,y:0},{x:200,y:0}]}]}];export{A as a,E as b,y as c,D as d,_ as e,F as f};
15
+ `}function E(t){let{subType:e}=t,a=R(e);return a?f(t,a):(console.error(`error: Can not convert ${e} figure to svg.`),M(t))}var y=(h=>(h.ROUND_RECT="roundRect",h.ROUND_RECT_DIAGONAL="roundRectDiagonal",h.ROUND_RECT_SINGLE="roundRectSingle",h.ROUND_RECT_SAMESIDE="roundRectSameSide",h.CUT_RECT_DIAGONAL="cutRectDiagonal",h.CUT_RECT_SINGLE="cutRectSingle",h.CUT_RECT_SAMESIDE="cutRectSameSide",h.MESSAGE="message",h.ROUND_MESSAGE="roundMessage",h.L="L",h.RING_RECT="ringRect",h.PLUS="plus",h.TRIANGLE="triangle",h.PARALLELOGRAM_LEFT="parallelogramLeft",h.PARALLELOGRAM_RIGHT="parallelogramRight",h.TRAPEZOID="trapezoid",h.BULLET="bullet",h.INDICATOR="indicator",h))(y||{}),F=[{name:"\u57FA\u7840",children:[{viewBox:[200,200],path:"M 0 0 L 200 0 L 200 200 L 0 200 Z",type:"rect"},{viewBox:[200,200],path:w({width:200,height:200}),type:"circle"},{viewBox:[200,200],path:"M 0,100 A 100,50 0 1 1 200,100 A 100,50 0 1 1 0,100 Z",type:"ellipse"},{viewBox:[200,200],path:"M 100,50 L 200,150 L 0,150 Z",type:"triangle"}]},{name:"\u77E9\u5F62",children:[{viewBox:[200,200],path:"M 50 0 L 150 0 Q 200 0 200 50 L 200 150 Q 200 200 150 200 L 50 200 Q 0 200 0 150 L 0 50 Q 0 0 50 0 Z"},{viewBox:[200,200],path:"M 0 150 L 0 0 L 150 0 L 200 50 L 200 200 L 50 200 Z"},{viewBox:[200,200],path:"M 0 200 L 0 0 L 150 0 L 200 50 L 200 200 Z"},{viewBox:[200,200],path:"M 0 50 L 50 0 L 150 0 L 200 50 L 200 200 L 0 200 Z"},{viewBox:[200,200],path:"M 0 0 L 150 0 Q 200 0 200 50 L 200 200 L 50 200 Q 0 200 0 150 L 0 0 Z"},{viewBox:[200,200],path:"M 0 0 L 150 0 Q 200 0 200 50 L 200 200 L 0 200 L 0 0 Z"},{viewBox:[200,200],path:"M 0 50 Q 0 0 50 0 L 150 0 Q 200 0 200 50 L 200 200 L 0 200 Z"}]},{name:"\u5E38\u89C4\u5F62\u72B6",children:[{viewBox:[200,200],path:d({width:200,height:200})},{viewBox:[200,200],path:g({width:200,height:200})},{viewBox:[200,200],path:u({width:200,height:200})},{viewBox:[200,200],path:m({width:200,height:200})},{viewBox:[200,200],path:v({width:200,height:200})},{viewBox:[200,200],path:B({width:200,height:200})},{viewBox:[200,200],path:P({width:200,height:200})},{viewBox:[200,200],path:Z({width:200,height:200})}]},{name:"\u5E38\u7528\u5F62\u72B6",children:[{viewBox:[200,200],path:"M 100 0 A 50 50 0 1 1 100 200 A 50 50 0 1 1 100 0 Z"},{viewBox:[200,200],path:"M 100 0 L 0 200 L 200 200 L 100 0 Z",pathFormula:"triangle"},{viewBox:[200,200],path:"M 0 0 L 0 200 L 200 200 Z"},{viewBox:[200,200],path:"M 50 0 L 200 0 L 150 200 L 0 200 L 50 0 Z",pathFormula:"parallelogramLeft"},{viewBox:[200,200],path:"M 0 0 L 150 0 L 200 200 L 50 200 L 0 0 Z",pathFormula:"parallelogramRight"},{viewBox:[200,200],path:"M 50 0 L 150 0 L 200 200 L 0 200 L 50 0 Z",pathFormula:"trapezoid"},{viewBox:[200,200],path:"M 100 0 L 0 100 L 100 200 L 200 100 L 100 0 Z"},{viewBox:[200,200],path:"M 100 0 L 0 50 L 0 200 L 200 200 L 200 50 L 100 0 Z",pathFormula:"bullet"},{viewBox:[200,200],path:"M 200 100 L 150 0 L 0 0 L 50 100 L 0 200 L 150 200 L 200 100 Z",pathFormula:"indicator"},{viewBox:[200,200],path:"M 0 200 A 50 100 0 1 1 200 200 L 0 200 Z"},{viewBox:[200,200],path:"M 40 20 A 100 100 0 1 0 200 100 L 100 100 L 40 20 Z"},{viewBox:[200,200],path:"M 100 0 A 100 100 102 1 0 200 100 L 100 100 L 100 0 Z"},{viewBox:[200,200],path:"M 160 20 A 100 100 0 1 0 200 100 L 100 100 L 160 20 Z"},{viewBox:[200,200],path:"M 100 0 A 100 100 102 1 0 200 100 L 100 0 Z"},{viewBox:[200,200],path:"M 100 0 A 100 100 102 1 0 200 100 L 200 0 L 100 0 Z"},{viewBox:[200,200],path:"M 0 0 L 200 0 Q 200 200 0 200 L 0 0 Z"},{viewBox:[200,200],path:"M 100 0 L 0 90 L 50 200 L 150 200 L 200 90 L 100 0 Z"},{viewBox:[200,200],path:"M 100 0 L 0 60 L 0 140 L 100 200 L 200 140 L 200 60 L 100 0 Z"},{viewBox:[200,200],path:"M 60 0 L 140 0 L 200 60 L 200 140 L 140 200 L 60 200 L 0 140 L 0 60 L 60 0 Z"},{viewBox:[200,200],path:"M 75 0 L 125 0 L 175 25 L 200 75 L 200 125 L 175 175 L 125 200 L 75 200 L 25 175 L 0 125 L 0 75 L 25 25 L 75 0 Z"},{viewBox:[200,200],path:"M 150 0 A 50 100 0 1 1 150 200 L 0 200 L 0 0 L 150 0 Z"},{viewBox:[200,200],path:"M 50 0 A 25 50 0 1 0 50 200 L 150 200 A 25 50 0 1 0 150 0 L 50 0 Z"},{viewBox:[200,200],path:"M 150 0 A 50 100 0 1 1 150 200 L 0 200 A 50 100 0 0 0 0 0 L 150 0 Z"},{viewBox:[200,200],path:"M 200 0 L 200 200 L 0 200 L 0 100 L 200 0 Z"},{viewBox:[200,200],path:"M 0 0 L 200 100 L 200 200 L 0 200 L 0 0 Z"},{viewBox:[200,200],path:"M 200 0 L 100 0 L 0 100 L 0 200 L 200 0 Z"},{viewBox:[200,200],path:"M 50 0 L 150 0 L 150 50 L 200 50 L 200 150 L 150 150 L 150 200 L 50 200 L 50 150 L 0 150 L 0 50 L 50 50 L 50 0 Z"},{viewBox:[200,200],path:"M 0 0 L 0 200 L 200 200 L 200 140 L 60 140 L 60 0 L 0 0 Z",pathFormula:"L"},{viewBox:[200,200],path:"M0 0 L200 0 L200 200 L0 200 L0 0 Z M50 50 L50 150 L150 150 L150 50 Z",pathFormula:"ringRect"},{viewBox:[200,200],path:"M0 100 A100 100 0 1 1 0 101 Z M150 100 A50 50 0 1 0 150 101 Z"},{viewBox:[200,200],path:"M 70 0 L 70 70 L 0 70 L 0 130 L 70 130 L 70 200 L 130 200 L 130 130 L 200 130 L 200 70 L 130 70 L 130 0 L 70 0 Z",pathFormula:"plus"},{viewBox:[200,200],path:"M 40 0 L 0 40 L 60 100 L 0 160 L 40 200 L 100 140 L 160 200 L 200 160 L 140 100 L 200 40 L 160 0 L 100 60 L 40 0 Z"},{viewBox:[200,200],path:"M 0 0 L 200 0 L 200 160 L 100 160 L 60 200 L 60 160 L 0 160 Z",pathFormula:"message"},{viewBox:[200,200],path:"M 0 40 Q 0 0 40 0 L 160 0 Q 200 0 200 40 L 200 120 Q 200 160 160 160 L 100 160 L 60 200 L 60 160 L 40 160 Q 0 160 0 120 L 0 40 Z",pathFormula:"roundMessage"},{viewBox:[200,200],path:"M 180 160 A 100 100 0 1 0 100 200 L 200 200 L 200 160 L 180 160 Z"},{viewBox:[200,200],path:"M 200 0 L 0 0 L 200 200 L 0 200 L 200 0 Z"},{viewBox:[200,200],path:"M 0 20 C 60 60 140 -40 200 20 L 200 180 C 140 140 60 240 0 180 L 0 20 Z"},{viewBox:[200,200],path:"M 0 20 C 40 -40 60 60 100 20 C 140 -40 160 60 200 20 L 200 180 C 140 240 160 140 100 180 C 40 240 60 140 0 180 L 0 20 Z"},{viewBox:[200,200],path:"M 100 0 Q 0 50 0 175 Q 100 225 200 175 Q 200 50 100 0 Z"},{viewBox:[200,200],path:"M 0 100 A 50 50 0 1 1 200 100 L 100 200 L 0 100 Z"},{viewBox:[200,200],path:"M 100 0 L 60 60 L 0 100 L 60 140 L 100 200 L 140 140 L 200 100 L 140 60 L 100 0 Z"},{viewBox:[200,200],path:"M 100 0 L 80 40 L 20 20 L 40 80 L 0 100 L 40 120 L 20 180 L 80 160 L 100 200 L 120 160 L 180 180 L 160 120 L 200 100 L 160 80 L 180 20 L 120 40 L 100 0 Z"}]}],G=[{path:"M 0 0 L 20 20",style:"solid",points:["",""],data:[{x:0,y:0},{x:200,y:0}]}],Q=[{name:"\u76F4\u7EBF",children:[{path:"M 0 0 L 20 20",style:"solid",points:["",""],data:[{x:0,y:0},{x:200,y:0}]},{path:"M 0 0 L 20 20",style:"dashed",points:["",""],data:[{x:0,y:0},{x:200,y:0}]},{path:"M 0 0 L 20 20",style:"solid",points:["","arrow"],data:[{x:0,y:0},{x:200,y:0}]},{path:"M 0 0 L 20 20",style:"dashed",points:["","arrow"],data:[{x:0,y:0},{x:200,y:0}]},{path:"M 0 0 L 20 20",style:"solid",points:["","dot"],data:[{x:0,y:0},{x:200,y:0}]}]},{name:"\u6298\u7EBF\u3001\u66F2\u7EBF",children:[{path:"M 0 0 L 0 20 L 20 20",style:"solid",points:["","arrow"],isBroken:!0,data:[{x:0,y:0},{x:0,y:100},{x:200,y:100}]},{path:"M 0 0 Q 0 20 20 20",style:"solid",points:["","arrow"],isCurve:!0,data:[{x:0,y:0},{x:200,y:0}]},{path:"M 0 0 C 20 0 0 20 20 20",style:"solid",points:["","arrow"],isCubic:!0,data:[{x:0,y:0},{x:200,y:0}]}]}];export{A as a,E as b,y as c,F as d,G as e,Q as f};
@@ -1,4 +1,4 @@
1
- import{a as ce,b as q,c as A}from"./chunk-5C2MNUBC.js";import{a as L,b as ne,c as fe,f as pe}from"./chunk-OEMIP6LV.js";import{a as j}from"./chunk-EWOU5F3O.js";import{d as re}from"./chunk-45NWLCOP.js";import{c as s}from"./chunk-Q7N7SBSC.js";import F from"styled-components";import{useRef as ze,useLayoutEffect as Kt}from"react";import{observer as M}from"mobx-react-lite";import Ge from"styled-components";import{theme as Ze}from"antd";import{jsx as he,jsxs as We}from"react/jsx-runtime";var Pe=Ge.div`
1
+ import{a as L,b as ne,c as fe,f as pe}from"./chunk-VIU27HHW.js";import{a as j}from"./chunk-EWOU5F3O.js";import{a as ce,b as q,c as A}from"./chunk-5C2MNUBC.js";import{d as re}from"./chunk-RDTTU3WB.js";import{c as s}from"./chunk-Q7N7SBSC.js";import F from"styled-components";import{useRef as ze,useLayoutEffect as Kt}from"react";import{observer as M}from"mobx-react-lite";import Ge from"styled-components";import{theme as Ze}from"antd";import{jsx as he,jsxs as We}from"react/jsx-runtime";var Pe=Ge.div`
2
2
  width: 100%;
3
3
  min-width: 78px;
4
4
  height: 72px;
@@ -1,4 +1,4 @@
1
- import{a as P,c as ee}from"./chunk-W4AOHCPQ.js";import{b as G,c as N}from"./chunk-5C2MNUBC.js";import{a as D}from"./chunk-EWOU5F3O.js";import{a as J,b as Q,e as Y}from"./chunk-3PMUQSBH.js";import{Modal as Be,Button as Te,ColorPicker as Ue,InputNumber as oe,Select as Me,Tooltip as ne,App as Re,theme as De}from"antd";import{Grid2X2 as Le,Star as We,ShoppingBag as $e,FileText as Ae,Presentation as Ee,Share2 as _e,Printer as Fe,ImagePlus as He,FolderPlus as i,LockKeyholeOpen as Ve,LockKeyhole as je}from"lucide-react";import{useRef as Oe,useState as u,useMemo as se,useCallback as B}from"react";import $ from"styled-components";import{App as ke,Modal as Se,Upload as te}from"antd";import{Inbox as Ce}from"lucide-react";import{useRef as Pe,useState as Ne}from"react";import{jsx as a,jsxs as I}from"react/jsx-runtime";var{Dragger:Ie}=te,ie=({visible:S,onClose:A})=>{let{message:y,modal:E}=ke.useApp(),[h,C]=Ne(!1),x=Pe(null),_=ee();return a(Se,{width:750,title:"\u4E0A\u4F20 PSD \u6587\u4EF6",open:S,onCancel:()=>{if(h){y.warning("\u6587\u4EF6\u6B63\u5728\u89E3\u6790\u4E2D\uFF0C\u8BF7\u7A0D\u5019...");return}A()},footer:null,mask:{closable:!h},styles:{body:{height:"calc(100% - 40px)",padding:"10px 0 0 0"},container:{height:500}},centered:!0,children:a("div",{style:{height:"100%"},children:I(Ie,{...{name:"file-psd",multiple:!1,accept:".psd",showUploadList:!1,beforeUpload(r){return r.name.toLowerCase().endsWith(".psd")?!0:(y.error("\u4EC5\u652F\u6301 .psd \u683C\u5F0F\u6587\u4EF6"),te.LIST_IGNORE)},customRequest(r){let{file:n,onSuccess:p,onError:s,onProgress:f}=r;C(!0),x.current=y.loading("PSD \u6587\u4EF6\u89E3\u6790\u4E2D\uFF0C\u8BF7\u7A0D\u5019...",0);let l=new FormData;l.append("file",n),l.append("isTemporary","true"),P.post(Q().url,l,{headers:{"Content-Type":"multipart/form-data"},onUploadProgress(d){d.total&&f&&f({percent:Math.round(d.loaded/d.total*100)})}}).then(d=>{p?.(d)}).catch(d=>{s?.(d)})},async onChange(r){let{status:n}=r.file;if(console.log("info",r),n==="done"){x.current?.(),x.current=null,C(!1),y.success(`${r.file.name} \u89E3\u6790\u6210\u529F`);let p=r.file.response;console.log("PSD \u89E3\u6790\u7ED3\u679C:",p.result);let{thumbnailUrl:s,content:f,name:l,width:d,height:m,filename:H,parseUrl:v}=p.result,V={sourceResourcesId:crypto.randomUUID(),content:f,width:d,height:m,parseUrl:v,thumbnailUrl:s,filename:H,name:l},b=Y(V);try{let j=(await P.post(b.url,b.data)).result,U=`${_.urls.editorUrl}?id=${j.id}&type=record`,w=window.open(U,"_blank");(!w||w.closed)&&E.info({title:"\u5141\u8BB8\u663E\u793A\u5F39\u51FA\u7A97\u53E3",width:480,content:I("div",{style:{padding:"16px 0"},children:[a("p",{style:{marginBottom:8,color:"#666"},children:"\u4F60\u9700\u8981\u6388\u6743\u672C\u7AD9\u5728\u6D4F\u89C8\u5668\u6253\u5F00\u591A\u4E2A\u7A97\u53E3\u3002"}),I("div",{style:{marginBottom:12},children:[a("p",{children:a("b",{children:"\u7B2C1\u6B65"})}),a("p",{children:"\u70B9\u51FB\u6D4F\u89C8\u5668\u53F3\u4FA7\u9876\u90E8\u5F39\u51FA\u7684\u963B\u6B62\u7A0B\u5E8F\u56FE\u6807\u3002"})]}),I("div",{style:{marginBottom:12},children:[a("p",{children:a("b",{children:"\u7B2C2\u6B65"})}),a("p",{children:"\u70B9\u51FB\u59CB\u7EC8\u5141\u8BB8\u663E\u793A\u5F39\u51FA\u5F0F\u7A97\u53E3\u548C\u8FDB\u884C\u91CD\u5B9A\u5411\u3002"})]}),I("div",{style:{marginBottom:12},children:[a("p",{children:a("b",{children:"\u7B2C3\u6B65"})}),a("p",{children:"\u70B9\u51FB\u5B8C\u6210\u6309\u94AE\uFF0C\u5373\u53EF\u6B63\u5E38\u4F7F\u7528\u529F\u80FD\u5566~"})]})]}),okText:"\u6211\u77E5\u9053\u5566"})}catch(T){console.error(T)}}else if(n==="error"){x.current?.(),x.current=null,C(!1);let p=r.file.error?.message||"\u89E3\u6790\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5";y.error(p)}}},disabled:h,children:[a("p",{className:"flex items-center justify-center",children:a(Ce,{size:60})}),a("p",{className:"ant-upload-text",children:h?"\u89E3\u6790\u4E2D...":"\u62D6\u62FD\u6587\u4EF6\u5230\u6B64\u5904\u4E0A\u4F20\u6216\u70B9\u51FB\u4E0A\u4F20"}),a("p",{className:"ant-upload-hint",children:a("a",{href:"https://www.yuque.com/meitumcp/vvtts5/gfv8e5",target:"_blank",onClick:r=>{r.stopPropagation()},children:"PSD\u6587\u4EF6\u5BFC\u5165\u89C4\u8303"})})]})})})};import{Fragment as Ze,jsx as e,jsxs as c}from"react/jsx-runtime";var Xe=[{key:"all",label:"\u5168\u90E8",icon:Le},{key:"common",label:"\u5E38\u7528\u5C3A\u5BF8",icon:We},{key:"ecommerce",label:"\u7535\u5546\u7269\u6599",icon:$e},{key:"office",label:"\u884C\u653F\u529E\u516C",icon:Ae},{key:"presentation",label:"\u6F14\u793A\u6587\u7A3F",icon:Ee},{key:"social",label:"\u793E\u4EA4\u5A92\u4F53",icon:_e},{key:"print",label:"\u5370\u5237\u7269\u6599",icon:Fe}],ae=[{key:"common",label:"\u5E38\u7528\u5C3A\u5BF8",sizes:[{icon:e(i,{size:24}),name:"\u7535\u5546\u4E3B\u56FE\uFF081:1\uFF09",desc:"1440x1440px",width:1440,height:1440,unit:"px"},{icon:e(i,{size:24}),name:"\u7535\u5546\u4E3B\u56FE\uFF081:1\uFF09",desc:"800x800px",width:800,height:800,unit:"px"},{icon:e(i,{size:24}),name:"\u624B\u673A\u6D77\u62A5",desc:"1242x2208px",width:1242,height:2208,unit:"px"},{icon:e(i,{size:24}),name:"\u5C0F\u7EA2\u4E66\u5C01\u9762",desc:"1242x1656px",width:1242,height:1656,unit:"px"},{icon:e(i,{size:24}),name:"\u7AD6\u7248\u89C6\u9891\u5C01\u9762",desc:"1080x1920px",width:1080,height:1920,unit:"px"},{icon:e(i,{size:24}),name:"PPT\uFF0816:9\uFF09",desc:"1920x1080px",width:1920,height:1080,unit:"px"}]},{key:"ecommerce",label:"\u7535\u5546\u7269\u6599",sizes:[{icon:e(i,{size:24}),name:"\u7535\u5546\u4E3B\u56FE\uFF081:1\uFF09",desc:"1440x1440px",width:1440,height:1440,unit:"px"},{icon:e(i,{size:24}),name:"\u7535\u5546\u4E3B\u56FE\uFF081:1\uFF09",desc:"800x800px",width:800,height:800,unit:"px"},{icon:e(i,{size:24}),name:"\u7535\u5546\u4E3B\u56FE\uFF083:4\uFF09",desc:"1440x1920px",width:1440,height:1920,unit:"px"},{icon:e(i,{size:24}),name:"\u7535\u5546\u4E3B\u56FE\uFF083:4\uFF09",desc:"750x1000px",width:750,height:1e3,unit:"px"},{icon:e(i,{size:24}),name:"\u76F4\u64AD\u95F4\u80CC\u666F",desc:"1242x2690px",width:1242,height:2690,unit:"px"},{icon:e(i,{size:24}),name:"\u7535\u5546\u8BE6\u60C5\u9875",desc:"750x1000px",width:750,height:1e3,unit:"px"},{icon:e(i,{size:24}),name:"\u7535\u5546\u7AD6\u7248\u6D77\u62A5",desc:"1200x1920px",width:1200,height:1920,unit:"px"}]},{key:"office",label:"\u884C\u653F\u529E\u516C",sizes:[{icon:e(i,{size:24}),name:"\u7B80\u5386",desc:"2480x3507px",width:2480,height:3507,unit:"px"},{icon:e(i,{size:24}),name:"\u5DE5\u724C\u5DE5\u4F5C\u8BC1",desc:"709x1087px",width:709,height:1087,unit:"px"},{icon:e(i,{size:24}),name:"\u5956\u72B6\u8BC1\u4E66",desc:"3437x2550px",width:3437,height:2550,unit:"px"}]},{key:"presentation",label:"\u6F14\u793A\u6587\u7A3F",sizes:[{icon:e(i,{size:24}),name:"PPT\uFF0816:9\uFF09",desc:"1920x1080px",width:1920,height:1080,unit:"px"},{icon:e(i,{size:24}),name:"PPT\uFF084:3\uFF09",desc:"1024x768px",width:1024,height:768,unit:"px"}]},{key:"social",label:"\u793E\u4EA4\u5A92\u4F53",sizes:[{icon:e(i,{size:24}),name:"\u624B\u673A\u6D77\u62A5",desc:"1242x2208px",width:1242,height:2208,unit:"px"},{icon:e(i,{size:24}),name:"\u624B\u673A\u5168\u5C4F\u6D77\u62A5",desc:"1242x2688px",width:1242,height:2688,unit:"px"},{icon:e(i,{size:24}),name:"\u7AD6\u7248\u89C6\u9891\u5C01\u9762",desc:"1080x1920px",width:1080,height:1920,unit:"px"},{icon:e(i,{size:24}),name:"\u6A2A\u7248\u89C6\u9891\u5C01\u9762",desc:"1920x1080px",width:1920,height:1080,unit:"px"},{icon:e(i,{size:24}),name:"\u5C0F\u7EA2\u4E66\u5C01\u9762",desc:"1242x1656px",width:1242,height:1656,unit:"px"},{icon:e(i,{size:24}),name:"\u6296\u97F3\u56FE\u6587\u5E26\u8D27",desc:"1242x1656px",width:1242,height:1656,unit:"px"},{icon:e(i,{size:24}),name:"\u516C\u4F17\u53F7\u9996\u56FE",desc:"900x383px",width:900,height:383,unit:"px"},{icon:e(i,{size:24}),name:"\u516C\u4F17\u53F7\u6B21\u56FE",desc:"900x800px",width:900,height:800,unit:"px"},{icon:e(i,{size:24}),name:"\u957F\u56FE\u6D77\u62A5",desc:"800x2000px",width:800,height:2e3,unit:"px"}]},{key:"print",label:"\u5370\u5237\u7269\u6599",sizes:[{icon:e(i,{size:24}),name:"\u4E00\u5BF8\u8BC1\u4EF6\u7167",desc:"23x35mm",width:25,height:35,unit:"mm"},{icon:e(i,{size:24}),name:"\u4E8C\u5BF8\u8BC1\u4EF6\u7167",desc:"35x53mm",width:35,height:53,unit:"mm"},{icon:e(i,{size:24}),name:"1.8\u7C73\u5C55\u67B6",desc:"80x180cm",width:80,height:180,unit:"cm"},{icon:e(i,{size:24}),name:"2m\u6613\u62C9\u5B9D",desc:"80x200cm",width:80,height:200,unit:"cm"},{icon:e(i,{size:24}),name:"\u540D\u7247",desc:"96x60mm",width:96,height:60,unit:"mm"},{icon:e(i,{size:24}),name:"\u4F18\u60E0\u5238",desc:"186x66mm",width:186,height:66,unit:"mm"},{icon:e(i,{size:24}),name:"\u4F20\u5355",desc:"216x291cm",width:216,height:291,unit:"cm"}]}],re=$.div`
1
+ import{a as P,c as ee}from"./chunk-JHEHZKJ6.js";import{a as D}from"./chunk-EWOU5F3O.js";import{b as G,c as N}from"./chunk-5C2MNUBC.js";import{c as J,d as Q,g as Y}from"./chunk-T7KNIGCA.js";import{Modal as Be,Button as Te,ColorPicker as Ue,InputNumber as oe,Select as Me,Tooltip as ne,App as Re,theme as De}from"antd";import{Grid2X2 as Le,Star as We,ShoppingBag as $e,FileText as Ae,Presentation as Ee,Share2 as _e,Printer as Fe,ImagePlus as He,FolderPlus as i,LockKeyholeOpen as Ve,LockKeyhole as je}from"lucide-react";import{useRef as Oe,useState as u,useMemo as se,useCallback as B}from"react";import $ from"styled-components";import{App as ke,Modal as Se,Upload as te}from"antd";import{Inbox as Ce}from"lucide-react";import{useRef as Pe,useState as Ne}from"react";import{jsx as a,jsxs as I}from"react/jsx-runtime";var{Dragger:Ie}=te,ie=({visible:S,onClose:A})=>{let{message:y,modal:E}=ke.useApp(),[h,C]=Ne(!1),x=Pe(null),_=ee();return a(Se,{width:750,title:"\u4E0A\u4F20 PSD \u6587\u4EF6",open:S,onCancel:()=>{if(h){y.warning("\u6587\u4EF6\u6B63\u5728\u89E3\u6790\u4E2D\uFF0C\u8BF7\u7A0D\u5019...");return}A()},footer:null,mask:{closable:!h},styles:{body:{height:"calc(100% - 40px)",padding:"10px 0 0 0"},container:{height:500}},centered:!0,children:a("div",{style:{height:"100%"},children:I(Ie,{...{name:"file-psd",multiple:!1,accept:".psd",showUploadList:!1,beforeUpload(r){return r.name.toLowerCase().endsWith(".psd")?!0:(y.error("\u4EC5\u652F\u6301 .psd \u683C\u5F0F\u6587\u4EF6"),te.LIST_IGNORE)},customRequest(r){let{file:n,onSuccess:p,onError:s,onProgress:f}=r;C(!0),x.current=y.loading("PSD \u6587\u4EF6\u89E3\u6790\u4E2D\uFF0C\u8BF7\u7A0D\u5019...",0);let l=new FormData;l.append("file",n),l.append("isTemporary","true"),P.post(Q().url,l,{headers:{"Content-Type":"multipart/form-data"},onUploadProgress(d){d.total&&f&&f({percent:Math.round(d.loaded/d.total*100)})}}).then(d=>{p?.(d)}).catch(d=>{s?.(d)})},async onChange(r){let{status:n}=r.file;if(console.log("info",r),n==="done"){x.current?.(),x.current=null,C(!1),y.success(`${r.file.name} \u89E3\u6790\u6210\u529F`);let p=r.file.response;console.log("PSD \u89E3\u6790\u7ED3\u679C:",p.result);let{thumbnailUrl:s,content:f,name:l,width:d,height:m,filename:H,parseUrl:v}=p.result,V={sourceResourcesId:crypto.randomUUID(),content:f,width:d,height:m,parseUrl:v,thumbnailUrl:s,filename:H,name:l},b=Y(V);try{let j=(await P.post(b.url,b.data)).result,U=`${_.urls.editorUrl}?id=${j.id}&type=record`,w=window.open(U,"_blank");(!w||w.closed)&&E.info({title:"\u5141\u8BB8\u663E\u793A\u5F39\u51FA\u7A97\u53E3",width:480,content:I("div",{style:{padding:"16px 0"},children:[a("p",{style:{marginBottom:8,color:"#666"},children:"\u4F60\u9700\u8981\u6388\u6743\u672C\u7AD9\u5728\u6D4F\u89C8\u5668\u6253\u5F00\u591A\u4E2A\u7A97\u53E3\u3002"}),I("div",{style:{marginBottom:12},children:[a("p",{children:a("b",{children:"\u7B2C1\u6B65"})}),a("p",{children:"\u70B9\u51FB\u6D4F\u89C8\u5668\u53F3\u4FA7\u9876\u90E8\u5F39\u51FA\u7684\u963B\u6B62\u7A0B\u5E8F\u56FE\u6807\u3002"})]}),I("div",{style:{marginBottom:12},children:[a("p",{children:a("b",{children:"\u7B2C2\u6B65"})}),a("p",{children:"\u70B9\u51FB\u59CB\u7EC8\u5141\u8BB8\u663E\u793A\u5F39\u51FA\u5F0F\u7A97\u53E3\u548C\u8FDB\u884C\u91CD\u5B9A\u5411\u3002"})]}),I("div",{style:{marginBottom:12},children:[a("p",{children:a("b",{children:"\u7B2C3\u6B65"})}),a("p",{children:"\u70B9\u51FB\u5B8C\u6210\u6309\u94AE\uFF0C\u5373\u53EF\u6B63\u5E38\u4F7F\u7528\u529F\u80FD\u5566~"})]})]}),okText:"\u6211\u77E5\u9053\u5566"})}catch(T){console.error(T)}}else if(n==="error"){x.current?.(),x.current=null,C(!1);let p=r.file.error?.message||"\u89E3\u6790\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5";y.error(p)}}},disabled:h,children:[a("p",{className:"flex items-center justify-center",children:a(Ce,{size:60})}),a("p",{className:"ant-upload-text",children:h?"\u89E3\u6790\u4E2D...":"\u62D6\u62FD\u6587\u4EF6\u5230\u6B64\u5904\u4E0A\u4F20\u6216\u70B9\u51FB\u4E0A\u4F20"}),a("p",{className:"ant-upload-hint",children:a("a",{href:"https://www.yuque.com/meitumcp/vvtts5/gfv8e5",target:"_blank",onClick:r=>{r.stopPropagation()},children:"PSD\u6587\u4EF6\u5BFC\u5165\u89C4\u8303"})})]})})})};import{Fragment as Ze,jsx as e,jsxs as c}from"react/jsx-runtime";var Xe=[{key:"all",label:"\u5168\u90E8",icon:Le},{key:"common",label:"\u5E38\u7528\u5C3A\u5BF8",icon:We},{key:"ecommerce",label:"\u7535\u5546\u7269\u6599",icon:$e},{key:"office",label:"\u884C\u653F\u529E\u516C",icon:Ae},{key:"presentation",label:"\u6F14\u793A\u6587\u7A3F",icon:Ee},{key:"social",label:"\u793E\u4EA4\u5A92\u4F53",icon:_e},{key:"print",label:"\u5370\u5237\u7269\u6599",icon:Fe}],ae=[{key:"common",label:"\u5E38\u7528\u5C3A\u5BF8",sizes:[{icon:e(i,{size:24}),name:"\u7535\u5546\u4E3B\u56FE\uFF081:1\uFF09",desc:"1440x1440px",width:1440,height:1440,unit:"px"},{icon:e(i,{size:24}),name:"\u7535\u5546\u4E3B\u56FE\uFF081:1\uFF09",desc:"800x800px",width:800,height:800,unit:"px"},{icon:e(i,{size:24}),name:"\u624B\u673A\u6D77\u62A5",desc:"1242x2208px",width:1242,height:2208,unit:"px"},{icon:e(i,{size:24}),name:"\u5C0F\u7EA2\u4E66\u5C01\u9762",desc:"1242x1656px",width:1242,height:1656,unit:"px"},{icon:e(i,{size:24}),name:"\u7AD6\u7248\u89C6\u9891\u5C01\u9762",desc:"1080x1920px",width:1080,height:1920,unit:"px"},{icon:e(i,{size:24}),name:"PPT\uFF0816:9\uFF09",desc:"1920x1080px",width:1920,height:1080,unit:"px"}]},{key:"ecommerce",label:"\u7535\u5546\u7269\u6599",sizes:[{icon:e(i,{size:24}),name:"\u7535\u5546\u4E3B\u56FE\uFF081:1\uFF09",desc:"1440x1440px",width:1440,height:1440,unit:"px"},{icon:e(i,{size:24}),name:"\u7535\u5546\u4E3B\u56FE\uFF081:1\uFF09",desc:"800x800px",width:800,height:800,unit:"px"},{icon:e(i,{size:24}),name:"\u7535\u5546\u4E3B\u56FE\uFF083:4\uFF09",desc:"1440x1920px",width:1440,height:1920,unit:"px"},{icon:e(i,{size:24}),name:"\u7535\u5546\u4E3B\u56FE\uFF083:4\uFF09",desc:"750x1000px",width:750,height:1e3,unit:"px"},{icon:e(i,{size:24}),name:"\u76F4\u64AD\u95F4\u80CC\u666F",desc:"1242x2690px",width:1242,height:2690,unit:"px"},{icon:e(i,{size:24}),name:"\u7535\u5546\u8BE6\u60C5\u9875",desc:"750x1000px",width:750,height:1e3,unit:"px"},{icon:e(i,{size:24}),name:"\u7535\u5546\u7AD6\u7248\u6D77\u62A5",desc:"1200x1920px",width:1200,height:1920,unit:"px"}]},{key:"office",label:"\u884C\u653F\u529E\u516C",sizes:[{icon:e(i,{size:24}),name:"\u7B80\u5386",desc:"2480x3507px",width:2480,height:3507,unit:"px"},{icon:e(i,{size:24}),name:"\u5DE5\u724C\u5DE5\u4F5C\u8BC1",desc:"709x1087px",width:709,height:1087,unit:"px"},{icon:e(i,{size:24}),name:"\u5956\u72B6\u8BC1\u4E66",desc:"3437x2550px",width:3437,height:2550,unit:"px"}]},{key:"presentation",label:"\u6F14\u793A\u6587\u7A3F",sizes:[{icon:e(i,{size:24}),name:"PPT\uFF0816:9\uFF09",desc:"1920x1080px",width:1920,height:1080,unit:"px"},{icon:e(i,{size:24}),name:"PPT\uFF084:3\uFF09",desc:"1024x768px",width:1024,height:768,unit:"px"}]},{key:"social",label:"\u793E\u4EA4\u5A92\u4F53",sizes:[{icon:e(i,{size:24}),name:"\u624B\u673A\u6D77\u62A5",desc:"1242x2208px",width:1242,height:2208,unit:"px"},{icon:e(i,{size:24}),name:"\u624B\u673A\u5168\u5C4F\u6D77\u62A5",desc:"1242x2688px",width:1242,height:2688,unit:"px"},{icon:e(i,{size:24}),name:"\u7AD6\u7248\u89C6\u9891\u5C01\u9762",desc:"1080x1920px",width:1080,height:1920,unit:"px"},{icon:e(i,{size:24}),name:"\u6A2A\u7248\u89C6\u9891\u5C01\u9762",desc:"1920x1080px",width:1920,height:1080,unit:"px"},{icon:e(i,{size:24}),name:"\u5C0F\u7EA2\u4E66\u5C01\u9762",desc:"1242x1656px",width:1242,height:1656,unit:"px"},{icon:e(i,{size:24}),name:"\u6296\u97F3\u56FE\u6587\u5E26\u8D27",desc:"1242x1656px",width:1242,height:1656,unit:"px"},{icon:e(i,{size:24}),name:"\u516C\u4F17\u53F7\u9996\u56FE",desc:"900x383px",width:900,height:383,unit:"px"},{icon:e(i,{size:24}),name:"\u516C\u4F17\u53F7\u6B21\u56FE",desc:"900x800px",width:900,height:800,unit:"px"},{icon:e(i,{size:24}),name:"\u957F\u56FE\u6D77\u62A5",desc:"800x2000px",width:800,height:2e3,unit:"px"}]},{key:"print",label:"\u5370\u5237\u7269\u6599",sizes:[{icon:e(i,{size:24}),name:"\u4E00\u5BF8\u8BC1\u4EF6\u7167",desc:"23x35mm",width:25,height:35,unit:"mm"},{icon:e(i,{size:24}),name:"\u4E8C\u5BF8\u8BC1\u4EF6\u7167",desc:"35x53mm",width:35,height:53,unit:"mm"},{icon:e(i,{size:24}),name:"1.8\u7C73\u5C55\u67B6",desc:"80x180cm",width:80,height:180,unit:"cm"},{icon:e(i,{size:24}),name:"2m\u6613\u62C9\u5B9D",desc:"80x200cm",width:80,height:200,unit:"cm"},{icon:e(i,{size:24}),name:"\u540D\u7247",desc:"96x60mm",width:96,height:60,unit:"mm"},{icon:e(i,{size:24}),name:"\u4F18\u60E0\u5238",desc:"186x66mm",width:186,height:66,unit:"mm"},{icon:e(i,{size:24}),name:"\u4F20\u5355",desc:"216x291cm",width:216,height:291,unit:"cm"}]}],re=$.div`
2
2
  padding: 16px 24px;
3
3
  height: 60px;
4
4
  flex: 1;
@@ -0,0 +1 @@
1
+ var o="http://219.151.185.37:9003",a=t=>{o=t.replace(/\/+$/,"")},n=()=>o,e=()=>o+"/api",r={fontList:()=>({url:`${e()}/fonts`}),templateList:()=>({url:`${e()}/templates/list`}),templateDetail:t=>({url:`${e()}/templates/detail/${t}`}),uploadImage:()=>({url:`${e()}/images/upload`}),psdParse:()=>({url:`${e()}/psd/parser`}),createRecord:t=>({method:"POST",url:`${e()}/record`,data:t}),updateRecord:(t,s)=>({method:"PATCH",url:`${e()}/record/${t}`,data:s}),recordDetail:t=>({url:`${e()}/record/${t}`}),resourcesDetail:t=>({method:"POST",url:`${e()}/resources/detail`,data:{type:"template",id:t}})};var l=()=>r.uploadImage(),p=()=>r.psdParse(),c=t=>r.resourcesDetail(t),i=t=>r.recordDetail(t),d=t=>r.createRecord(t),u=(t,s)=>r.updateRecord(t,s),g=(t,s)=>{r[t]=s};export{a,n as b,l as c,p as d,c as e,i as f,d as g,u as h,g as i};
@@ -1,4 +1,4 @@
1
- import{c as p}from"./chunk-Q7N7SBSC.js";import{a as m,b as v}from"./chunk-RVXI723F.js";import{useState as L,useEffect as I}from"react";var C=768,x=()=>window.innerWidth<=C,h=e=>`
1
+ import{a as m,b as v}from"./chunk-RVXI723F.js";import{c as p}from"./chunk-Q7N7SBSC.js";import{useState as L,useEffect as I}from"react";var C=768,x=()=>window.innerWidth<=C,h=e=>`
2
2
  @media (max-width: ${C}px) {
3
3
  ${e}
4
4
  .ydesign-editor-mobile & {
package/dist/config.d.ts CHANGED
@@ -1,6 +1,18 @@
1
1
  import { XY } from '@ydesign/core';
2
2
  export { getTranslations, setTranslations } from './utils/l10n.js';
3
3
 
4
+ /**
5
+ * 后台的接口汇总
6
+ */
7
+ /**
8
+ * 设置基础 URL,供外部调用以切换后台地址
9
+ * @example setBaseURL('http://localhost:9003')
10
+ */
11
+ declare const setBaseURL: (url: string) => void;
12
+ /**
13
+ * 获取当前基础 URL
14
+ */
15
+ declare const getBaseURL: () => string;
4
16
  type UrlResult = {
5
17
  method?: string;
6
18
  url: string;
@@ -58,4 +70,4 @@ interface PresetLine {
58
70
  declare const LinePoolItems: LinePoolItem[];
59
71
  declare const PathLineLibs: PresetLine[];
60
72
 
61
- export { type LinePoint, type LinePoolItem, LinePoolItems, PathLineLibs, type PathListItem, type PathPoolItem, PathShapeLibs, type PresetLine, ShapePathFormulasKeys, setAPI };
73
+ export { type LinePoint, type LinePoolItem, LinePoolItems, PathLineLibs, type PathListItem, type PathPoolItem, PathShapeLibs, type PresetLine, ShapePathFormulasKeys, getBaseURL, setAPI, setBaseURL };
package/dist/config.js CHANGED
@@ -1 +1 @@
1
- import{c as d,d as e,e as f,f as g}from"./chunk-45NWLCOP.js";import{a,b}from"./chunk-Q7N7SBSC.js";import{g as c}from"./chunk-3PMUQSBH.js";import"./chunk-O2XFH626.js";export{f as LinePoolItems,g as PathLineLibs,e as PathShapeLibs,d as ShapePathFormulasKeys,b as getTranslations,c as setAPI,a as setTranslations};
1
+ import{c as f,d as g,e as h,f as i}from"./chunk-RDTTU3WB.js";import{a as c,b as d,i as e}from"./chunk-T7KNIGCA.js";import{a,b}from"./chunk-Q7N7SBSC.js";import"./chunk-O2XFH626.js";export{h as LinePoolItems,i as PathLineLibs,g as PathShapeLibs,f as ShapePathFormulasKeys,d as getBaseURL,b as getTranslations,e as setAPI,c as setBaseURL,a as setTranslations};
package/dist/project.js CHANGED
@@ -1 +1 @@
1
- import{b as a,c as b,d as c,e as d}from"./chunk-W4AOHCPQ.js";import"./chunk-VR4OXDJV.js";import"./chunk-YBC2DYJX.js";import"./chunk-3PMUQSBH.js";import"./chunk-O2XFH626.js";export{a as ProjectContext,c as createProject,d as default,b as useProject};
1
+ import{b as a,c as b,d as c,e as d}from"./chunk-JHEHZKJ6.js";import"./chunk-VR4OXDJV.js";import"./chunk-YBC2DYJX.js";import"./chunk-T7KNIGCA.js";import"./chunk-O2XFH626.js";export{a as ProjectContext,c as createProject,d as default,b as useProject};
@@ -1 +1 @@
1
- import{a as o,b as r,c as e,d as f,e as m,f as p,g as t,h as x,i as a,j as b,k as c}from"../chunk-ICMV2HE4.js";import"../chunk-5C2MNUBC.js";import"../chunk-OEMIP6LV.js";import"../chunk-EWOU5F3O.js";import"../chunk-45NWLCOP.js";import"../chunk-Q7N7SBSC.js";import"../chunk-3PMUQSBH.js";import"../chunk-RVXI723F.js";import"../chunk-O2XFH626.js";export{t as BackgroundSection,b as DEFAULT_SECTIONS,x as LayersSection,f as PhotosSection,o as SectionTab,m as ShapesSection,c as SidePanel,a as SizeSection,r as TemplatesSection,e as TextSection,p as UploadSection};
1
+ import{a as o,b as r,c as e,d as f,e as m,f as p,g as t,h as x,i as a,j as b,k as c}from"../chunk-SNUWPK45.js";import"../chunk-VIU27HHW.js";import"../chunk-EWOU5F3O.js";import"../chunk-RVXI723F.js";import"../chunk-5C2MNUBC.js";import"../chunk-RDTTU3WB.js";import"../chunk-T7KNIGCA.js";import"../chunk-Q7N7SBSC.js";import"../chunk-O2XFH626.js";export{t as BackgroundSection,b as DEFAULT_SECTIONS,x as LayersSection,f as PhotosSection,o as SectionTab,m as ShapesSection,c as SidePanel,a as SizeSection,r as TemplatesSection,e as TextSection,p as UploadSection};
@@ -1 +1 @@
1
- import{a,b,c,d,e,f,g,h,i,j,k,l}from"../chunk-ICMV2HE4.js";import"../chunk-5C2MNUBC.js";import"../chunk-OEMIP6LV.js";import"../chunk-EWOU5F3O.js";import"../chunk-45NWLCOP.js";import"../chunk-Q7N7SBSC.js";import"../chunk-3PMUQSBH.js";import"../chunk-RVXI723F.js";import"../chunk-O2XFH626.js";export{g as BackgroundSection,j as DEFAULT_SECTIONS,h as LayersSection,d as PhotosSection,a as SectionTab,e as ShapesSection,k as SidePanel,i as SizeSection,b as TemplatesSection,c as TextSection,f as UploadSection,l as default};
1
+ import{a,b,c,d,e,f,g,h,i,j,k,l}from"../chunk-SNUWPK45.js";import"../chunk-VIU27HHW.js";import"../chunk-EWOU5F3O.js";import"../chunk-RVXI723F.js";import"../chunk-5C2MNUBC.js";import"../chunk-RDTTU3WB.js";import"../chunk-T7KNIGCA.js";import"../chunk-Q7N7SBSC.js";import"../chunk-O2XFH626.js";export{g as BackgroundSection,j as DEFAULT_SECTIONS,h as LayersSection,d as PhotosSection,a as SectionTab,e as ShapesSection,k as SidePanel,i as SizeSection,b as TemplatesSection,c as TextSection,f as UploadSection,l as default};
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import * as styled_components_dist_types from 'styled-components/dist/types';
2
+ import * as node_modules_styled_components_dist_types from 'node_modules/styled-components/dist/types';
3
3
  import * as styled_components from 'styled-components';
4
4
  import * as react from 'react';
5
5
  import { S as StoreType } from '../store-CgxwnT-h.js';
@@ -8,7 +8,7 @@ import 'mobx-state-tree/dist/internal';
8
8
  import 'mobx-state-tree';
9
9
  import '@ydesign/core';
10
10
 
11
- declare const NavBarGroup: styled_components_dist_types.IStyledComponentBase<"web", styled_components.FastOmit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
11
+ declare const NavBarGroup: node_modules_styled_components_dist_types.IStyledComponentBase<"web", styled_components.FastOmit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
12
12
  declare function registerToolbarComponent(type: string, reactComponent: any): void;
13
13
  type ToolbarProps = {
14
14
  store: StoreType;
@@ -1,4 +1,4 @@
1
- import{b as Qt}from"../chunk-AMEXYVS6.js";import{a as Bt}from"../chunk-YBC2DYJX.js";import{d as W,e as _,g as $t}from"../chunk-OEMIP6LV.js";import{a as nt}from"../chunk-EWOU5F3O.js";import{a as Xt,b as Kt,d as Jt}from"../chunk-45NWLCOP.js";import{c as i}from"../chunk-Q7N7SBSC.js";import"../chunk-3PMUQSBH.js";import{a as z,c as qt}from"../chunk-RVXI723F.js";import"../chunk-O2XFH626.js";import jt from"styled-components";import{useRef as Sn}from"react";import{observer as U}from"mobx-react-lite";import{useEffect as tt,useState as S,useCallback as go,useRef as oe,useMemo as uo}from"react";import{ColorPicker as fo,Popover as ne,Button as R,Input as yo,InputNumber as Et,Space as bo,Slider as re,Tooltip as L}from"antd";import{cssGradient2FabricGradient as ho}from"@ydesign/core";import{ChevronDown as xo,TextAlignStart as vo,TextAlignCenter as ko,TextAlignEnd as Co,TextAlignJustify as Fo,Bold as So,Italic as wo,Underline as To,Strikethrough as Bo,ListChevronsUpDown as Ho,TextWrap as Po}from"lucide-react";import{FixedSizeList as Eo}from"react-window";import{Popover as ro,Button as no,Switch as Ht,Slider as lt,InputNumber as q,ColorPicker as Zt}from"antd";import{observer as io}from"mobx-react-lite";import{Sparkles as lo}from"lucide-react";import{useEffect as ao,useState as x}from"react";import{Fragment as Pt,jsx as f,jsxs as C}from"react/jsx-runtime";var $=(t,e,o)=>Math.max(e,Math.min(o,t)),te={display:"inline-flex",justifyContent:"space-between",width:"100%",padding:6},it={display:"flex",alignItems:"center",justifyContent:"space-between",padding:6},N=({label:t,enabled:e,visible:o=!0,onEnabledChange:l,numberValue:n,min:r,max:d,onNumberValueChange:m,step:y})=>o?C(Pt,{children:[C("div",{style:{display:"inline-flex",justifyContent:"space-between",width:"100%",padding:"6px"},children:[f("span",{children:t}),f(Ht,{checked:e,onChange:c=>{l(c)}})]}),e?C("div",{style:{display:"flex",width:"100%",justifyContent:"space-between",marginTop:10,marginBottom:10},children:[f("div",{style:{flex:1},children:f(lt,{value:n,onChange:c=>{m(c)},min:r,max:d,step:y})}),f(q,{size:"small",style:{width:60,marginLeft:10},value:n,step:y,onChange:c=>{m($(c,r,d))}})]}):null]}):null,D=io(({element:t,store:e,elements:o})=>{let n=(o||[t])[0],r=e.editor,d=n?.type==="textbox",m=n?.type==="image",y=r?.imageFiltersHandler.getFilter("blur"),c=r?.imageFiltersHandler.getFilter("brightness"),s=r?.imageFiltersHandler.getFilter("contrast"),g=r?.imageFiltersHandler.getFilter("saturation"),B=r?.imageFiltersHandler.getFilter("vibrance"),H=r?.imageFiltersHandler.getFilter("hueRotation"),I=r?.imageFiltersHandler.getFilter("noise"),P=r?.imageFiltersHandler.getFilter("pixelate"),[M,J]=x(!!y),[ft,rt]=x(y?.blur||.5),[E,yt]=x(!!c),[Le,Mt]=x(c?.brightness||.05),[Ue,bt]=x(!!s),[Ge,Wt]=x(s?.contrast||.25),[Ye,ht]=x(!!g),[Xe,_t]=x(g?.saturation||1),[Ke,xt]=x(!!B),[Je,Dt]=x(B?.vibrance||1),[qe,vt]=x(!!H),[$e,Lt]=x(H?.rotation||-.5),[Qe,kt]=x(!!I),[Ze,Ut]=x(I?.noise||30),[to,Ct]=x(!!P),[eo,Gt]=x(P?.blocksize||30),[oo,Ft]=x(n?.stroke),[St,wt]=x(n?.strokeWidth),[w,Yt]=x({enabled:!!n?.shadow,offsetX:n?.shadow?.offsetX||15,offsetY:n?.shadow?.offsetY||15,blur:n?.shadow?.blur||25,color:n?.shadow?.color||"rgba(0,0,0,0.45)",affectStroke:!1,nonScaling:!1,type:"shadow"});ao(()=>{Ft(n?.stroke),wt(n?.strokeWidth),Yt({enabled:!!n?.shadow,offsetX:n?.shadow?.offsetX||15,offsetY:n?.shadow?.offsetY||15,blur:n?.shadow?.blur||25,color:n?.shadow?.color||"rgba(0,0,0,0.45)",affectStroke:!1,nonScaling:!1,type:"shadow"}),J(!!y),rt(y?.blur||.5),yt(!!c),Mt(c?.brightness||.05),bt(!!s),Wt(s?.contrast||.25),ht(!!g),_t(g?.saturation||1),xt(!!B),Dt(B?.vibrance||1),vt(!!H),Lt(H?.rotation||-.5),kt(!!I),Ut(I?.noise||30),Ct(!!P),Gt(P?.blocksize||30)},[n]);let Tt=a=>{r?.objectsHandler.setTextStyle(a)},A=(a,b)=>{Yt({...w,[a]:b}),r&&r.objectsHandler.setShadow({...w,[a]:b})};return f(ro,{trigger:"click",content:C("div",{style:{width:"280px",maxHeight:"calc(100vh - 150px)",overflow:"auto"},children:[f(N,{label:i("toolbar.blur"),visible:m,enabled:M,onEnabledChange:a=>{let b=n;a?(r?.imageFiltersHandler._createFilter(b,"blur",{blur:.5}),J(!0)):(r?.imageFiltersHandler._removeFilter(b,"blur"),J(!1))},min:0,max:1,step:.1,numberValue:ft,onNumberValueChange:a=>{r?.imageFiltersHandler._changeAttr("blur","blur",a),rt(a)}}),f(N,{label:i("toolbar.brightness"),visible:m,enabled:E,onEnabledChange:a=>{let b=n;a?(r?.imageFiltersHandler._createFilter(b,"brightness",{brightness:.05}),yt(!0)):(r?.imageFiltersHandler._removeFilter(b,"brightness"),yt(!1))},min:-1,max:1,step:.01,numberValue:Le,onNumberValueChange:a=>{r?.imageFiltersHandler._changeAttr("brightness","brightness",a),Mt(a)}}),f(N,{label:i("toolbar.contrast"),visible:m,enabled:Ue,onEnabledChange:a=>{let b=n;a?(r?.imageFiltersHandler._createFilter(b,"contrast",{contrast:.25}),bt(!0)):(r?.imageFiltersHandler._removeFilter(b,"contrast"),bt(!1))},min:-1,max:1,step:.01,numberValue:Ge,onNumberValueChange:a=>{r?.imageFiltersHandler._changeAttr("contrast","contrast",a),Wt(a)}}),f(N,{label:i("toolbar.saturation"),visible:m,enabled:Ye,onEnabledChange:a=>{let b=n;a?(r?.imageFiltersHandler._createFilter(b,"saturation",{saturation:1}),ht(!0)):(r?.imageFiltersHandler._removeFilter(b,"saturation"),ht(!1))},min:-1,max:1,step:.01,numberValue:Xe,onNumberValueChange:a=>{r?.imageFiltersHandler._changeAttr("saturation","saturation",a),_t(a)}}),f(N,{label:i("toolbar.vibrance"),visible:m,enabled:Ke,onEnabledChange:a=>{let b=n;a?(r?.imageFiltersHandler._createFilter(b,"vibrance",{vibrance:1}),xt(!0)):(r?.imageFiltersHandler._removeFilter(b,"vibrance"),xt(!1))},min:-1,max:1,step:.01,numberValue:Je,onNumberValueChange:a=>{r?.imageFiltersHandler._changeAttr("vibrance","vibrance",a),Dt(a)}}),f(N,{label:i("toolbar.hueRotation"),visible:m,enabled:qe,onEnabledChange:a=>{let b=n;a?(r?.imageFiltersHandler._createFilter(b,"hueRotation",{rotation:-.5}),vt(!0)):(r?.imageFiltersHandler._removeFilter(b,"hueRotation"),vt(!1))},min:-1,max:1,step:.01,numberValue:$e,onNumberValueChange:a=>{r?.imageFiltersHandler._changeAttr("hueRotation","rotation",a),Lt(a)}}),f(N,{label:i("toolbar.noise"),visible:m,enabled:Qe,onEnabledChange:a=>{let b=n;a?(r?.imageFiltersHandler._createFilter(b,"noise",{noise:30}),kt(!0)):(r?.imageFiltersHandler._removeFilter(b,"noise"),kt(!1))},min:0,max:1e3,step:1,numberValue:Ze,onNumberValueChange:a=>{r?.imageFiltersHandler._changeAttr("noise","noise",a),Ut(a)}}),f(N,{label:i("toolbar.pixelate"),visible:m,enabled:to,onEnabledChange:a=>{let b=n;a?(r?.imageFiltersHandler._createFilter(b,"pixelate",{blocksize:10}),Ct(!0)):(r?.imageFiltersHandler._removeFilter(b,"pixelate"),Ct(!1))},min:.01,max:100,step:.01,numberValue:eo,onNumberValueChange:a=>{r?.imageFiltersHandler._changeAttr("pixelate","blocksize",a),Gt(a)}}),d&&C(Pt,{children:[C("div",{style:te,children:[f("span",{children:i("toolbar.textStroke")}),f(Ht,{checked:!!St,onChange:a=>{Tt({strokeWidth:a?10:0,stroke:a?"red":null}),wt(a?10:0),Ft(a?"red":null)}})]}),!!St&&C("div",{style:{display:"flex",justifyContent:"space-between",padding:"6px"},children:[f(Zt,{value:oo,onChange:a=>{let b=a.toCssString();Tt({stroke:b}),Ft(b)}}),f(q,{value:St,onChange:a=>{Tt({strokeWidth:$(a,1,30)}),wt($(a,1,30))},style:{width:60},min:1,max:Math.round(n.fontSize/2)})]})]}),C("div",{style:te,children:[f("span",{children:i("toolbar.shadow")}),f(Ht,{checked:!!w.enabled,onChange:a=>{A("enabled",a)}})]}),w.enabled&&C(Pt,{children:[C("div",{style:it,children:[f("div",{children:i("toolbar.blur")}),f("div",{children:f(q,{value:w.blur,style:{width:60},min:0,max:50,onChange:a=>{A("blur",a)}})})]}),f(lt,{value:w.blur,onChange:a=>A("blur",a),min:0,max:50}),C("div",{style:it,children:[f("div",{children:i("toolbar.offsetX")}),f("div",{children:f(q,{value:w.offsetX,style:{width:60},min:-50,max:50,onChange:a=>{A("offsetX",$(a,-50,50))}})})]}),f(lt,{value:w.offsetX,onChange:a=>A("offsetX",a),min:-50,max:50}),C("div",{style:it,children:[f("div",{children:i("toolbar.offsetY")}),f("div",{children:f(q,{value:w.offsetY,style:{width:60},min:-50,max:50,onChange:a=>{A("offsetY",$(a,-50,50))}})})]}),f(lt,{value:w.offsetY,onChange:a=>A("offsetY",a),min:-50,max:50}),C("div",{style:it,children:[f("div",{children:i("toolbar.color")}),f(Zt,{defaultFormat:"rgb",value:w.color,onChange:a=>{A("color",a.toRgbString())}})]})]})]}),children:f(no,{type:"text",icon:f(lo,{size:16,style:{display:"flex"}}),styles:{root:{padding:"0 7px"}},children:i("toolbar.effects")})})});import{observer as so}from"mobx-react-lite";import{Popover as co,Button as po}from"antd";import{Pencil as mo}from"lucide-react";import{jsx as at}from"react/jsx-runtime";var ee=so(()=>at(co,{trigger:"click",content:at("div",{children:"AI write"}),children:at(po,{type:"text",icon:at(mo,{size:16,style:{display:"flex"}}),styles:{root:{padding:"0 7px"}},children:i("toolbar.aiText.aiWrite")})}));import{jsx as p,jsxs as Z}from"react/jsx-runtime";var{Search:Io}=yo,zo=({fontFamily:t,handleClick:e,modifiers:o,store:l,isCustom:n})=>{let[r,d]=S(!n);if(console.log("FontItem ---> ",d),tt(()=>{r||l.loadFont(t)},[t,r]),t==="_divider")return p("div",{style:{width:"100%",height:1,background:"#e8e8e8"}});let m=t;return p(R,{type:o.active?"primary":"text",block:!0,style:{justifyContent:"start"},onClick:()=>e(t),disabled:o.disabled,styles:{root:{fontFamily:'"'+t+'"'},content:{textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap"}},children:m})},Ro=({onChange:t,defaultValue:e})=>p(Io,{placeholder:e,allowClear:!0,onChange:o=>{t(o.target.value)},style:{width:210}}),Ao=({store:t,fonts:e,activeFont:o,activeFontLabel:l,onFontSelect:n})=>{let[r,d]=S(""),m=e.filter(y=>y.toLowerCase().includes(r.toLowerCase()));return p(ne,{content:Z("div",{children:[p(Ro,{defaultValue:"\u641C\u7D22\u5B57\u4F53",onChange:y=>d(y??"")}),p("div",{style:{paddingTop:5},children:p(Eo,{itemCount:m.length,itemSize:28,width:210,height:Math.min(400,28*m.length)+10,children:({index:y,style:c})=>{let s=m[y];return p("div",{style:{...c,display:"flex",alignItems:"center",justifyContent:"center"},children:p(zo,{fontFamily:s,modifiers:{active:o===s},handleClick:()=>n(s),store:t,isCustom:t.fonts.find(g=>g.fontFamily===s)||Bt.find(g=>g.fontFamily===s)},s)})}})})]}),trigger:"click",children:p(R,{type:"text",style:{marginRight:5,fontFamily:'"'+o+'"',overflow:"hidden",whiteSpace:"nowrap",maxHeight:30,padding:"0 10px"},icon:p(xo,{size:16,style:{display:"flex"}}),iconPlacement:"end",children:l})})},st=["left","center","right","justify"],No=U(({elements:t,store:e})=>{let o=e.fonts.concat(Bt).map(d=>d.fontFamily),l=t[0].fontFamily;l.length>15&&(l=l.slice(0,15)+"...");let n=qt(e.objects),r=[...new Set(n.concat("_divider").concat(o))];return p(Ao,{fonts:r,activeFont:t[0].fontFamily,activeFontLabel:l,store:e,onFontSelect:d=>{e.editor?.objectsHandler.setTextStyle({fontFamily:d})}})}),Q=t=>t?typeof t=="string"?t:t.colorStops?JSON.stringify(t.colorStops):JSON.stringify(t):"",Vo=U(({elements:t,store:e})=>{let o=t[0],l=go(()=>{let{selectionStart:c,selectionEnd:s}=o;if(c!==s&&c!==void 0){let g=o.getSelectionStyles(c,c+1);if(g.length>0&&g[0].fill!==void 0)return g[0].fill}return o.fill},[o]),[n,r]=S(()=>z(l())),d=oe(!1),m=oe(Q(l()));tt(()=>{let c=e.editor?.customCanvas?.canvas;if(!c)return;let s=()=>{if(!d.current){let g=l();m.current=Q(g),r(z(g))}};return c.on("text:selection:changed",s),c.on("text:editing:entered",s),c.on("text:editing:exited",s),()=>{c.off("text:selection:changed",s),c.off("text:editing:entered",s),c.off("text:editing:exited",s)}},[e.editor?.customCanvas?.canvas,l]),tt(()=>{if(!d.current){let c=l(),s=Q(c);s!==m.current&&(m.current=s,r(z(c)))}},[o,l]);let y=uo(()=>n,[Q(n)]);return p(fo,{value:y,allowClear:!0,mode:["single","gradient"],onOpenChange:c=>{if(d.current=c,!c){let s=l();m.current=Q(s)}},onChange:c=>{r(c)},onChangeComplete:c=>{let s=c.toCssString();if(s.includes("gradient")){let g=ho(s);e.editor?.objectsHandler.setTextStyle({fill:g})}else e.editor?.objectsHandler.setTextStyle({fill:s})}})}),Oo=U(({elements:t,store:e})=>{let[o,l]=S(t[0].fontSize);tt(()=>{l(t[0].fontSize)},[t[0]?.fontSize,e._updateFontSize]);let n=r=>{Number.isNaN(r)||(e.editor?.objectsHandler.setTextStyle({fontSize:Number(r)}),l(Number(r)))};return p(Et,{min:1,max:4*e.height,value:Math.round(o),onChange:n,style:{width:75},styles:{actions:{opacity:1,width:24}}})}),jo=U(({elements:t,store:e})=>{let o=t[0],[l,n]=S(o.textAlign),[r,d]=S(o.fontWeight),[m,y]=S(o.fontStyle),[c,s]=S(o.underline),[g,B]=S(o.linethrough),[H,I]=S(o.splitByGrapheme);return tt(()=>{n(o.textAlign),d(o.fontWeight),y(o.fontStyle),s(o.underline),B(o.linethrough),I(o.splitByGrapheme)},[o]),Z(bo.Compact,{children:[p(L,{placement:"bottom",title:i(`toolbar.text${l}`),children:p(R,{type:"text",icon:l==="left"?p(vo,{size:16,style:{display:"flex"}}):l==="center"?p(ko,{size:16,style:{display:"flex"}}):l==="right"?p(Co,{size:16,style:{display:"flex"}}):p(Fo,{size:16,style:{display:"flex"}}),onClick:()=>{let P=(st.indexOf(l)+1+st.length)%st.length,M=st[P];e.editor?.objectsHandler.setTextStyle({textAlign:M}),n(M)}})}),p(L,{placement:"bottom",title:i("toolbar.textBold"),children:p(R,{type:r==="bold"||r==="700"?"primary":"text",icon:p(So,{size:16,style:{display:"flex"}}),onClick:()=>{r==="bold"||r==="700"?(e.editor?.objectsHandler.setTextStyle({fontWeight:"normal"}),d("normal")):(e.editor?.objectsHandler.setTextStyle({fontWeight:"bold"}),d("bold"))}})}),p(L,{placement:"bottom",title:i("toolbar.textItalic"),children:p(R,{type:m==="italic"?"primary":"text",icon:p(wo,{size:16,style:{display:"flex"}}),onClick:()=>{m==="italic"?(e.editor?.objectsHandler.setTextStyle({fontStyle:"normal"}),y("normal")):(e.editor?.objectsHandler.setTextStyle({fontStyle:"italic"}),y("italic"))}})}),p(L,{placement:"bottom",title:i("toolbar.textUnderline"),children:p(R,{type:c?"primary":"text",icon:p(To,{size:16,style:{display:"flex"}}),onClick:()=>{e.editor?.objectsHandler.setTextStyle({underline:!c}),s(!c)}})}),p(L,{placement:"bottom",title:i("toolbar.textStrikethrough"),children:p(R,{type:g?"primary":"text",icon:p(Bo,{size:16,style:{display:"flex"}}),onClick:()=>{e.editor?.objectsHandler.setTextStyle({linethrough:!g}),B(!g)}})}),p(L,{placement:"bottom",title:i("toolbar.splitByGrapheme"),children:p(R,{type:H?"primary":"text",icon:p(Po,{size:16,style:{display:"flex"}}),onClick:()=>{e.editor?.objectsHandler.setTextStyle({splitByGrapheme:!H}),I(!H)}})})]})}),Mo=U(({elements:t,store:e})=>{let o=t[0],l={display:"flex",alignItems:"center",justifyContent:"space-between",paddingTop:"5px",paddingBottom:"5px"},n=typeof o.lineHeight=="number"?100*o.lineHeight:120,[r,d]=S(n),[m,y]=S(o.charSpacing),c=s=>{e.editor?.objectsHandler.setTextStyle(s)};return p(ne,{trigger:"click",content:Z("div",{style:{padding:"0 6px",width:"230px"},children:[Z("div",{style:l,children:[p("div",{children:i("toolbar.lineHeight")}),p("div",{children:p(Et,{min:50,max:250,value:Math.round(r),style:{width:80},onChange:s=>{c({lineHeight:s/100}),d(s)}})})]}),p(re,{value:Math.round(r),min:50,max:250,step:1,onChange:s=>{c({lineHeight:s/100}),d(s)}}),Z("div",{style:l,children:[p("div",{children:i("toolbar.letterSpacing")}),p("div",{children:p(Et,{min:-50,max:250,value:Math.round(m/10),style:{width:80},onChange:s=>{c({charSpacing:(s??0)*10}),y((s??0)*10)}})})]}),p(re,{value:Math.round(m/10),min:-50,max:250,step:1,onChange:s=>{c({charSpacing:(s??0)*10}),y((s??0)*10)}})]}),children:p(R,{type:"text",icon:p(Ho,{size:16,style:{display:"flex"}})})})}),Wo={TextFill:Vo,TextFontFamily:No,TextFontSize:Oo,TextFontVariant:jo,TextSpacing:Mo,TextFilters:D,TextAiWrite:ee},_o=U(({store:t,components:e})=>{let o=t.selectedElements,n=W({type:"text",usedItems:["TextFill","TextFontFamily","TextFontSize","TextFontVariant","TextSpacing","TextFilters","TextAiWrite"],components:e});return p(_,{items:n,itemRender:r=>{let d=e[r]||Wo[r];return d&&p(d,{elements:o,element:o[0],store:t},r)}})}),ie=_o;import{Tooltip as le,Button as ae}from"antd";import{Undo2 as Do,Redo2 as Lo}from"lucide-react";import{observer as Uo}from"mobx-react-lite";import{useEffect as Go,useState as Yo}from"react";import{jsx as G,jsxs as Xo}from"react/jsx-runtime";var se=Uo(({store:t})=>{let[e,o]=Yo({hasUndo:!1,hasRedo:!1});return Go(()=>{let l=t.editor,n=r=>{o(r)};return l&&l.on("history:changed",n),()=>{l&&l.off("history:changed",n)}},[t.editor]),Xo(It,{style:{float:"left",paddingRight:10},children:[G(le,{title:i("toolbar.undo"),placement:"bottom",children:G(ae,{type:"text",disabled:!e.hasUndo,styles:{root:{padding:"0 7px"}},onClick:()=>{t.editor?.historyHandler.undo()},children:G(Do,{size:16})})}),G(le,{title:i("toolbar.redo"),placement:"bottom",children:G(ae,{type:"text",disabled:!e.hasRedo,styles:{root:{padding:"0 7px"}},onClick:()=>{t.editor?.historyHandler.redo()},children:G(Lo,{size:16})})})]})});import{observer as wn}from"mobx-react-lite";import{Layers as Ko}from"lucide-react";import{Popover as Jo,Button as F,Divider as zt}from"antd";import{observer as qo}from"mobx-react-lite";import{ChevronUp as $o,ChevronsUp as Qo,ChevronDown as Zo,ChevronsDown as tr,AlignStartVertical as er,AlignCenterVertical as or,AlignEndVertical as rr,AlignStartHorizontal as nr,AlignCenterHorizontal as ir,AlignEndHorizontal as lr,AlignVerticalSpaceAround as ar,AlignHorizontalSpaceAround as sr}from"lucide-react";import{Fragment as ce,jsx as u,jsxs as T}from"react/jsx-runtime";var de=qo(({store:t})=>{let e=t.selectedElements.length>0,o=t.selectedElementsIds,l=t.selectedElements.every(r=>r?.locked),n=!l&&t.selectedElements.length>1;return u(Jo,{styles:{container:{padding:"10px 5px"}},content:T("div",{style:{width:280},children:[u(zt,{size:"small",children:i("toolbar.layering")}),T("div",{style:{display:"flex"},children:[T("div",{style:{width:"50%"},children:[u(F,{type:"text",block:!0,icon:u($o,{size:16}),disabled:!t.canMoveElementsUp(o),onClick:()=>{t.moveElementsUp(o)},children:u("span",{className:"w-[70px] text-left text-xs",children:i("toolbar.up")})}),u(F,{type:"text",block:!0,icon:u(Qo,{size:16}),disabled:!t.canMoveElementsTop(o),onClick:()=>{t.moveElementsTop(o)},children:u("span",{className:"w-[70px] text-left text-xs",children:i("toolbar.toForward")})})]}),T("div",{style:{width:"50%"},children:[u(F,{type:"text",block:!0,icon:u(Zo,{size:16}),disabled:!t.canMoveElementsDown(o),onClick:()=>{t.moveElementsDown(o)},children:u("span",{className:"w-[70px] text-left text-xs",children:i("toolbar.down")})}),u(F,{type:"text",block:!0,icon:u(tr,{size:16}),disabled:!t.canMoveElementsBottom(o),onClick:()=>{t.moveElementsBottom(o)},children:u("span",{className:"w-[70px] text-left text-xs",children:i("toolbar.toBottom")})})]})]}),!l&&T(ce,{children:[u(zt,{size:"small",children:i("toolbar.position")}),T("div",{style:{display:"flex"},children:[T("div",{style:{width:"50%"},children:[u(F,{type:"text",block:!0,icon:u(er,{size:16}),onClick:()=>{t.editor?.alignmentHandler.alignLeft()},children:u("span",{className:"w-[70px] text-left text-xs",children:i("toolbar.alignLeft")})}),u(F,{type:"text",block:!0,icon:u(or,{size:16}),onClick:()=>{t.editor?.alignmentHandler.alignCenter()},children:u("span",{className:"w-[70px] text-left text-xs",children:i("toolbar.alignCenter")})}),u(F,{type:"text",block:!0,icon:u(rr,{size:16}),onClick:()=>{t.editor?.alignmentHandler.alignRight()},children:u("span",{className:"w-[70px] text-left text-xs",children:i("toolbar.alignRight")})})]}),T("div",{style:{width:"50%"},children:[u(F,{type:"text",block:!0,icon:u(nr,{size:16}),onClick:()=>{t.editor?.alignmentHandler.alignTop()},children:u("span",{className:"w-[70px] text-left text-xs",children:i("toolbar.alignTop")})}),u(F,{type:"text",block:!0,icon:u(ir,{size:16}),onClick:()=>{t.editor?.alignmentHandler.alignMiddle()},children:u("span",{className:"w-[70px] text-left text-xs",children:i("toolbar.alignMiddle")})}),u(F,{type:"text",block:!0,icon:u(lr,{size:16}),onClick:()=>{t.editor?.alignmentHandler.alignBottom()},children:u("span",{className:"w-[70px] text-left text-xs",children:i("toolbar.alignBottom")})})]})]})]}),n&&T(ce,{children:[u(zt,{size:"small",children:i("toolbar.spaceEvenly")}),T("div",{style:{display:"flex"},children:[u("div",{style:{width:"50%"},children:u(F,{type:"text",block:!0,icon:u(ar,{size:16}),onClick:()=>{t.editor?.alignmentHandler.yequation()},children:u("span",{className:"w-[70px] text-left text-xs",children:i("toolbar.verticalDistribution")})})}),u("div",{style:{width:"50%"},children:u(F,{type:"text",block:!0,icon:u(sr,{size:16}),onClick:()=>{t.editor?.alignmentHandler.xequation()},children:u("span",{className:"w-[70px] text-left text-xs",children:i("toolbar.horizontalDistribution")})})})]})]})]}),trigger:"click",placement:"bottom",children:T(F,{type:"text",disabled:!e,styles:{root:{padding:"0 7px"}},children:[u(Ko,{size:16}),i("toolbar.position")]})})});import{Blend as cr}from"lucide-react";import{Popover as dr,Tooltip as pr,Button as mr,InputNumber as gr,Slider as ur}from"antd";import{observer as fr}from"mobx-react-lite";import{useState as yr,useEffect as br}from"react";import{jsx as V,jsxs as pe}from"react/jsx-runtime";var me=fr(({store:t})=>{let e=t.selectedShapes.length>0,o=t.selectedShapes[0],[l,n]=yr(()=>Math.round(100*(o?.opacity??1)));br(()=>{o&&n(Math.round(100*(o.opacity??1)))},[o,o?.opacity]);let r=d=>{let m=Math.max(0,Math.min(d,100));n(m),t.set({opacity:m/100})};return V(pr,{title:i("toolbar.transparency"),placement:"bottom",children:V(dr,{content:pe("div",{children:[V("div",{style:{textAlign:"center",marginBottom:10},children:i("toolbar.transparency")}),pe("div",{style:{display:"flex"},children:[V("div",{style:{width:170,paddingRight:20},children:V(ur,{min:0,max:100,onChange:r,value:l})}),V(gr,{min:0,max:100,value:l,onChange:r,size:"small",styles:{root:{width:65}}})]})]}),trigger:"click",children:V(mr,{type:"text",disabled:!e,styles:{root:{padding:"0 7px"}},children:V(cr,{size:16})})})})});import{LockKeyholeOpen as hr,LockKeyhole as xr}from"lucide-react";import{Tooltip as vr,Button as kr}from"antd";import{useCallback as ge}from"react";var ue=({store:t})=>{let e=t.selectedShapes.length>0,l=t.selectedShapes[0]?.locked;return{disabled:!e,lock:ge(()=>{t.editor?.lockHandler.lock()},[l,t]),unlock:ge(()=>{t.editor?.lockHandler.unlock()},[l,t]),locked:l}};import{observer as Cr}from"mobx-react-lite";import{jsx as Rt}from"react/jsx-runtime";var fe=Cr(({store:t})=>{let{disabled:e,locked:o,lock:l,unlock:n}=ue({store:t}),r=o?xr:hr,d=i(o?"toolbar.lockedDescription":"toolbar.unlockedDescription");return Rt(vr,{title:d,placement:"bottom",children:Rt(kr,{type:"text",styles:{root:{padding:"0 7px"}},disabled:e,onClick:()=>{o?n():l()},children:Rt(r,{size:16})})})});import{Copy as Sr}from"lucide-react";import{Tooltip as wr,Button as Tr}from"antd";import{observer as Br}from"mobx-react-lite";import{useCallback as Fr}from"react";var ye=({store:t})=>{let e=t.selectedElements.length>0,o=t.selectedElements.every(r=>r?.locked===!0),l=!e||o,n=Fr(()=>{t.clone()},[t]);return{disabled:l,duplicate:n}};import{jsx as At}from"react/jsx-runtime";var be=Br(({store:t})=>{let{disabled:e,duplicate:o}=ye({store:t});return At(wr,{title:i("toolbar.duplicateElements"),placement:"bottom",children:At(Tr,{type:"text",styles:{root:{padding:"0 7px"}},disabled:e,onClick:()=>{o()},children:At(Sr,{size:16})})})});import{Trash2 as Pr}from"lucide-react";import{Tooltip as Er,Button as Ir}from"antd";import{useCallback as Hr}from"react";var he=({store:t})=>{let e=t.selectedElements.filter(l=>!l?.locked),o=Hr(()=>{t.deleteElements(e.map(l=>l.id))},[t,e]);return{disabled:!e.length,remove:o}};import{observer as zr}from"mobx-react-lite";import{jsx as Nt}from"react/jsx-runtime";var xe=zr(({store:t})=>{let{disabled:e,remove:o}=he({store:t});return Nt(Er,{title:i("toolbar.removeElements"),placement:"bottom",children:Nt(Ir,{type:"text",styles:{root:{padding:"0 7px"}},disabled:e,onClick:()=>{o()},children:Nt(Pr,{size:16})})})});import{Button as ve}from"antd";import{observer as Rr}from"mobx-react-lite";import{Fragment as Ar,jsx as ke,jsxs as Nr}from"react/jsx-runtime";var Ce=Rr(({store:t})=>{let e=t.selectedElements.length>1,o=t.selectedElements.length===1&&t.selectedElements[0]?.type==="group";return Nr(Ar,{children:[e&&ke(ve,{type:"text",onClick:()=>{t.editor?.objectsHandler.group()},children:i("toolbar.groupElements")}),o&&ke(ve,{type:"text",onClick:()=>{t.editor?.objectsHandler.ungroup()},children:i("toolbar.ungroupElements")})]})});import{observer as pt}from"mobx-react-lite";import{Button as dt,Tooltip as rn,Popover as nn}from"antd";import{Crop as ln}from"lucide-react";import an from"styled-components";import{Popover as Vr,Button as Vt}from"antd";import{Rotate3d as Or,FlipHorizontal as jr,FlipVertical as Mr}from"lucide-react";import{useState as Wr,useEffect as _r,useCallback as Fe}from"react";import{observer as Dr}from"mobx-react-lite";import{jsx as j,jsxs as Lr}from"react/jsx-runtime";var Se=Dr(({element:t,store:e})=>{let[o,l]=Wr({flipX:!1,flipY:!1}),n=Fe(()=>{e.editor?.objectsHandler.update({flipX:!o.flipX}),l({...o,flipX:!o.flipX})},[e.editor,o]),r=Fe(()=>{e.editor?.objectsHandler.update({flipY:!o.flipY}),l({...o,flipY:!o.flipY})},[e.editor,o]);return _r(()=>{t&&l({flipX:t.flipX,flipY:t.flipY})},[t]),j(Vr,{trigger:"click",content:Lr("div",{style:{width:165},children:[j(Vt,{type:"text",block:!0,style:{justifyContent:"start"},icon:j(jr,{size:16,style:{display:"flex"}}),onClick:n,children:i("toolbar.flipHorizontally")}),j(Vt,{type:"text",block:!0,style:{justifyContent:"start"},icon:j(Mr,{size:16,style:{display:"flex"}}),onClick:r,children:i("toolbar.flipVertically")})]}),children:j(Vt,{type:"text",icon:j(Or,{size:16,style:{display:"flex"}}),styles:{root:{padding:"0 7px"}},children:i("toolbar.flip")})})});import{Button as Ur,Modal as Gr}from"antd";import{useState as we,useEffect as Yr}from"react";import{observer as Te}from"mobx-react-lite";import{Fragment as Kr,jsx as ct,jsxs as Jr}from"react/jsx-runtime";var Xr=Te(({isOpen:t,onClose:e,element:o})=>{let[l,n]=we(o.getSrc());return Yr(()=>{n(o.getSrc())},[o.id]),ct(Gr,{title:i("toolbar.removeBackgroundTitle"),open:t,onOk:e,onCancel:e,width:{xs:"90%",sm:"80%",md:"70%",lg:"60%",xl:"50%",xxl:"40%"},styles:{body:{padding:"35px 0"}},okText:i("toolbar.confirmRemoveBackground"),cancelText:i("toolbar.cancelRemoveBackground"),children:ct("img",{src:l,style:{width:"100%",maxHeight:"400px",objectFit:"contain"}})})}),Be=Te(({element:t})=>{let[e,o]=we(!1);return Jr(Kr,{children:[ct(Ur,{type:"text",styles:{root:{padding:"0 7px"}},onClick:()=>o(!0),children:i("toolbar.removeBackground")}),ct(Xr,{isOpen:e,onClose:()=>o(!1),element:t})]})});import{Button as qr,Modal as $r}from"antd";import{Eraser as Qr}from"lucide-react";import{useState as He,useEffect as Zr}from"react";import{observer as Pe}from"mobx-react-lite";import{Fragment as en,jsx as et,jsxs as on}from"react/jsx-runtime";var tn=Pe(({isOpen:t,onClose:e,element:o})=>{let[l,n]=He(o.getSrc());return Zr(()=>{n(o.getSrc())},[o.id]),et($r,{title:i("toolbar.eraserPenTitle"),open:t,onOk:e,onCancel:e,width:{xs:"90%",sm:"80%",md:"70%",lg:"60%",xl:"50%",xxl:"40%"},styles:{body:{padding:"35px 0"}},okText:i("toolbar.confirmEraserPen"),cancelText:i("toolbar.cancelEraserPen"),children:et("img",{src:l,style:{width:"100%",maxHeight:"400px",objectFit:"contain"}})})}),Ee=Pe(({element:t})=>{let[e,o]=He(!1);return on(en,{children:[et(qr,{type:"text",icon:et(Qr,{size:16,style:{display:"flex"}}),styles:{root:{padding:"0 7px"}},onClick:()=>o(!0),children:i("toolbar.eraserPen")}),et(tn,{isOpen:e,onClose:()=>o(!1),element:t})]})});function Ie(t,e){let o=t.width/t.height,l=e.width/e.height,n,r;o>=l?(n=e.width,r=e.width/o):(n=e.height*o,r=e.height);let d=(e.width-n)/2,m=(e.height-r)/2;return{cropX:d,cropY:m,width:n,height:r}}function ze(t){return"data:image/svg+xml;base64,"+window.btoa(unescape(encodeURIComponent(t)))}import{jsx as v}from"react/jsx-runtime";var sn=Object.keys(Xt),cn=[{width:300,height:300,fill:"lightgray",stroke:"#0c0c0c",strokeWidth:0,url:""}],Re=[];sn.forEach(t=>{cn.forEach(e=>{Re.push(Object.assign({subType:t},e))})});Re.forEach(t=>{t.url=ze(Kt(t))});var dn=an.div`
1
+ import{a as Bt}from"../chunk-YBC2DYJX.js";import{d as W,e as _,g as $t}from"../chunk-VIU27HHW.js";import{a as nt}from"../chunk-EWOU5F3O.js";import{a as z,c as qt}from"../chunk-RVXI723F.js";import{a as Xt,b as Kt,d as Jt}from"../chunk-RDTTU3WB.js";import"../chunk-T7KNIGCA.js";import{b as Qt}from"../chunk-AMEXYVS6.js";import{c as i}from"../chunk-Q7N7SBSC.js";import"../chunk-O2XFH626.js";import jt from"styled-components";import{useRef as Sn}from"react";import{observer as U}from"mobx-react-lite";import{useEffect as tt,useState as S,useCallback as go,useRef as oe,useMemo as uo}from"react";import{ColorPicker as fo,Popover as ne,Button as R,Input as yo,InputNumber as Et,Space as bo,Slider as re,Tooltip as L}from"antd";import{cssGradient2FabricGradient as ho}from"@ydesign/core";import{ChevronDown as xo,TextAlignStart as vo,TextAlignCenter as ko,TextAlignEnd as Co,TextAlignJustify as Fo,Bold as So,Italic as wo,Underline as To,Strikethrough as Bo,ListChevronsUpDown as Ho,TextWrap as Po}from"lucide-react";import{FixedSizeList as Eo}from"react-window";import{Popover as ro,Button as no,Switch as Ht,Slider as lt,InputNumber as q,ColorPicker as Zt}from"antd";import{observer as io}from"mobx-react-lite";import{Sparkles as lo}from"lucide-react";import{useEffect as ao,useState as x}from"react";import{Fragment as Pt,jsx as f,jsxs as C}from"react/jsx-runtime";var $=(t,e,o)=>Math.max(e,Math.min(o,t)),te={display:"inline-flex",justifyContent:"space-between",width:"100%",padding:6},it={display:"flex",alignItems:"center",justifyContent:"space-between",padding:6},N=({label:t,enabled:e,visible:o=!0,onEnabledChange:l,numberValue:n,min:r,max:d,onNumberValueChange:m,step:y})=>o?C(Pt,{children:[C("div",{style:{display:"inline-flex",justifyContent:"space-between",width:"100%",padding:"6px"},children:[f("span",{children:t}),f(Ht,{checked:e,onChange:c=>{l(c)}})]}),e?C("div",{style:{display:"flex",width:"100%",justifyContent:"space-between",marginTop:10,marginBottom:10},children:[f("div",{style:{flex:1},children:f(lt,{value:n,onChange:c=>{m(c)},min:r,max:d,step:y})}),f(q,{size:"small",style:{width:60,marginLeft:10},value:n,step:y,onChange:c=>{m($(c,r,d))}})]}):null]}):null,D=io(({element:t,store:e,elements:o})=>{let n=(o||[t])[0],r=e.editor,d=n?.type==="textbox",m=n?.type==="image",y=r?.imageFiltersHandler.getFilter("blur"),c=r?.imageFiltersHandler.getFilter("brightness"),s=r?.imageFiltersHandler.getFilter("contrast"),g=r?.imageFiltersHandler.getFilter("saturation"),B=r?.imageFiltersHandler.getFilter("vibrance"),H=r?.imageFiltersHandler.getFilter("hueRotation"),I=r?.imageFiltersHandler.getFilter("noise"),P=r?.imageFiltersHandler.getFilter("pixelate"),[M,J]=x(!!y),[ft,rt]=x(y?.blur||.5),[E,yt]=x(!!c),[Le,Mt]=x(c?.brightness||.05),[Ue,bt]=x(!!s),[Ge,Wt]=x(s?.contrast||.25),[Ye,ht]=x(!!g),[Xe,_t]=x(g?.saturation||1),[Ke,xt]=x(!!B),[Je,Dt]=x(B?.vibrance||1),[qe,vt]=x(!!H),[$e,Lt]=x(H?.rotation||-.5),[Qe,kt]=x(!!I),[Ze,Ut]=x(I?.noise||30),[to,Ct]=x(!!P),[eo,Gt]=x(P?.blocksize||30),[oo,Ft]=x(n?.stroke),[St,wt]=x(n?.strokeWidth),[w,Yt]=x({enabled:!!n?.shadow,offsetX:n?.shadow?.offsetX||15,offsetY:n?.shadow?.offsetY||15,blur:n?.shadow?.blur||25,color:n?.shadow?.color||"rgba(0,0,0,0.45)",affectStroke:!1,nonScaling:!1,type:"shadow"});ao(()=>{Ft(n?.stroke),wt(n?.strokeWidth),Yt({enabled:!!n?.shadow,offsetX:n?.shadow?.offsetX||15,offsetY:n?.shadow?.offsetY||15,blur:n?.shadow?.blur||25,color:n?.shadow?.color||"rgba(0,0,0,0.45)",affectStroke:!1,nonScaling:!1,type:"shadow"}),J(!!y),rt(y?.blur||.5),yt(!!c),Mt(c?.brightness||.05),bt(!!s),Wt(s?.contrast||.25),ht(!!g),_t(g?.saturation||1),xt(!!B),Dt(B?.vibrance||1),vt(!!H),Lt(H?.rotation||-.5),kt(!!I),Ut(I?.noise||30),Ct(!!P),Gt(P?.blocksize||30)},[n]);let Tt=a=>{r?.objectsHandler.setTextStyle(a)},A=(a,b)=>{Yt({...w,[a]:b}),r&&r.objectsHandler.setShadow({...w,[a]:b})};return f(ro,{trigger:"click",content:C("div",{style:{width:"280px",maxHeight:"calc(100vh - 150px)",overflow:"auto"},children:[f(N,{label:i("toolbar.blur"),visible:m,enabled:M,onEnabledChange:a=>{let b=n;a?(r?.imageFiltersHandler._createFilter(b,"blur",{blur:.5}),J(!0)):(r?.imageFiltersHandler._removeFilter(b,"blur"),J(!1))},min:0,max:1,step:.1,numberValue:ft,onNumberValueChange:a=>{r?.imageFiltersHandler._changeAttr("blur","blur",a),rt(a)}}),f(N,{label:i("toolbar.brightness"),visible:m,enabled:E,onEnabledChange:a=>{let b=n;a?(r?.imageFiltersHandler._createFilter(b,"brightness",{brightness:.05}),yt(!0)):(r?.imageFiltersHandler._removeFilter(b,"brightness"),yt(!1))},min:-1,max:1,step:.01,numberValue:Le,onNumberValueChange:a=>{r?.imageFiltersHandler._changeAttr("brightness","brightness",a),Mt(a)}}),f(N,{label:i("toolbar.contrast"),visible:m,enabled:Ue,onEnabledChange:a=>{let b=n;a?(r?.imageFiltersHandler._createFilter(b,"contrast",{contrast:.25}),bt(!0)):(r?.imageFiltersHandler._removeFilter(b,"contrast"),bt(!1))},min:-1,max:1,step:.01,numberValue:Ge,onNumberValueChange:a=>{r?.imageFiltersHandler._changeAttr("contrast","contrast",a),Wt(a)}}),f(N,{label:i("toolbar.saturation"),visible:m,enabled:Ye,onEnabledChange:a=>{let b=n;a?(r?.imageFiltersHandler._createFilter(b,"saturation",{saturation:1}),ht(!0)):(r?.imageFiltersHandler._removeFilter(b,"saturation"),ht(!1))},min:-1,max:1,step:.01,numberValue:Xe,onNumberValueChange:a=>{r?.imageFiltersHandler._changeAttr("saturation","saturation",a),_t(a)}}),f(N,{label:i("toolbar.vibrance"),visible:m,enabled:Ke,onEnabledChange:a=>{let b=n;a?(r?.imageFiltersHandler._createFilter(b,"vibrance",{vibrance:1}),xt(!0)):(r?.imageFiltersHandler._removeFilter(b,"vibrance"),xt(!1))},min:-1,max:1,step:.01,numberValue:Je,onNumberValueChange:a=>{r?.imageFiltersHandler._changeAttr("vibrance","vibrance",a),Dt(a)}}),f(N,{label:i("toolbar.hueRotation"),visible:m,enabled:qe,onEnabledChange:a=>{let b=n;a?(r?.imageFiltersHandler._createFilter(b,"hueRotation",{rotation:-.5}),vt(!0)):(r?.imageFiltersHandler._removeFilter(b,"hueRotation"),vt(!1))},min:-1,max:1,step:.01,numberValue:$e,onNumberValueChange:a=>{r?.imageFiltersHandler._changeAttr("hueRotation","rotation",a),Lt(a)}}),f(N,{label:i("toolbar.noise"),visible:m,enabled:Qe,onEnabledChange:a=>{let b=n;a?(r?.imageFiltersHandler._createFilter(b,"noise",{noise:30}),kt(!0)):(r?.imageFiltersHandler._removeFilter(b,"noise"),kt(!1))},min:0,max:1e3,step:1,numberValue:Ze,onNumberValueChange:a=>{r?.imageFiltersHandler._changeAttr("noise","noise",a),Ut(a)}}),f(N,{label:i("toolbar.pixelate"),visible:m,enabled:to,onEnabledChange:a=>{let b=n;a?(r?.imageFiltersHandler._createFilter(b,"pixelate",{blocksize:10}),Ct(!0)):(r?.imageFiltersHandler._removeFilter(b,"pixelate"),Ct(!1))},min:.01,max:100,step:.01,numberValue:eo,onNumberValueChange:a=>{r?.imageFiltersHandler._changeAttr("pixelate","blocksize",a),Gt(a)}}),d&&C(Pt,{children:[C("div",{style:te,children:[f("span",{children:i("toolbar.textStroke")}),f(Ht,{checked:!!St,onChange:a=>{Tt({strokeWidth:a?10:0,stroke:a?"red":null}),wt(a?10:0),Ft(a?"red":null)}})]}),!!St&&C("div",{style:{display:"flex",justifyContent:"space-between",padding:"6px"},children:[f(Zt,{value:oo,onChange:a=>{let b=a.toCssString();Tt({stroke:b}),Ft(b)}}),f(q,{value:St,onChange:a=>{Tt({strokeWidth:$(a,1,30)}),wt($(a,1,30))},style:{width:60},min:1,max:Math.round(n.fontSize/2)})]})]}),C("div",{style:te,children:[f("span",{children:i("toolbar.shadow")}),f(Ht,{checked:!!w.enabled,onChange:a=>{A("enabled",a)}})]}),w.enabled&&C(Pt,{children:[C("div",{style:it,children:[f("div",{children:i("toolbar.blur")}),f("div",{children:f(q,{value:w.blur,style:{width:60},min:0,max:50,onChange:a=>{A("blur",a)}})})]}),f(lt,{value:w.blur,onChange:a=>A("blur",a),min:0,max:50}),C("div",{style:it,children:[f("div",{children:i("toolbar.offsetX")}),f("div",{children:f(q,{value:w.offsetX,style:{width:60},min:-50,max:50,onChange:a=>{A("offsetX",$(a,-50,50))}})})]}),f(lt,{value:w.offsetX,onChange:a=>A("offsetX",a),min:-50,max:50}),C("div",{style:it,children:[f("div",{children:i("toolbar.offsetY")}),f("div",{children:f(q,{value:w.offsetY,style:{width:60},min:-50,max:50,onChange:a=>{A("offsetY",$(a,-50,50))}})})]}),f(lt,{value:w.offsetY,onChange:a=>A("offsetY",a),min:-50,max:50}),C("div",{style:it,children:[f("div",{children:i("toolbar.color")}),f(Zt,{defaultFormat:"rgb",value:w.color,onChange:a=>{A("color",a.toRgbString())}})]})]})]}),children:f(no,{type:"text",icon:f(lo,{size:16,style:{display:"flex"}}),styles:{root:{padding:"0 7px"}},children:i("toolbar.effects")})})});import{observer as so}from"mobx-react-lite";import{Popover as co,Button as po}from"antd";import{Pencil as mo}from"lucide-react";import{jsx as at}from"react/jsx-runtime";var ee=so(()=>at(co,{trigger:"click",content:at("div",{children:"AI write"}),children:at(po,{type:"text",icon:at(mo,{size:16,style:{display:"flex"}}),styles:{root:{padding:"0 7px"}},children:i("toolbar.aiText.aiWrite")})}));import{jsx as p,jsxs as Z}from"react/jsx-runtime";var{Search:Io}=yo,zo=({fontFamily:t,handleClick:e,modifiers:o,store:l,isCustom:n})=>{let[r,d]=S(!n);if(console.log("FontItem ---> ",d),tt(()=>{r||l.loadFont(t)},[t,r]),t==="_divider")return p("div",{style:{width:"100%",height:1,background:"#e8e8e8"}});let m=t;return p(R,{type:o.active?"primary":"text",block:!0,style:{justifyContent:"start"},onClick:()=>e(t),disabled:o.disabled,styles:{root:{fontFamily:'"'+t+'"'},content:{textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap"}},children:m})},Ro=({onChange:t,defaultValue:e})=>p(Io,{placeholder:e,allowClear:!0,onChange:o=>{t(o.target.value)},style:{width:210}}),Ao=({store:t,fonts:e,activeFont:o,activeFontLabel:l,onFontSelect:n})=>{let[r,d]=S(""),m=e.filter(y=>y.toLowerCase().includes(r.toLowerCase()));return p(ne,{content:Z("div",{children:[p(Ro,{defaultValue:"\u641C\u7D22\u5B57\u4F53",onChange:y=>d(y??"")}),p("div",{style:{paddingTop:5},children:p(Eo,{itemCount:m.length,itemSize:28,width:210,height:Math.min(400,28*m.length)+10,children:({index:y,style:c})=>{let s=m[y];return p("div",{style:{...c,display:"flex",alignItems:"center",justifyContent:"center"},children:p(zo,{fontFamily:s,modifiers:{active:o===s},handleClick:()=>n(s),store:t,isCustom:t.fonts.find(g=>g.fontFamily===s)||Bt.find(g=>g.fontFamily===s)},s)})}})})]}),trigger:"click",children:p(R,{type:"text",style:{marginRight:5,fontFamily:'"'+o+'"',overflow:"hidden",whiteSpace:"nowrap",maxHeight:30,padding:"0 10px"},icon:p(xo,{size:16,style:{display:"flex"}}),iconPlacement:"end",children:l})})},st=["left","center","right","justify"],No=U(({elements:t,store:e})=>{let o=e.fonts.concat(Bt).map(d=>d.fontFamily),l=t[0].fontFamily;l.length>15&&(l=l.slice(0,15)+"...");let n=qt(e.objects),r=[...new Set(n.concat("_divider").concat(o))];return p(Ao,{fonts:r,activeFont:t[0].fontFamily,activeFontLabel:l,store:e,onFontSelect:d=>{e.editor?.objectsHandler.setTextStyle({fontFamily:d})}})}),Q=t=>t?typeof t=="string"?t:t.colorStops?JSON.stringify(t.colorStops):JSON.stringify(t):"",Vo=U(({elements:t,store:e})=>{let o=t[0],l=go(()=>{let{selectionStart:c,selectionEnd:s}=o;if(c!==s&&c!==void 0){let g=o.getSelectionStyles(c,c+1);if(g.length>0&&g[0].fill!==void 0)return g[0].fill}return o.fill},[o]),[n,r]=S(()=>z(l())),d=oe(!1),m=oe(Q(l()));tt(()=>{let c=e.editor?.customCanvas?.canvas;if(!c)return;let s=()=>{if(!d.current){let g=l();m.current=Q(g),r(z(g))}};return c.on("text:selection:changed",s),c.on("text:editing:entered",s),c.on("text:editing:exited",s),()=>{c.off("text:selection:changed",s),c.off("text:editing:entered",s),c.off("text:editing:exited",s)}},[e.editor?.customCanvas?.canvas,l]),tt(()=>{if(!d.current){let c=l(),s=Q(c);s!==m.current&&(m.current=s,r(z(c)))}},[o,l]);let y=uo(()=>n,[Q(n)]);return p(fo,{value:y,allowClear:!0,mode:["single","gradient"],onOpenChange:c=>{if(d.current=c,!c){let s=l();m.current=Q(s)}},onChange:c=>{r(c)},onChangeComplete:c=>{let s=c.toCssString();if(s.includes("gradient")){let g=ho(s);e.editor?.objectsHandler.setTextStyle({fill:g})}else e.editor?.objectsHandler.setTextStyle({fill:s})}})}),Oo=U(({elements:t,store:e})=>{let[o,l]=S(t[0].fontSize);tt(()=>{l(t[0].fontSize)},[t[0]?.fontSize,e._updateFontSize]);let n=r=>{Number.isNaN(r)||(e.editor?.objectsHandler.setTextStyle({fontSize:Number(r)}),l(Number(r)))};return p(Et,{min:1,max:4*e.height,value:Math.round(o),onChange:n,style:{width:75},styles:{actions:{opacity:1,width:24}}})}),jo=U(({elements:t,store:e})=>{let o=t[0],[l,n]=S(o.textAlign),[r,d]=S(o.fontWeight),[m,y]=S(o.fontStyle),[c,s]=S(o.underline),[g,B]=S(o.linethrough),[H,I]=S(o.splitByGrapheme);return tt(()=>{n(o.textAlign),d(o.fontWeight),y(o.fontStyle),s(o.underline),B(o.linethrough),I(o.splitByGrapheme)},[o]),Z(bo.Compact,{children:[p(L,{placement:"bottom",title:i(`toolbar.text${l}`),children:p(R,{type:"text",icon:l==="left"?p(vo,{size:16,style:{display:"flex"}}):l==="center"?p(ko,{size:16,style:{display:"flex"}}):l==="right"?p(Co,{size:16,style:{display:"flex"}}):p(Fo,{size:16,style:{display:"flex"}}),onClick:()=>{let P=(st.indexOf(l)+1+st.length)%st.length,M=st[P];e.editor?.objectsHandler.setTextStyle({textAlign:M}),n(M)}})}),p(L,{placement:"bottom",title:i("toolbar.textBold"),children:p(R,{type:r==="bold"||r==="700"?"primary":"text",icon:p(So,{size:16,style:{display:"flex"}}),onClick:()=>{r==="bold"||r==="700"?(e.editor?.objectsHandler.setTextStyle({fontWeight:"normal"}),d("normal")):(e.editor?.objectsHandler.setTextStyle({fontWeight:"bold"}),d("bold"))}})}),p(L,{placement:"bottom",title:i("toolbar.textItalic"),children:p(R,{type:m==="italic"?"primary":"text",icon:p(wo,{size:16,style:{display:"flex"}}),onClick:()=>{m==="italic"?(e.editor?.objectsHandler.setTextStyle({fontStyle:"normal"}),y("normal")):(e.editor?.objectsHandler.setTextStyle({fontStyle:"italic"}),y("italic"))}})}),p(L,{placement:"bottom",title:i("toolbar.textUnderline"),children:p(R,{type:c?"primary":"text",icon:p(To,{size:16,style:{display:"flex"}}),onClick:()=>{e.editor?.objectsHandler.setTextStyle({underline:!c}),s(!c)}})}),p(L,{placement:"bottom",title:i("toolbar.textStrikethrough"),children:p(R,{type:g?"primary":"text",icon:p(Bo,{size:16,style:{display:"flex"}}),onClick:()=>{e.editor?.objectsHandler.setTextStyle({linethrough:!g}),B(!g)}})}),p(L,{placement:"bottom",title:i("toolbar.splitByGrapheme"),children:p(R,{type:H?"primary":"text",icon:p(Po,{size:16,style:{display:"flex"}}),onClick:()=>{e.editor?.objectsHandler.setTextStyle({splitByGrapheme:!H}),I(!H)}})})]})}),Mo=U(({elements:t,store:e})=>{let o=t[0],l={display:"flex",alignItems:"center",justifyContent:"space-between",paddingTop:"5px",paddingBottom:"5px"},n=typeof o.lineHeight=="number"?100*o.lineHeight:120,[r,d]=S(n),[m,y]=S(o.charSpacing),c=s=>{e.editor?.objectsHandler.setTextStyle(s)};return p(ne,{trigger:"click",content:Z("div",{style:{padding:"0 6px",width:"230px"},children:[Z("div",{style:l,children:[p("div",{children:i("toolbar.lineHeight")}),p("div",{children:p(Et,{min:50,max:250,value:Math.round(r),style:{width:80},onChange:s=>{c({lineHeight:s/100}),d(s)}})})]}),p(re,{value:Math.round(r),min:50,max:250,step:1,onChange:s=>{c({lineHeight:s/100}),d(s)}}),Z("div",{style:l,children:[p("div",{children:i("toolbar.letterSpacing")}),p("div",{children:p(Et,{min:-50,max:250,value:Math.round(m/10),style:{width:80},onChange:s=>{c({charSpacing:(s??0)*10}),y((s??0)*10)}})})]}),p(re,{value:Math.round(m/10),min:-50,max:250,step:1,onChange:s=>{c({charSpacing:(s??0)*10}),y((s??0)*10)}})]}),children:p(R,{type:"text",icon:p(Ho,{size:16,style:{display:"flex"}})})})}),Wo={TextFill:Vo,TextFontFamily:No,TextFontSize:Oo,TextFontVariant:jo,TextSpacing:Mo,TextFilters:D,TextAiWrite:ee},_o=U(({store:t,components:e})=>{let o=t.selectedElements,n=W({type:"text",usedItems:["TextFill","TextFontFamily","TextFontSize","TextFontVariant","TextSpacing","TextFilters","TextAiWrite"],components:e});return p(_,{items:n,itemRender:r=>{let d=e[r]||Wo[r];return d&&p(d,{elements:o,element:o[0],store:t},r)}})}),ie=_o;import{Tooltip as le,Button as ae}from"antd";import{Undo2 as Do,Redo2 as Lo}from"lucide-react";import{observer as Uo}from"mobx-react-lite";import{useEffect as Go,useState as Yo}from"react";import{jsx as G,jsxs as Xo}from"react/jsx-runtime";var se=Uo(({store:t})=>{let[e,o]=Yo({hasUndo:!1,hasRedo:!1});return Go(()=>{let l=t.editor,n=r=>{o(r)};return l&&l.on("history:changed",n),()=>{l&&l.off("history:changed",n)}},[t.editor]),Xo(It,{style:{float:"left",paddingRight:10},children:[G(le,{title:i("toolbar.undo"),placement:"bottom",children:G(ae,{type:"text",disabled:!e.hasUndo,styles:{root:{padding:"0 7px"}},onClick:()=>{t.editor?.historyHandler.undo()},children:G(Do,{size:16})})}),G(le,{title:i("toolbar.redo"),placement:"bottom",children:G(ae,{type:"text",disabled:!e.hasRedo,styles:{root:{padding:"0 7px"}},onClick:()=>{t.editor?.historyHandler.redo()},children:G(Lo,{size:16})})})]})});import{observer as wn}from"mobx-react-lite";import{Layers as Ko}from"lucide-react";import{Popover as Jo,Button as F,Divider as zt}from"antd";import{observer as qo}from"mobx-react-lite";import{ChevronUp as $o,ChevronsUp as Qo,ChevronDown as Zo,ChevronsDown as tr,AlignStartVertical as er,AlignCenterVertical as or,AlignEndVertical as rr,AlignStartHorizontal as nr,AlignCenterHorizontal as ir,AlignEndHorizontal as lr,AlignVerticalSpaceAround as ar,AlignHorizontalSpaceAround as sr}from"lucide-react";import{Fragment as ce,jsx as u,jsxs as T}from"react/jsx-runtime";var de=qo(({store:t})=>{let e=t.selectedElements.length>0,o=t.selectedElementsIds,l=t.selectedElements.every(r=>r?.locked),n=!l&&t.selectedElements.length>1;return u(Jo,{styles:{container:{padding:"10px 5px"}},content:T("div",{style:{width:280},children:[u(zt,{size:"small",children:i("toolbar.layering")}),T("div",{style:{display:"flex"},children:[T("div",{style:{width:"50%"},children:[u(F,{type:"text",block:!0,icon:u($o,{size:16}),disabled:!t.canMoveElementsUp(o),onClick:()=>{t.moveElementsUp(o)},children:u("span",{className:"w-[70px] text-left text-xs",children:i("toolbar.up")})}),u(F,{type:"text",block:!0,icon:u(Qo,{size:16}),disabled:!t.canMoveElementsTop(o),onClick:()=>{t.moveElementsTop(o)},children:u("span",{className:"w-[70px] text-left text-xs",children:i("toolbar.toForward")})})]}),T("div",{style:{width:"50%"},children:[u(F,{type:"text",block:!0,icon:u(Zo,{size:16}),disabled:!t.canMoveElementsDown(o),onClick:()=>{t.moveElementsDown(o)},children:u("span",{className:"w-[70px] text-left text-xs",children:i("toolbar.down")})}),u(F,{type:"text",block:!0,icon:u(tr,{size:16}),disabled:!t.canMoveElementsBottom(o),onClick:()=>{t.moveElementsBottom(o)},children:u("span",{className:"w-[70px] text-left text-xs",children:i("toolbar.toBottom")})})]})]}),!l&&T(ce,{children:[u(zt,{size:"small",children:i("toolbar.position")}),T("div",{style:{display:"flex"},children:[T("div",{style:{width:"50%"},children:[u(F,{type:"text",block:!0,icon:u(er,{size:16}),onClick:()=>{t.editor?.alignmentHandler.alignLeft()},children:u("span",{className:"w-[70px] text-left text-xs",children:i("toolbar.alignLeft")})}),u(F,{type:"text",block:!0,icon:u(or,{size:16}),onClick:()=>{t.editor?.alignmentHandler.alignCenter()},children:u("span",{className:"w-[70px] text-left text-xs",children:i("toolbar.alignCenter")})}),u(F,{type:"text",block:!0,icon:u(rr,{size:16}),onClick:()=>{t.editor?.alignmentHandler.alignRight()},children:u("span",{className:"w-[70px] text-left text-xs",children:i("toolbar.alignRight")})})]}),T("div",{style:{width:"50%"},children:[u(F,{type:"text",block:!0,icon:u(nr,{size:16}),onClick:()=>{t.editor?.alignmentHandler.alignTop()},children:u("span",{className:"w-[70px] text-left text-xs",children:i("toolbar.alignTop")})}),u(F,{type:"text",block:!0,icon:u(ir,{size:16}),onClick:()=>{t.editor?.alignmentHandler.alignMiddle()},children:u("span",{className:"w-[70px] text-left text-xs",children:i("toolbar.alignMiddle")})}),u(F,{type:"text",block:!0,icon:u(lr,{size:16}),onClick:()=>{t.editor?.alignmentHandler.alignBottom()},children:u("span",{className:"w-[70px] text-left text-xs",children:i("toolbar.alignBottom")})})]})]})]}),n&&T(ce,{children:[u(zt,{size:"small",children:i("toolbar.spaceEvenly")}),T("div",{style:{display:"flex"},children:[u("div",{style:{width:"50%"},children:u(F,{type:"text",block:!0,icon:u(ar,{size:16}),onClick:()=>{t.editor?.alignmentHandler.yequation()},children:u("span",{className:"w-[70px] text-left text-xs",children:i("toolbar.verticalDistribution")})})}),u("div",{style:{width:"50%"},children:u(F,{type:"text",block:!0,icon:u(sr,{size:16}),onClick:()=>{t.editor?.alignmentHandler.xequation()},children:u("span",{className:"w-[70px] text-left text-xs",children:i("toolbar.horizontalDistribution")})})})]})]})]}),trigger:"click",placement:"bottom",children:T(F,{type:"text",disabled:!e,styles:{root:{padding:"0 7px"}},children:[u(Ko,{size:16}),i("toolbar.position")]})})});import{Blend as cr}from"lucide-react";import{Popover as dr,Tooltip as pr,Button as mr,InputNumber as gr,Slider as ur}from"antd";import{observer as fr}from"mobx-react-lite";import{useState as yr,useEffect as br}from"react";import{jsx as V,jsxs as pe}from"react/jsx-runtime";var me=fr(({store:t})=>{let e=t.selectedShapes.length>0,o=t.selectedShapes[0],[l,n]=yr(()=>Math.round(100*(o?.opacity??1)));br(()=>{o&&n(Math.round(100*(o.opacity??1)))},[o,o?.opacity]);let r=d=>{let m=Math.max(0,Math.min(d,100));n(m),t.set({opacity:m/100})};return V(pr,{title:i("toolbar.transparency"),placement:"bottom",children:V(dr,{content:pe("div",{children:[V("div",{style:{textAlign:"center",marginBottom:10},children:i("toolbar.transparency")}),pe("div",{style:{display:"flex"},children:[V("div",{style:{width:170,paddingRight:20},children:V(ur,{min:0,max:100,onChange:r,value:l})}),V(gr,{min:0,max:100,value:l,onChange:r,size:"small",styles:{root:{width:65}}})]})]}),trigger:"click",children:V(mr,{type:"text",disabled:!e,styles:{root:{padding:"0 7px"}},children:V(cr,{size:16})})})})});import{LockKeyholeOpen as hr,LockKeyhole as xr}from"lucide-react";import{Tooltip as vr,Button as kr}from"antd";import{useCallback as ge}from"react";var ue=({store:t})=>{let e=t.selectedShapes.length>0,l=t.selectedShapes[0]?.locked;return{disabled:!e,lock:ge(()=>{t.editor?.lockHandler.lock()},[l,t]),unlock:ge(()=>{t.editor?.lockHandler.unlock()},[l,t]),locked:l}};import{observer as Cr}from"mobx-react-lite";import{jsx as Rt}from"react/jsx-runtime";var fe=Cr(({store:t})=>{let{disabled:e,locked:o,lock:l,unlock:n}=ue({store:t}),r=o?xr:hr,d=i(o?"toolbar.lockedDescription":"toolbar.unlockedDescription");return Rt(vr,{title:d,placement:"bottom",children:Rt(kr,{type:"text",styles:{root:{padding:"0 7px"}},disabled:e,onClick:()=>{o?n():l()},children:Rt(r,{size:16})})})});import{Copy as Sr}from"lucide-react";import{Tooltip as wr,Button as Tr}from"antd";import{observer as Br}from"mobx-react-lite";import{useCallback as Fr}from"react";var ye=({store:t})=>{let e=t.selectedElements.length>0,o=t.selectedElements.every(r=>r?.locked===!0),l=!e||o,n=Fr(()=>{t.clone()},[t]);return{disabled:l,duplicate:n}};import{jsx as At}from"react/jsx-runtime";var be=Br(({store:t})=>{let{disabled:e,duplicate:o}=ye({store:t});return At(wr,{title:i("toolbar.duplicateElements"),placement:"bottom",children:At(Tr,{type:"text",styles:{root:{padding:"0 7px"}},disabled:e,onClick:()=>{o()},children:At(Sr,{size:16})})})});import{Trash2 as Pr}from"lucide-react";import{Tooltip as Er,Button as Ir}from"antd";import{useCallback as Hr}from"react";var he=({store:t})=>{let e=t.selectedElements.filter(l=>!l?.locked),o=Hr(()=>{t.deleteElements(e.map(l=>l.id))},[t,e]);return{disabled:!e.length,remove:o}};import{observer as zr}from"mobx-react-lite";import{jsx as Nt}from"react/jsx-runtime";var xe=zr(({store:t})=>{let{disabled:e,remove:o}=he({store:t});return Nt(Er,{title:i("toolbar.removeElements"),placement:"bottom",children:Nt(Ir,{type:"text",styles:{root:{padding:"0 7px"}},disabled:e,onClick:()=>{o()},children:Nt(Pr,{size:16})})})});import{Button as ve}from"antd";import{observer as Rr}from"mobx-react-lite";import{Fragment as Ar,jsx as ke,jsxs as Nr}from"react/jsx-runtime";var Ce=Rr(({store:t})=>{let e=t.selectedElements.length>1,o=t.selectedElements.length===1&&t.selectedElements[0]?.type==="group";return Nr(Ar,{children:[e&&ke(ve,{type:"text",onClick:()=>{t.editor?.objectsHandler.group()},children:i("toolbar.groupElements")}),o&&ke(ve,{type:"text",onClick:()=>{t.editor?.objectsHandler.ungroup()},children:i("toolbar.ungroupElements")})]})});import{observer as pt}from"mobx-react-lite";import{Button as dt,Tooltip as rn,Popover as nn}from"antd";import{Crop as ln}from"lucide-react";import an from"styled-components";import{Popover as Vr,Button as Vt}from"antd";import{Rotate3d as Or,FlipHorizontal as jr,FlipVertical as Mr}from"lucide-react";import{useState as Wr,useEffect as _r,useCallback as Fe}from"react";import{observer as Dr}from"mobx-react-lite";import{jsx as j,jsxs as Lr}from"react/jsx-runtime";var Se=Dr(({element:t,store:e})=>{let[o,l]=Wr({flipX:!1,flipY:!1}),n=Fe(()=>{e.editor?.objectsHandler.update({flipX:!o.flipX}),l({...o,flipX:!o.flipX})},[e.editor,o]),r=Fe(()=>{e.editor?.objectsHandler.update({flipY:!o.flipY}),l({...o,flipY:!o.flipY})},[e.editor,o]);return _r(()=>{t&&l({flipX:t.flipX,flipY:t.flipY})},[t]),j(Vr,{trigger:"click",content:Lr("div",{style:{width:165},children:[j(Vt,{type:"text",block:!0,style:{justifyContent:"start"},icon:j(jr,{size:16,style:{display:"flex"}}),onClick:n,children:i("toolbar.flipHorizontally")}),j(Vt,{type:"text",block:!0,style:{justifyContent:"start"},icon:j(Mr,{size:16,style:{display:"flex"}}),onClick:r,children:i("toolbar.flipVertically")})]}),children:j(Vt,{type:"text",icon:j(Or,{size:16,style:{display:"flex"}}),styles:{root:{padding:"0 7px"}},children:i("toolbar.flip")})})});import{Button as Ur,Modal as Gr}from"antd";import{useState as we,useEffect as Yr}from"react";import{observer as Te}from"mobx-react-lite";import{Fragment as Kr,jsx as ct,jsxs as Jr}from"react/jsx-runtime";var Xr=Te(({isOpen:t,onClose:e,element:o})=>{let[l,n]=we(o.getSrc());return Yr(()=>{n(o.getSrc())},[o.id]),ct(Gr,{title:i("toolbar.removeBackgroundTitle"),open:t,onOk:e,onCancel:e,width:{xs:"90%",sm:"80%",md:"70%",lg:"60%",xl:"50%",xxl:"40%"},styles:{body:{padding:"35px 0"}},okText:i("toolbar.confirmRemoveBackground"),cancelText:i("toolbar.cancelRemoveBackground"),children:ct("img",{src:l,style:{width:"100%",maxHeight:"400px",objectFit:"contain"}})})}),Be=Te(({element:t})=>{let[e,o]=we(!1);return Jr(Kr,{children:[ct(Ur,{type:"text",styles:{root:{padding:"0 7px"}},onClick:()=>o(!0),children:i("toolbar.removeBackground")}),ct(Xr,{isOpen:e,onClose:()=>o(!1),element:t})]})});import{Button as qr,Modal as $r}from"antd";import{Eraser as Qr}from"lucide-react";import{useState as He,useEffect as Zr}from"react";import{observer as Pe}from"mobx-react-lite";import{Fragment as en,jsx as et,jsxs as on}from"react/jsx-runtime";var tn=Pe(({isOpen:t,onClose:e,element:o})=>{let[l,n]=He(o.getSrc());return Zr(()=>{n(o.getSrc())},[o.id]),et($r,{title:i("toolbar.eraserPenTitle"),open:t,onOk:e,onCancel:e,width:{xs:"90%",sm:"80%",md:"70%",lg:"60%",xl:"50%",xxl:"40%"},styles:{body:{padding:"35px 0"}},okText:i("toolbar.confirmEraserPen"),cancelText:i("toolbar.cancelEraserPen"),children:et("img",{src:l,style:{width:"100%",maxHeight:"400px",objectFit:"contain"}})})}),Ee=Pe(({element:t})=>{let[e,o]=He(!1);return on(en,{children:[et(qr,{type:"text",icon:et(Qr,{size:16,style:{display:"flex"}}),styles:{root:{padding:"0 7px"}},onClick:()=>o(!0),children:i("toolbar.eraserPen")}),et(tn,{isOpen:e,onClose:()=>o(!1),element:t})]})});function Ie(t,e){let o=t.width/t.height,l=e.width/e.height,n,r;o>=l?(n=e.width,r=e.width/o):(n=e.height*o,r=e.height);let d=(e.width-n)/2,m=(e.height-r)/2;return{cropX:d,cropY:m,width:n,height:r}}function ze(t){return"data:image/svg+xml;base64,"+window.btoa(unescape(encodeURIComponent(t)))}import{jsx as v}from"react/jsx-runtime";var sn=Object.keys(Xt),cn=[{width:300,height:300,fill:"lightgray",stroke:"#0c0c0c",strokeWidth:0,url:""}],Re=[];sn.forEach(t=>{cn.forEach(e=>{Re.push(Object.assign({subType:t},e))})});Re.forEach(t=>{t.url=ze(Kt(t))});var dn=an.div`
2
2
  height: 220px;
3
3
  `,Ot={root:{padding:"0 7px"}},pn=pt(({element:t,store:e})=>{let o=e.editor;return v(dt,{type:"text",styles:Ot,onClick:async()=>{let l=e.width+2*e.bleed,n=e.height+2*e.bleed,r=o?.workareaHandler?.getWorkarea(),d=r?.left||0,m=r?.top||0,y=t.getOriginalSize(),c={width:y.width,height:y.height},s=Ie({width:l,height:n},c);t.set({cropX:s.cropX,cropY:s.cropY,width:s.width,height:s.height,scaleX:l/s.width,scaleY:n/s.height,left:d-e.bleed,top:m-e.bleed}),t.setCoords(),o?.customCanvas?.canvas?.requestRenderAll(),o?.historyHandler.save("update")},children:i("toolbar.fitToBackground")})}),mn=pt(({element:t,store:e})=>v(rn,{title:i("toolbar.crop"),children:v(dt,{type:"text",styles:{root:{padding:"0 7px"}},onClick:()=>{let o=e.editor?.layerHandler.getLayer();e.editor?.imageCropHandler.cropStart(t,o,t.getSrc())},children:v(ln,{size:16})})})),gn=pt(({element:t,store:e})=>{let o=Jt.reduce((n,r)=>n.concat(r.children),[]),l=Math.ceil(o.length/4)||1;return t.clipPath?v(dt,{type:"text",styles:Ot,onClick:()=>{t.set({clipPath:null}),e.editor?.customCanvas?.canvas?.requestRenderAll(),e._triggerUpdate(),e.editor?.historyHandler.save("update")},children:i("toolbar.removeClip")}):v(nn,{styles:{container:{padding:"5px 10px"}},content:v("div",{style:{maxHeight:313,overflowY:"auto"},children:v(dn,{style:{height:80*l,width:300},children:v("div",{className:nt("shape-list","flex flex-wrap content-start mb-2"),children:o.map((n,r)=>v("div",{className:nt("shape-item","w-[25%] h-0 pb-[25%] relative cursor-pointer shrink-0 mb-[1.2%]"),onClick:()=>{e.editor?.objectsHandler.createMaskElement(t,n),e._triggerUpdate()},children:v("div",{className:nt("shape-content","absolute inset-0 flex justify-center items-center"),children:v("svg",{overflow:"visible",width:"50",height:"50",children:v("g",{transform:`scale(${50/n.viewBox[0]}, ${50/n.viewBox[1]}) translate(0,0) matrix(1,0,0,1,0,0)`,children:v("path",{className:"shape-path",d:n.path,fill:"#ccc",strokeMiterlimit:8,strokeLinecap:"butt"})})})})},r))})})}),trigger:"click",children:v(dt,{type:"text",styles:Ot,children:i("toolbar.clip")})})}),un={ImageFlip:Se,ImageFilters:D,ImageFitToBackground:pn,ImageCrop:mn,ImageClip:gn,ImageRemoveBackground:Be,ImageEraserPen:Ee},Ae=pt(({store:t,components:e})=>{let o=t.selectedElements,n=W({type:"text",usedItems:["ImageFlip","ImageFilters","ImageFitToBackground","ImageClip","ImageCrop","ImageRemoveBackground","ImageEraserPen"],components:e});return v(_,{items:n,itemRender:r=>{let d=e[r]||un[r];return d&&v(d,{elements:o,element:o[0],store:t},r)}})});import{jsx as fn}from"react/jsx-runtime";var Ne=()=>fn("div",{});import{cssGradient2FabricGradient as je}from"@ydesign/core";import{observer as gt}from"mobx-react-lite";import{useState as Me,useRef as mt,useMemo as We}from"react";import{ColorPicker as _e,Popover as yn,Button as Y,InputNumber as Ve,Slider as Oe}from"antd";import{Logs as bn,Ban as hn}from"lucide-react";import{Fragment as Fn,jsx as h,jsxs as ot}from"react/jsx-runtime";var O=t=>t?typeof t=="string"?t:t.colorStops?JSON.stringify(t.colorStops):JSON.stringify(t):"",xn=gt(({store:t,elements:e})=>{let o=e[0],[l,n]=Me(()=>z(o.fill)),r=mt(!1),d=mt(O(o.fill)),m=O(o.fill);m!==d.current&&!r.current&&(d.current=m,n(z(o.fill)));let y=We(()=>l,[O(l)]);return h(_e,{value:y,allowClear:!0,mode:["single","gradient"],onOpenChange:c=>{r.current=c,c||(d.current=O(o.fill))},onChange:c=>{n(c)},onChangeComplete:c=>{let s=c.toCssString();if(s.includes("gradient")){let g=je(s);t.editor?.objectsHandler.update({fill:g})}else t.editor?.objectsHandler.update({fill:s})}})}),vn=gt(({store:t,element:e})=>h(yn,{trigger:"click",content:ot("div",{style:{width:270},children:[ot("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",paddingBottom:15},children:[h(Y,{color:e?.strokeWidth===0?"primary":"default",variant:"filled",onClick:()=>{t.editor?.objectsHandler.update({strokeWidth:0}),t._triggerUpdate()},children:h(hn,{size:16})}),h(Y,{color:e?.strokeWidth&&e?.strokeDashArray?.length===0?"primary":"default",variant:"filled",onClick:()=>{t.editor?.objectsHandler.update({strokeDashArray:[],strokeWidth:e?.strokeWidth||10,stroke:e?.stroke||"#000000"}),t._triggerUpdate()},children:h("svg",{width:16,height:16,viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:h("line",{x2:24,y1:"50%",y2:"50%",stroke:"currentColor",strokeWidth:"2"})})}),h(Y,{color:e?.strokeWidth&&Array.isArray(e.strokeDashArray)&&e.strokeDashArray[0]===4?"primary":"default",variant:"filled",onClick:()=>{t.editor?.objectsHandler.update({strokeDashArray:[4,1],strokeWidth:e?.strokeWidth||10,stroke:e?.stroke||"#000000"}),t._triggerUpdate()},children:h("svg",{width:16,height:16,viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:h("line",{x1:"-1",x2:"25",y1:"50%",y2:"50%",stroke:"currentColor",strokeDasharray:"12 2",strokeWidth:"2"})})}),h(Y,{color:e?.strokeWidth&&Array.isArray(e.strokeDashArray)&&e.strokeDashArray[0]===2?"primary":"default",variant:"filled",onClick:()=>{t.editor?.objectsHandler.update({strokeDashArray:[2,1],strokeWidth:e?.strokeWidth||10,stroke:e?.stroke||"#000000"}),t._triggerUpdate()},children:h("svg",{width:16,height:16,viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:h("line",{x1:"1",x2:"23",y1:"50%",y2:"50%",stroke:"currentColor",strokeDasharray:"6 2",strokeWidth:"2"})})}),h(Y,{color:e?.strokeWidth&&Array.isArray(e.strokeDashArray)&&e.strokeDashArray[0]===1?"primary":"default",variant:"filled",onClick:()=>{t.editor?.objectsHandler.update({strokeDashArray:[1,1],strokeWidth:e?.strokeWidth||10,stroke:e?.stroke||"#000000"}),t._triggerUpdate()},children:h("svg",{width:16,height:16,viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:h("line",{x1:"1",x2:"23",y1:"50%",y2:"50%",stroke:"currentColor",strokeDasharray:"2 2",strokeWidth:"2"})})})]}),ot("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",paddingBottom:5},children:[h("div",{children:i("toolbar.strokeWidth")}),h("div",{children:h(Ve,{value:e?.strokeWidth,style:{width:60},min:0,max:Math.round(Math.min(e?.width,e?.height)/2),onChange:o=>{t.editor?.objectsHandler.update({strokeWidth:o}),t._triggerUpdate()}})})]}),h(Oe,{value:e?.strokeWidth,onChange:o=>{t.editor?.objectsHandler.update({strokeWidth:o}),t._triggerUpdate()},min:0,max:Math.round(Math.min(e?.width,e?.height)/2)}),e?.type==="rect"&&ot(Fn,{children:[ot("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",paddingTop:15,paddingBottom:5},children:[h("div",{children:i("toolbar.cornerRadius")}),h("div",{children:h(Ve,{value:e?.rx,style:{width:60},min:0,max:Math.round(Math.min(e?.width,e?.height)/2),onChange:o=>{t.editor?.objectsHandler.update({rx:o,ry:o}),t._triggerUpdate()}})})]}),h(Oe,{value:e?.rx,onChange:o=>{t.editor?.objectsHandler.update({rx:o,ry:o}),t._triggerUpdate()},min:0,max:Math.round(Math.min(e?.width,e?.height)/2)})]})]}),children:h(Y,{type:"text",styles:{root:{padding:"0 7px"}},icon:h(bn,{size:16,style:{display:"flex"}}),children:i("toolbar.strokeSettings")})})),kn=gt(({store:t,elements:e})=>{let o=e[0],[l,n]=Me(()=>z(o?.stroke)),r=mt(!1),d=mt(O(o?.stroke)),m=O(o?.stroke);m!==d.current&&!r.current&&(d.current=m,n(z(o?.stroke)));let y=We(()=>l,[O(l)]);return o?.strokeWidth?h(_e,{value:y,allowClear:!0,mode:["single","gradient"],onOpenChange:c=>{r.current=c,c||(d.current=O(o.stroke))},onChange:c=>{n(c)},onChangeComplete:c=>{let s=c.toCssString();if(s.includes("gradient")){let g=je(s);t.editor?.objectsHandler.update({stroke:g})}else t.editor?.objectsHandler.update({stroke:s})}}):null}),Cn={FigureFill:xn,FigureStroke:kn,FigureSettings:vn,FigureFilters:D},X=gt(({store:t,components:e})=>{let o=t.selectedElements[0],n=W({type:"figure",usedItems:["FigureFill","FigureStroke","FigureSettings","FigureFilters"],components:e});return h(_,{items:n,itemRender:r=>{let d=e[r]||Cn[r];return d&&h(d,{elements:t.selectedElements,element:o,store:t},r)}})});import{Button as De,Divider as Tn,Space as Bn,theme as Hn}from"antd";import{Check as Pn,X as En}from"lucide-react";import{Fragment as Nn,jsx as k,jsxs as K}from"react/jsx-runtime";var In=jt.div`
4
4
  white-space: nowrap;
@@ -1 +1 @@
1
- import{a}from"../chunk-Y7XQELAM.js";import"../chunk-W4AOHCPQ.js";import"../chunk-VR4OXDJV.js";import"../chunk-YBC2DYJX.js";import"../chunk-5C2MNUBC.js";import"../chunk-EWOU5F3O.js";import"../chunk-3PMUQSBH.js";import"../chunk-O2XFH626.js";export{a as CreateDesign};
1
+ import{a}from"../chunk-SQWN4C4K.js";import"../chunk-JHEHZKJ6.js";import"../chunk-VR4OXDJV.js";import"../chunk-YBC2DYJX.js";import"../chunk-EWOU5F3O.js";import"../chunk-5C2MNUBC.js";import"../chunk-T7KNIGCA.js";import"../chunk-O2XFH626.js";export{a as CreateDesign};
@@ -1,4 +1,4 @@
1
- import{a as h}from"../chunk-Y7XQELAM.js";import{a as x}from"../chunk-AMEXYVS6.js";import{c as u}from"../chunk-W4AOHCPQ.js";import"../chunk-VR4OXDJV.js";import"../chunk-YBC2DYJX.js";import{b as g}from"../chunk-5C2MNUBC.js";import"../chunk-EWOU5F3O.js";import{c as n}from"../chunk-Q7N7SBSC.js";import"../chunk-3PMUQSBH.js";import"../chunk-O2XFH626.js";import d from"styled-components";import{observer as C}from"mobx-react-lite";import{Dropdown as T,Button as S,Modal as L}from"antd";import{Menu as N,Plus as P,Languages as z,Check as b}from"lucide-react";import{useState as I}from"react";import{observer as B}from"mobx-react-lite";import{Fragment as K,jsx as a,jsxs as M}from"react/jsx-runtime";var{confirm:D}=L,v=B(({store:o,project:t})=>{let[l,i]=I(!1),s=[{label:n("topbar.newDesign"),key:"new_design",icon:a(P,{size:16})},{label:n("topbar.language"),key:"language",icon:a("div",{style:{height:22,display:"flex",alignItems:"center"},children:a(z,{size:16})}),children:[{key:"en",label:"English",onClick:()=>{t.setLanguage("en")},extra:t.language==="en"?a(b,{size:16}):null},{key:"zh",label:"\u4E2D\u6587",onClick:()=>{t.setLanguage("zh")},extra:t.language==="zh"?a(b,{size:16}):null}]}];return M(K,{children:[a(T,{menu:{items:s,onClick:({key:r})=>{r==="new_design"&&i(!0)}},trigger:["click"],styles:{root:{width:188}},children:a(S,{type:"text",children:a(N,{size:16})})}),a(h,{visible:l,onClose:()=>i(!1),onConfirm:r=>{D({title:"\u521B\u5EFA\u8BBE\u8BA1\u540E\uFF0C\u5C06\u65B0\u5EFA\u753B\u5E03\uFF0C\u5F53\u524D\u6D77\u62A5\u5185\u5BB9\u53EF\u5728\u4F5C\u56FE\u8BB0\u5F55\u4E2D\u67E5\u770B\u3002",okText:"\u786E\u5B9A",cancelText:"\u53D6\u6D88",onOk(){console.log("OK"),console.log("size ---> ",r);let c=JSON.stringify({bg:{backgroundColor:r.bgColor}}),y=new URLSearchParams({create:"",createEmptyPoster:"true",createInfo:c,height:String(r.height),unit:r.unit,width:String(r.width)});console.log("params \u7684\u53C2\u6570 ---> ",y.toString()),console.log("\u9700\u8981\u8DF3\u8F6C\u7684\u7F16\u8F91\u5668\u5730\u5740",t.urls.editorUrl),window.open(`${t.urls.editorUrl}?${y.toString()}`,"_blank")}})},store:o,project:t})]})});import{Input as O,Tooltip as R,Button as U,theme as _,Divider as E}from"antd";import{CloudUpload as m,Loader as F,Check as $}from"lucide-react";var w="https://pub-d7c4dca6f69c4b329766184b707dc826.r2.dev/images/2026-03-20/90d9e12a-edaa-447b-9ac2-6fdd7ec6397c/97900353-048f-4792-91bd-bdcd2d751d3b/9ed1f974-dcba-42e8-9e51-6730d2cc3ae7.png";import{jsx as e,jsxs as f}from"react/jsx-runtime";var j=d("div")`
1
+ import{a as x}from"../chunk-SQWN4C4K.js";import{c as u}from"../chunk-JHEHZKJ6.js";import"../chunk-VR4OXDJV.js";import"../chunk-YBC2DYJX.js";import"../chunk-EWOU5F3O.js";import{b as g}from"../chunk-5C2MNUBC.js";import"../chunk-T7KNIGCA.js";import{a as h}from"../chunk-AMEXYVS6.js";import{c as n}from"../chunk-Q7N7SBSC.js";import"../chunk-O2XFH626.js";import d from"styled-components";import{observer as C}from"mobx-react-lite";import{Dropdown as T,Button as S,Modal as L}from"antd";import{Menu as N,Plus as P,Languages as z,Check as b}from"lucide-react";import{useState as I}from"react";import{observer as B}from"mobx-react-lite";import{Fragment as K,jsx as a,jsxs as M}from"react/jsx-runtime";var{confirm:D}=L,v=B(({store:o,project:t})=>{let[l,i]=I(!1),s=[{label:n("topbar.newDesign"),key:"new_design",icon:a(P,{size:16})},{label:n("topbar.language"),key:"language",icon:a("div",{style:{height:22,display:"flex",alignItems:"center"},children:a(z,{size:16})}),children:[{key:"en",label:"English",onClick:()=>{t.setLanguage("en")},extra:t.language==="en"?a(b,{size:16}):null},{key:"zh",label:"\u4E2D\u6587",onClick:()=>{t.setLanguage("zh")},extra:t.language==="zh"?a(b,{size:16}):null}]}];return M(K,{children:[a(T,{menu:{items:s,onClick:({key:r})=>{r==="new_design"&&i(!0)}},trigger:["click"],styles:{root:{width:188}},children:a(S,{type:"text",children:a(N,{size:16})})}),a(x,{visible:l,onClose:()=>i(!1),onConfirm:r=>{D({title:"\u521B\u5EFA\u8BBE\u8BA1\u540E\uFF0C\u5C06\u65B0\u5EFA\u753B\u5E03\uFF0C\u5F53\u524D\u6D77\u62A5\u5185\u5BB9\u53EF\u5728\u4F5C\u56FE\u8BB0\u5F55\u4E2D\u67E5\u770B\u3002",okText:"\u786E\u5B9A",cancelText:"\u53D6\u6D88",onOk(){console.log("OK"),console.log("size ---> ",r);let c=JSON.stringify({bg:{backgroundColor:r.bgColor}}),y=new URLSearchParams({create:"",createEmptyPoster:"true",createInfo:c,height:String(r.height),unit:r.unit,width:String(r.width)});console.log("params \u7684\u53C2\u6570 ---> ",y.toString()),console.log("\u9700\u8981\u8DF3\u8F6C\u7684\u7F16\u8F91\u5668\u5730\u5740",t.urls.editorUrl),window.open(`${t.urls.editorUrl}?${y.toString()}`,"_blank")}})},store:o,project:t})]})});import{Input as O,Tooltip as R,Button as U,theme as _,Divider as E}from"antd";import{CloudUpload as m,Loader as F,Check as $}from"lucide-react";var w="https://pub-d7c4dca6f69c4b329766184b707dc826.r2.dev/images/2026-03-20/90d9e12a-edaa-447b-9ac2-6fdd7ec6397c/97900353-048f-4792-91bd-bdcd2d751d3b/9ed1f974-dcba-42e8-9e51-6730d2cc3ae7.png";import{jsx as e,jsxs as f}from"react/jsx-runtime";var j=d("div")`
2
2
  white-space: nowrap;
3
3
  height: 55px;
4
4
  padding: 0 15px;
@@ -25,4 +25,4 @@ import{a as h}from"../chunk-Y7XQELAM.js";import{a as x}from"../chunk-AMEXYVS6.js
25
25
  display: flex;
26
26
  align-items: center;
27
27
  height: 55px;
28
- `,k={loading:{icon:e(m,{size:16,style:{display:"flex"}}),textKey:"topbar.statusLoading"},save:{icon:e(m,{size:16,style:{display:"flex"}}),textKey:"topbar.statusSave"},saved:{icon:e($,{size:16,style:{display:"flex",color:"#52c41a"}}),textKey:"topbar.statusSaved",color:"#52c41a"},"has-changes":{icon:e(m,{size:16,style:{display:"flex",color:"#faad14"}}),textKey:"topbar.statusHasChanges",color:"#faad14"},saving:{icon:e(F,{size:16,style:{display:"flex"}}),textKey:"topbar.statusSaving"}},J=C(({project:o})=>{let t=k[o.status]||k.saved;return e(R,{title:n(t.textKey),children:e(U,{type:"text",style:{marginLeft:14,color:t.color},icon:t.icon,onClick:()=>{(o.status==="save"||o.status==="saved")&&o.save()},children:n(t.textKey)})})}),ge=C(({store:o,logo:t,logoUrl:l})=>{let i=u(),{token:s}=_.useToken(),p=t===void 0?e("img",{src:w,className:"h-[28px]"}):typeof t=="string"?e("img",{src:t,className:"h-[28px]"}):t,r=l?e("a",{href:l,target:"_blank",rel:"noopener noreferrer",style:{display:"flex",alignItems:"center"},children:p}):e("div",{style:{display:"flex",alignItems:"center",cursor:"pointer"},onClick:()=>window.history.back(),children:p});return e(j,{className:"topbar",style:{backgroundColor:s.colorBgContainer,color:s.colorText,borderBottom:`1px solid ${s.colorBorder}`},children:f(A,{children:[f(G,{children:[e("div",{style:{display:"flex",alignItems:"center"},children:r}),e(E,{orientation:"vertical",style:{height:"1.3em",borderColor:"#ebe6e7",marginLeft:15}}),e(v,{store:o,project:i}),e("div",{style:{paddingLeft:10,maxWidth:200},children:e(O,{value:i.name,placeholder:n("topbar.editableTextPlaceholder"),onChange:c=>i.name=c.target.value})}),f("div",{style:{paddingLeft:16,fontSize:14},className:"text-gray-600",children:[g({px:o.width,unit:o.unit,dpi:o.dpi,precious:0})," x"," ",g({px:o.height,unit:o.unit,dpi:o.dpi,precious:0})," ",o.unit]}),e(J,{project:i})]}),e(H,{children:e(x,{store:o})})]})})});export{ge as Topbar};
28
+ `,k={loading:{icon:e(m,{size:16,style:{display:"flex"}}),textKey:"topbar.statusLoading"},save:{icon:e(m,{size:16,style:{display:"flex"}}),textKey:"topbar.statusSave"},saved:{icon:e($,{size:16,style:{display:"flex",color:"#52c41a"}}),textKey:"topbar.statusSaved",color:"#52c41a"},"has-changes":{icon:e(m,{size:16,style:{display:"flex",color:"#faad14"}}),textKey:"topbar.statusHasChanges",color:"#faad14"},saving:{icon:e(F,{size:16,style:{display:"flex"}}),textKey:"topbar.statusSaving"}},J=C(({project:o})=>{let t=k[o.status]||k.saved;return e(R,{title:n(t.textKey),children:e(U,{type:"text",style:{marginLeft:14,color:t.color},icon:t.icon,onClick:()=>{(o.status==="save"||o.status==="saved")&&o.save()},children:n(t.textKey)})})}),ge=C(({store:o,logo:t,logoUrl:l})=>{let i=u(),{token:s}=_.useToken(),p=t===void 0?e("img",{src:w,className:"h-[28px]"}):typeof t=="string"?e("img",{src:t,className:"h-[28px]"}):t,r=l?e("a",{href:l,target:"_blank",rel:"noopener noreferrer",style:{display:"flex",alignItems:"center"},children:p}):e("div",{style:{display:"flex",alignItems:"center",cursor:"pointer"},onClick:()=>window.history.back(),children:p});return e(j,{className:"topbar",style:{backgroundColor:s.colorBgContainer,color:s.colorText,borderBottom:`1px solid ${s.colorBorder}`},children:f(A,{children:[f(G,{children:[e("div",{style:{display:"flex",alignItems:"center"},children:r}),e(E,{orientation:"vertical",style:{height:"1.3em",borderColor:"#ebe6e7",marginLeft:15}}),e(v,{store:o,project:i}),e("div",{style:{paddingLeft:10,maxWidth:200},children:e(O,{value:i.name,placeholder:n("topbar.editableTextPlaceholder"),onChange:c=>i.name=c.target.value})}),f("div",{style:{paddingLeft:16,fontSize:14},className:"text-gray-600",children:[g({px:o.width,unit:o.unit,dpi:o.dpi,precious:0})," x"," ",g({px:o.height,unit:o.unit,dpi:o.dpi,precious:0})," ",o.unit]}),e(J,{project:i})]}),e(H,{children:e(h,{store:o})})]})})});export{ge as Topbar};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ydesign/react-editor",
3
- "version": "0.1.5",
3
+ "version": "0.1.6",
4
4
  "description": "设计编辑器UI组件库,基于react版本",
5
5
  "main": "dist/app.js",
6
6
  "module": "dist/app.js",
@@ -1 +0,0 @@
1
- var o="http://219.151.185.37:9003",a=`${o}/api`,e=()=>o+"/api",r={fontList:()=>({url:`${e()}/fonts`}),templateList:()=>({url:`${e()}/templates/list`}),templateDetail:t=>({url:`${e()}/templates/detail/${t}`}),uploadImage:()=>({url:`${e()}/images/upload`}),psdParse:()=>({url:`${e()}/psd/parser`}),createRecord:t=>({method:"POST",url:`${e()}/record`,data:t}),updateRecord:(t,s)=>({method:"PATCH",url:`${e()}/record/${t}`,data:s}),recordDetail:t=>({url:`${e()}/record/${t}`}),resourcesDetail:t=>({method:"POST",url:`${e()}/resources/detail`,data:{type:"template",id:t}})};var n=()=>r.uploadImage(),l=()=>r.psdParse(),p=t=>r.resourcesDetail(t),c=t=>r.recordDetail(t),i=t=>r.createRecord(t),d=(t,s)=>r.updateRecord(t,s),u=(t,s)=>{r[t]=s};export{n as a,l as b,p as c,c as d,i as e,d as f,u as g};
@@ -1 +0,0 @@
1
- import{d as P}from"./chunk-VR4OXDJV.js";import{b as v}from"./chunk-YBC2DYJX.js";import{a as d,c as g,d as y,e as f,f as w}from"./chunk-3PMUQSBH.js";import{a}from"./chunk-O2XFH626.js";import*as S from"mobx";import{createContext as b,useContext as j}from"react";import T from"axios";var p=T.create({timeout:16e4});p.interceptors.request.use(r=>{let e=P();return e.token&&(r.headers.Authorization=`Bearer ${e.token}`,r.headers["yitu-workspace-id"]=e.workspaceId),r},r=>Promise.reject(r));p.interceptors.response.use(r=>{let{data:e}=r,t=e?.statusCode??e?.status;if(t!=null){if(t>=200&&t<=201)return e;let o=e?.result?.message||e?.message||"An error occurred";return Promise.reject(new Error(o))}if(r.status>=200&&r.status<300&&e)return e;let s=new Error(e?.message||"An error occurred");return Promise.reject(s)},r=>{let e=r?.response?.data,t=e?.result?.message||e?.message||r.message||"An error occurred";return Promise.reject(new Error(t))});var l=p;var x=r=>{try{return localStorage.getItem(r)}catch{return null}},R=(r,e)=>{try{localStorage.setItem(r,e)}catch{}},m=class{constructor({store:e}){a(this,"saveTimeout",null);a(this,"isOne",!1);a(this,"saving",!1);a(this,"pendingSave",!1);a(this,"store");a(this,"id","");a(this,"type","");a(this,"createEmptyPoster",!1);a(this,"name","");a(this,"user",{});a(this,"skipSaving",!1);a(this,"cloudEnabled",!1);a(this,"status","loading");a(this,"language",x("ydesign-language")||navigator.language||"en");a(this,"designsLength",0);a(this,"urls",{editorUrl:"/design"});S.makeAutoObservable(this),this.store=e,e.on("change",()=>{if(!this.isOne){this.isOne=!0;return}this.requestSave()})}setLanguage(e){this.language=e,R("ydesign-language",e)}requestSave(){this.status="has-changes",!this.saveTimeout&&(this.saveTimeout=setTimeout(()=>{if(this.saveTimeout=null,this.saving){this.pendingSave=!0;return}this.save()},5e3))}async firstLoad(e){if(e)await this.store.loadJSON(e),this.status="save";else{let t=new URL(window.location.href),s=new URLSearchParams(t.search),o=s.get("type")||"",n=s.get("id")||"",i=s.get("createEmptyPoster")||"";this.createEmptyPoster=i==="true",this.type=o,this.id=n,console.log("this.type",this.type),console.log("this.id",this.id),console.log("this.createEmptyPoster",this.createEmptyPoster);try{await this.loadById(n,o)}catch(c){console.error("loadById error",c)}finally{this.status="save"}}}async loadById(e,t){if(await new Promise(s=>setTimeout(s,2e3)),e){if(t==="me"){let s=g(e),o=await l.post(s.url,s.data),{content:n,name:i}=o.result;this.name=i,await this.store.loadJSON(n);return}if(t==="record"){let s=y(e),o=await l.get(s.url),{content:n,name:i}=o.result;this.name=i,await this.store.loadJSON(n);return}console.log("\u6CA1\u6709\u5339\u914D\u5230\u7684\u6765\u6E90")}else console.log("\u6CA1\u6709id\u65E0\u6CD5\u83B7\u53D6\u8FDC\u7A0B\u6570\u636E")}updateUrlWithProjectId(e,t){let s=e||this.id,o=t||this.type;if(!s){window.history.replaceState({},"","/");return}let n=new URLSearchParams({id:s,type:o});window.history.replaceState({},"",`${this.urls.editorUrl}?${n.toString()}`)}async save(){if(this.saving){this.pendingSave=!0;return}this.saving=!0,this.status="saving";let e=this.store.toJSON();console.log("\u4FDD\u5B58\u7684\u6570\u636E ---> ",e),console.log("\u4FDD\u5B58\u7684\u6587\u4EF6\u540D ---> ",this.name);try{let t=await this.store.toBlob({multiplier:1,format:"jpeg",quality:.8});if(t){console.log("blob",t);let{url:s,width:o,height:n}=await this.uploadFileToCos(t),i={...e,width:o,height:n,thumb:s};if(this.createEmptyPoster){let c=f({thumbnailUrl:s,width:o,height:n,content:i,name:this.name,filename:this.name,sourceResourcesId:crypto.randomUUID()}),u=await l.post(c.url,c.data);if(console.log("recordRes",u.result),u.result){let h=u.result;this.id=h.id,this.type="record",this.createEmptyPoster=!1,this.updateUrlWithProjectId(h.id,"record")}}else if(this.type==="record"){let c=w(this.id,{thumbnailUrl:s,width:o,height:n,content:i,name:this.name});await l.patch(c.url,c.data)}else console.log("\u6CA1\u6709\u4EFB\u4F55\u6765\u6E90\uFF0C\u65E0\u6CD5\u8FDC\u7A0B\u5B58\u50A8")}}catch(t){console.error("save error",t);let s=t instanceof Error?t.message:String(t);alert(`\u4FDD\u5B58\u5931\u8D25\uFF1A${s}`)}this.status="saved",this.saving=!1,this.pendingSave&&(this.pendingSave=!1,this.requestSave())}async getGlobalFont(e){return e?.length?(v(e),e):[]}async uploadFileToCos(e){let t=e instanceof File?e:new File([e],"upload.png",{type:e.type||"image/png"}),s=d(),o=new FormData;return o.append("file",t),o.append("isTemporary","true"),(await l.post(s.url,o,{headers:{"Content-Type":"multipart/form-data"}})).result}},E=b(null),B=()=>{let r=j(E);if(!r)throw new Error("useProject must be used within a ProjectProvider");return r},O=r=>new m(r),L=O;export{l as a,E as b,B as c,O as d,L as e};