@ydesign/react-editor 0.0.9 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/app.css +1 -1
  2. package/dist/assets/logo.d.ts +7 -0
  3. package/dist/assets/logo.js +1 -0
  4. package/dist/chunk-5CKXOQAT.js +1 -0
  5. package/dist/chunk-BE3YOONJ.js +1 -0
  6. package/dist/{chunk-A7SUGNOW.js → chunk-BWST6EER.js} +1 -1
  7. package/dist/chunk-ESNVOB52.js +17 -0
  8. package/dist/{chunk-NDZKXZQ2.js → chunk-HOAYYKAZ.js} +1 -1
  9. package/dist/chunk-JHNSYFB2.js +151 -0
  10. package/dist/chunk-MGTFIE3C.js +1 -0
  11. package/dist/chunk-NLABIDJ5.js +1 -0
  12. package/dist/chunk-QVSJHU2S.js +1 -0
  13. package/dist/{chunk-JUVJJS4T.js → chunk-U7TPE4R3.js} +1 -1
  14. package/dist/{chunk-KKA7WASQ.js → chunk-UCJMXWVT.js} +1 -1
  15. package/dist/{chunk-RSKWMPST.js → chunk-Z4QXUZAS.js} +1 -1
  16. package/dist/config.js +1 -1
  17. package/dist/model/store.d.ts +24 -6
  18. package/dist/model/store.js +1 -1
  19. package/dist/side-panel/index.js +1 -1
  20. package/dist/side-panel/shapes-panel.js +1 -1
  21. package/dist/side-panel/side-panel.js +1 -1
  22. package/dist/side-panel/tab-button.js +1 -1
  23. package/dist/toolbar/history-buttons.js +1 -1
  24. package/dist/toolbar/image-toolbar.js +1 -1
  25. package/dist/toolbar/lock-button.js +1 -1
  26. package/dist/toolbar/toolbar.js +1 -1
  27. package/dist/topbar/create-design.js +1 -1
  28. package/dist/topbar/file-menu.js +1 -1
  29. package/dist/topbar/psd-parser.d.ts +9 -0
  30. package/dist/topbar/psd-parser.js +1 -0
  31. package/dist/topbar/topbar.d.ts +18 -3
  32. package/dist/topbar/topbar.js +8 -8
  33. package/dist/utils/api.d.ts +4 -3
  34. package/dist/utils/api.js +1 -1
  35. package/dist/utils/use-axios.d.ts +21 -1
  36. package/dist/utils/use-axios.js +1 -1
  37. package/package.json +2 -2
  38. package/dist/chunk-4HH3B3W3.js +0 -23
  39. package/dist/chunk-OPXS6VQ6.js +0 -151
  40. package/dist/chunk-POWRXH5R.js +0 -1
  41. package/dist/chunk-TTHQXTIX.js +0 -1
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-\[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-\[\#1677ff4d\]{background-color:#1677ff4d}.bg-\[\#ecf0f1\]{background-color:#ecf0f1}.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-\[\#1677ff4d\]{&:hover{@media (hover: hover){background-color:#1677ff4d}}}.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}}}
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-\[\#1677ff4d\]{background-color:#1677ff4d}.bg-\[\#ecf0f1\]{background-color:#ecf0f1}.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-\[\#1677ff4d\]{&:hover{@media (hover: hover){background-color:#1677ff4d}}}.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
2
  /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */
@@ -0,0 +1,7 @@
1
+ /**
2
+ * 默认 Logo(base64 编码)
3
+ * 独立文件存放,避免大字符串污染组件代码
4
+ */
5
+ declare const DEFAULT_LOGO = "https://pub-d7c4dca6f69c4b329766184b707dc826.r2.dev/images/2026-03-17/e406e8b1-eb6d-4d8a-8c22-ddd100a0a40e/1b04fb1b-7275-4123-b495-d205197c21d4/ddc303f2-0cda-4d34-9864-76df19a9e7d6.png";
6
+
7
+ export { DEFAULT_LOGO };
@@ -0,0 +1 @@
1
+ import{a}from"../chunk-MGTFIE3C.js";import"../chunk-O2XFH626.js";export{a as DEFAULT_LOGO};
@@ -0,0 +1 @@
1
+ import{a as u}from"./chunk-NLABIDJ5.js";import{i as c}from"./chunk-BE3YOONJ.js";import{App as h,Modal as D,Upload as f}from"antd";import{Inbox as S}from"lucide-react";import{useRef as b,useState as v}from"react";import{jsx as r,jsxs as y}from"react/jsx-runtime";var{Dragger:w}=f,R=({visible:m,onClose:g})=>{let{message:t}=h.useApp(),[n,l]=v(!1),s=b(null);return r(D,{width:750,title:"\u4E0A\u4F20 PSD \u6587\u4EF6",open:m,onCancel:()=>{if(n){t.warning("\u6587\u4EF6\u6B63\u5728\u89E3\u6790\u4E2D\uFF0C\u8BF7\u7A0D\u5019...");return}g()},footer:null,mask:{closable:!n},styles:{body:{height:"calc(100% - 40px)",padding:"10px 0 0 0"},container:{height:500}},centered:!0,children:r("div",{style:{height:"100%"},children:y(w,{...{name:"file-psd",multiple:!1,accept:".psd",showUploadList:!1,beforeUpload(e){return e.name.toLowerCase().endsWith(".psd")?!0:(t.error("\u4EC5\u652F\u6301 .psd \u683C\u5F0F\u6587\u4EF6"),f.LIST_IGNORE)},customRequest(e){let{file:a,onSuccess:p,onError:P,onProgress:i}=e;l(!0),s.current=t.loading("PSD \u6587\u4EF6\u89E3\u6790\u4E2D\uFF0C\u8BF7\u7A0D\u5019...",0);let d=new FormData;d.append("file",a),u.post(c(),d,{headers:{"Content-Type":"multipart/form-data"},onUploadProgress(o){o.total&&i&&i({percent:Math.round(o.loaded/o.total*100)})}}).then(o=>{p?.(o)}).catch(o=>{P?.(o)})},onChange(e){let{status:a}=e.file;if(console.log("info",e),a==="done")s.current?.(),s.current=null,l(!1),t.success(`${e.file.name} \u89E3\u6790\u6210\u529F`);else if(a==="error"){s.current?.(),s.current=null,l(!1);let p=e.file.error?.message||"\u89E3\u6790\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5";t.error(p)}}},disabled:n,children:[r("p",{className:"flex items-center justify-center",children:r(S,{size:60})}),r("p",{className:"ant-upload-text",children:n?"\u89E3\u6790\u4E2D...":"\u62D6\u62FD\u6587\u4EF6\u5230\u6B64\u5904\u4E0A\u4F20\u6216\u70B9\u51FB\u4E0A\u4F20"}),r("p",{className:"ant-upload-hint",children:r("a",{href:"https://www.yuque.com/meitumcp/vvtts5/gfv8e5",target:"_blank",onClick:e=>{e.stopPropagation()},children:"PSD\u6587\u4EF6\u5BFC\u5165\u89C4\u8303"})})]})})})};export{R as a};
@@ -0,0 +1 @@
1
+ var a="http://219.151.185.37:9003",o=`${a}/api`,s=()=>a+"/api",t={fontList:()=>`${s()}/fonts`,templateList:()=>`${s()}/templates/list`,templateDetail:e=>`${s()}/templates/detail/${e}`,uploadImage:()=>`${s()}/images/upload`,psdParse:()=>`${s()}/psd/parser`},r=()=>t.fontList(),n=()=>t.templateList(),i=e=>t.templateDetail(e),l=()=>t.uploadImage(),g=()=>t.psdParse(),m=(e,p)=>{t[e]=p};export{a,o as b,s as c,t as d,r as e,n as f,i as g,l as h,g as i,m as j};
@@ -1 +1 @@
1
- import{a as l}from"./chunk-OPXS6VQ6.js";import{c as n}from"./chunk-YCFED7XQ.js";import{Dropdown as m,Button as u,Modal as d}from"antd";import{Menu as y,Plus as f,Languages as h,Check as s}from"lucide-react";import{useState as k}from"react";import{observer as b}from"mobx-react-lite";import{Fragment as C,jsx as e,jsxs as S}from"react/jsx-runtime";var{confirm:w}=d,D=b(({store:a,project:o})=>{let[g,r]=k(!1),c=[{label:n("topbar.newDesign"),key:"new_design",icon:e(f,{size:16})},{label:n("topbar.language"),key:"language",icon:e("div",{style:{height:22,display:"flex",alignItems:"center"},children:e(h,{size:16})}),children:[{key:"en",label:"English",onClick:()=>{o.setLanguage("en")},extra:o.language==="en"?e(s,{size:16}):null},{key:"zh",label:"\u4E2D\u6587",onClick:()=>{o.setLanguage("zh")},extra:o.language==="zh"?e(s,{size:16}):null}]}];return S(C,{children:[e(m,{menu:{items:c,onClick:({key:t})=>{t==="new_design"&&r(!0)}},trigger:["click"],styles:{root:{width:188}},children:e(u,{type:"text",children:e(y,{size:16})})}),e(l,{visible:g,onClose:()=>r(!1),onConfirm:t=>{w({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 ---> ",t);let p=JSON.stringify({bg:{backgroundColor:t.bgColor}}),i=new URLSearchParams({create:"",createEmptyPoster:"true",createInfo:p,height:String(t.height),unit:t.unit,width:String(t.width)});console.log("params \u7684\u53C2\u6570 ---> ",i.toString()),console.log("\u9700\u8981\u8DF3\u8F6C\u7684\u7F16\u8F91\u5668\u5730\u5740",o.urls.editorUrl),window.open(`${o.urls.editorUrl}?${i.toString()}`,"_blank")}})},store:a,project:o})]})});export{D as a};
1
+ import{a as l}from"./chunk-JHNSYFB2.js";import{c as n}from"./chunk-YCFED7XQ.js";import{Dropdown as m,Button as u,Modal as d}from"antd";import{Menu as y,Plus as f,Languages as h,Check as s}from"lucide-react";import{useState as k}from"react";import{observer as b}from"mobx-react-lite";import{Fragment as C,jsx as e,jsxs as S}from"react/jsx-runtime";var{confirm:w}=d,D=b(({store:a,project:o})=>{let[g,r]=k(!1),c=[{label:n("topbar.newDesign"),key:"new_design",icon:e(f,{size:16})},{label:n("topbar.language"),key:"language",icon:e("div",{style:{height:22,display:"flex",alignItems:"center"},children:e(h,{size:16})}),children:[{key:"en",label:"English",onClick:()=>{o.setLanguage("en")},extra:o.language==="en"?e(s,{size:16}):null},{key:"zh",label:"\u4E2D\u6587",onClick:()=>{o.setLanguage("zh")},extra:o.language==="zh"?e(s,{size:16}):null}]}];return S(C,{children:[e(m,{menu:{items:c,onClick:({key:t})=>{t==="new_design"&&r(!0)}},trigger:["click"],styles:{root:{width:188}},children:e(u,{type:"text",children:e(y,{size:16})})}),e(l,{visible:g,onClose:()=>r(!1),onConfirm:t=>{w({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 ---> ",t);let p=JSON.stringify({bg:{backgroundColor:t.bgColor}}),i=new URLSearchParams({create:"",createEmptyPoster:"true",createInfo:p,height:String(t.height),unit:t.unit,width:String(t.width)});console.log("params \u7684\u53C2\u6570 ---> ",i.toString()),console.log("\u9700\u8981\u8DF3\u8F6C\u7684\u7F16\u8F91\u5668\u5730\u5740",o.urls.editorUrl),window.open(`${o.urls.editorUrl}?${i.toString()}`,"_blank")}})},store:a,project:o})]})});export{D as a};
@@ -0,0 +1,17 @@
1
+ import c from"styled-components";import{theme as d}from"antd";import{jsx as e,jsxs as s}from"react/jsx-runtime";var p=c.div`
2
+ width: 100%;
3
+ min-width: 78px;
4
+ height: 72px;
5
+ padding-top: 15px;
6
+ padding-left: 5px;
7
+ padding-right: 5px;
8
+ text-align: center;
9
+ font-size: 12px;
10
+ cursor: pointer;
11
+ white-space: pre;
12
+
13
+ &:hover,
14
+ &.active {
15
+ background-color: var(--side-panel-tab-active-bg);
16
+ }
17
+ `,g=({children:i,name:t,iconSize:n,onClick:a,active:o})=>{let{token:r}=d.useToken();return s(p,{className:`design-side-panel-tab ${o?"active":""}`,onClick:a,style:{"--side-panel-tab-active-bg":r.colorPrimaryBg},children:[e("div",{style:{fontSize:n||14},children:i}),e("div",{style:{paddingTop:3,userSelect:"none"},children:t})]})};export{g as a};
@@ -1,3 +1,3 @@
1
- import{a as T}from"./chunk-CB23VFSC.js";import{b as C}from"./chunk-3TO57JPN.js";import{a as k}from"./chunk-O73AAP2K.js";import{a as x}from"./chunk-AC6CCGZH.js";import{a as b}from"./chunk-YVBVDUVA.js";import{a as I}from"./chunk-TTK5Z2Z6.js";import{a as p}from"./chunk-MXZ6RXT3.js";import{a as f,b as v}from"./chunk-YRJUN267.js";import{b as u}from"./chunk-TZ6B7XDS.js";import{k as h,l as y}from"./chunk-7NNOHYKX.js";import{c as l}from"./chunk-YCFED7XQ.js";import{observer as g}from"mobx-react-lite";import{Button as m,Tooltip as S,Popover as w}from"antd";import{Crop as F}from"lucide-react";import B from"styled-components";import{jsx as o}from"react/jsx-runtime";var E=Object.keys(h),R=[{width:300,height:300,fill:"lightgray",stroke:"#0c0c0c",strokeWidth:0,url:""}],P=[];E.forEach(t=>{R.forEach(e=>{P.push(Object.assign({subType:t},e))})});P.forEach(t=>{t.url=T(y(t))});var H=B.div`
1
+ import{b as C}from"./chunk-3TO57JPN.js";import{a as T}from"./chunk-CB23VFSC.js";import{a as k}from"./chunk-O73AAP2K.js";import{a as x}from"./chunk-AC6CCGZH.js";import{a as b}from"./chunk-YVBVDUVA.js";import{a as I}from"./chunk-TTK5Z2Z6.js";import{a as p}from"./chunk-MXZ6RXT3.js";import{a as f,b as v}from"./chunk-YRJUN267.js";import{b as u}from"./chunk-TZ6B7XDS.js";import{k as h,l as y}from"./chunk-7NNOHYKX.js";import{c as l}from"./chunk-YCFED7XQ.js";import{observer as g}from"mobx-react-lite";import{Button as m,Tooltip as S,Popover as w}from"antd";import{Crop as F}from"lucide-react";import B from"styled-components";import{jsx as o}from"react/jsx-runtime";var E=Object.keys(h),R=[{width:300,height:300,fill:"lightgray",stroke:"#0c0c0c",strokeWidth:0,url:""}],P=[];E.forEach(t=>{R.forEach(e=>{P.push(Object.assign({subType:t},e))})});P.forEach(t=>{t.url=T(y(t))});var H=B.div`
2
2
  height: 220px;
3
3
  `,d={root:{padding:"0 7px"}},U=g(({element:t,store:e})=>{let i=e.editor;return o(m,{type:"text",styles:d,onClick:async()=>{let s=e.width+2*e.bleed,r=e.height+2*e.bleed,a=t.getOriginalSize(),c={width:a.width,height:a.height},n=C({width:s,height:r},c);t.set({cropX:n.cropX,cropY:n.cropY,width:n.width,height:n.height,scaleX:s/n.width,scaleY:r/n.height,left:-e.bleed,top:-e.bleed}),t.setCoords(),i?.customCanvas?.canvas?.requestRenderAll(),i?.historyHandler.save("update")},children:l("toolbar.fitToBackground")})}),L=g(({element:t,store:e})=>o(S,{title:l("toolbar.crop"),children:o(m,{type:"text",styles:{root:{padding:"0 7px"}},onClick:()=>{let i=e.editor?.layerHandler.getLayer();e.editor?.imageCropHandler.cropStart(t,i,t.getSrc())},children:o(F,{size:16})})})),Y=g(({element:t,store:e})=>{let i=u.reduce((r,a)=>r.concat(a.children),[]),s=Math.ceil(i.length/4)||1;return t.clipPath?o(m,{type:"text",styles:d,onClick:()=>{t.set({clipPath:null}),e.editor?.customCanvas?.canvas?.requestRenderAll(),e._triggerUpdate(),e.editor?.historyHandler.save("update")},children:l("toolbar.removeClip")}):o(w,{styles:{container:{padding:"5px 10px"}},content:o("div",{style:{maxHeight:313,overflowY:"auto"},children:o(H,{style:{height:80*s,width:300},children:o("div",{className:p("shape-list","flex flex-wrap content-start mb-2"),children:i.map((r,a)=>o("div",{className:p("shape-item","w-[25%] h-0 pb-[25%] relative cursor-pointer shrink-0 mb-[1.2%]"),onClick:()=>{e.editor?.objectsHandler.createMaskElement(t,r),e._triggerUpdate()},children:o("div",{className:p("shape-content","absolute inset-0 flex justify-center items-center"),children:o("svg",{overflow:"visible",width:"50",height:"50",children:o("g",{transform:`scale(${50/r.viewBox[0]}, ${50/r.viewBox[1]}) translate(0,0) matrix(1,0,0,1,0,0)`,children:o("path",{className:"shape-path",d:r.path,fill:"#ccc",strokeMiterlimit:8,strokeLinecap:"butt"})})})})},a))})})}),trigger:"click",children:o(m,{type:"text",styles:d,children:l("toolbar.clip")})})}),A={ImageFlip:I,ImageFilters:b,ImageFitToBackground:U,ImageCrop:L,ImageClip:Y,ImageRemoveBackground:x,ImageEraserPen:k},M=g(({store:t,components:e})=>{let i=t.selectedElements,r=f({type:"text",usedItems:["ImageFlip","ImageFilters","ImageFitToBackground","ImageClip","ImageCrop","ImageRemoveBackground","ImageEraserPen"],components:e});return o(v,{items:r,itemRender:a=>{let c=e[a]||A[a];return c&&o(c,{elements:i,element:i[0],store:t},a)}})}),Z=M;export{U as a,L as b,Y as c,M as d,Z as e};
@@ -0,0 +1,151 @@
1
+ import{a as _}from"./chunk-5CKXOQAT.js";import{a as V}from"./chunk-NLABIDJ5.js";import{b as M,c as m}from"./chunk-5C2MNUBC.js";import{a as b}from"./chunk-MXZ6RXT3.js";import{h as H}from"./chunk-BE3YOONJ.js";import{Modal as ue,Button as fe,ColorPicker as ye,InputNumber as O,Select as ve,Tooltip as j,App as be}from"antd";import{Grid2X2 as we,Star as ze,ShoppingBag as ke,FileText as Ce,Presentation as Se,Share2 as Pe,Printer as Ie,ImagePlus as Ne,FolderPlus as t,LockKeyholeOpen as Be,LockKeyhole as Te}from"lucide-react";import{useRef as Me,useState as l,useMemo as X,useCallback as g}from"react";import k from"styled-components";import{Fragment as De,jsx as e,jsxs as o}from"react/jsx-runtime";var Ue=[{key:"all",label:"\u5168\u90E8",icon:we},{key:"common",label:"\u5E38\u7528\u5C3A\u5BF8",icon:ze},{key:"ecommerce",label:"\u7535\u5546\u7269\u6599",icon:ke},{key:"office",label:"\u884C\u653F\u529E\u516C",icon:Ce},{key:"presentation",label:"\u6F14\u793A\u6587\u7A3F",icon:Se},{key:"social",label:"\u793E\u4EA4\u5A92\u4F53",icon:Pe},{key:"print",label:"\u5370\u5237\u7269\u6599",icon:Ie}],K=[{key:"common",label:"\u5E38\u7528\u5C3A\u5BF8",sizes:[{icon:e(t,{size:24}),name:"\u7535\u5546\u4E3B\u56FE\uFF081:1\uFF09",desc:"1440x1440px",width:1440,height:1440,unit:"px"},{icon:e(t,{size:24}),name:"\u7535\u5546\u4E3B\u56FE\uFF081:1\uFF09",desc:"800x800px",width:800,height:800,unit:"px"},{icon:e(t,{size:24}),name:"\u624B\u673A\u6D77\u62A5",desc:"1242x2208px",width:1242,height:2208,unit:"px"},{icon:e(t,{size:24}),name:"\u5C0F\u7EA2\u4E66\u5C01\u9762",desc:"1242x1656px",width:1242,height:1656,unit:"px"},{icon:e(t,{size:24}),name:"\u7AD6\u7248\u89C6\u9891\u5C01\u9762",desc:"1080x1920px",width:1080,height:1920,unit:"px"},{icon:e(t,{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(t,{size:24}),name:"\u7535\u5546\u4E3B\u56FE\uFF081:1\uFF09",desc:"1440x1440px",width:1440,height:1440,unit:"px"},{icon:e(t,{size:24}),name:"\u7535\u5546\u4E3B\u56FE\uFF081:1\uFF09",desc:"800x800px",width:800,height:800,unit:"px"},{icon:e(t,{size:24}),name:"\u7535\u5546\u4E3B\u56FE\uFF083:4\uFF09",desc:"1440x1920px",width:1440,height:1920,unit:"px"},{icon:e(t,{size:24}),name:"\u7535\u5546\u4E3B\u56FE\uFF083:4\uFF09",desc:"750x1000px",width:750,height:1e3,unit:"px"},{icon:e(t,{size:24}),name:"\u76F4\u64AD\u95F4\u80CC\u666F",desc:"1242x2690px",width:1242,height:2690,unit:"px"},{icon:e(t,{size:24}),name:"\u7535\u5546\u8BE6\u60C5\u9875",desc:"750x1000px",width:750,height:1e3,unit:"px"},{icon:e(t,{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(t,{size:24}),name:"\u7B80\u5386",desc:"2480x3507px",width:2480,height:3507,unit:"px"},{icon:e(t,{size:24}),name:"\u5DE5\u724C\u5DE5\u4F5C\u8BC1",desc:"709x1087px",width:709,height:1087,unit:"px"},{icon:e(t,{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(t,{size:24}),name:"PPT\uFF0816:9\uFF09",desc:"1920x1080px",width:1920,height:1080,unit:"px"},{icon:e(t,{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(t,{size:24}),name:"\u624B\u673A\u6D77\u62A5",desc:"1242x2208px",width:1242,height:2208,unit:"px"},{icon:e(t,{size:24}),name:"\u624B\u673A\u5168\u5C4F\u6D77\u62A5",desc:"1242x2688px",width:1242,height:2688,unit:"px"},{icon:e(t,{size:24}),name:"\u7AD6\u7248\u89C6\u9891\u5C01\u9762",desc:"1080x1920px",width:1080,height:1920,unit:"px"},{icon:e(t,{size:24}),name:"\u6A2A\u7248\u89C6\u9891\u5C01\u9762",desc:"1920x1080px",width:1920,height:1080,unit:"px"},{icon:e(t,{size:24}),name:"\u5C0F\u7EA2\u4E66\u5C01\u9762",desc:"1242x1656px",width:1242,height:1656,unit:"px"},{icon:e(t,{size:24}),name:"\u6296\u97F3\u56FE\u6587\u5E26\u8D27",desc:"1242x1656px",width:1242,height:1656,unit:"px"},{icon:e(t,{size:24}),name:"\u516C\u4F17\u53F7\u9996\u56FE",desc:"900x383px",width:900,height:383,unit:"px"},{icon:e(t,{size:24}),name:"\u516C\u4F17\u53F7\u6B21\u56FE",desc:"900x800px",width:900,height:800,unit:"px"},{icon:e(t,{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(t,{size:24}),name:"\u4E00\u5BF8\u8BC1\u4EF6\u7167",desc:"23x35mm",width:25,height:35,unit:"mm"},{icon:e(t,{size:24}),name:"\u4E8C\u5BF8\u8BC1\u4EF6\u7167",desc:"35x53mm",width:35,height:53,unit:"mm"},{icon:e(t,{size:24}),name:"1.8\u7C73\u5C55\u67B6",desc:"80x180cm",width:80,height:180,unit:"cm"},{icon:e(t,{size:24}),name:"2m\u6613\u62C9\u5B9D",desc:"80x200cm",width:80,height:200,unit:"cm"},{icon:e(t,{size:24}),name:"\u540D\u7247",desc:"96x60mm",width:96,height:60,unit:"mm"},{icon:e(t,{size:24}),name:"\u4F18\u60E0\u5238",desc:"186x66mm",width:186,height:66,unit:"mm"},{icon:e(t,{size:24}),name:"\u4F20\u5355",desc:"216x291cm",width:216,height:291,unit:"cm"}]}],Z=k.div`
2
+ padding: 16px 24px;
3
+ height: 60px;
4
+ flex: 1;
5
+ display: flex;
6
+ cursor: pointer;
7
+ align-items: center;
8
+ border-radius: 8px;
9
+ border: 1px dashed #d0d2d6;
10
+ &:hover {
11
+ background-color: rgba(0, 31, 92, 0.06);
12
+ }
13
+ span {
14
+ margin-left: 8px;
15
+ }
16
+ `,Le=k.div`
17
+ flex: 1;
18
+ margin-left: 14px;
19
+ height: 100%;
20
+
21
+ .createrContentInner {
22
+ margin-bottom: 16px;
23
+ }
24
+
25
+ .scrollbars div:first-child {
26
+ scroll-behavior: smooth;
27
+ }
28
+
29
+ .Widget.categorySection[data-is-folded='false'] .categoryFoldBtn,
30
+ .Widget.categorySection[data-is-multi-row='false'] .categoryFoldBtn {
31
+ display: none;
32
+ }
33
+
34
+ .Widget.categorySection[data-is-folded='true'] ul {
35
+ height: 97px;
36
+ overflow: hidden;
37
+ }
38
+ `,Re=k.div`
39
+ width: 100%;
40
+ height: 100%;
41
+ position: relative;
42
+ padding-top: 16px;
43
+ overflow: hidden;
44
+
45
+ display: flex;
46
+ flex-direction: column;
47
+ align-items: center;
48
+
49
+ border-radius: 8px;
50
+ background-color: rgba(0, 0, 0, 0.05);
51
+
52
+ .canvasSizeName {
53
+ color: #616366;
54
+ font-size: 12px;
55
+ font-weight: 600;
56
+ line-height: 16px;
57
+ margin-top: 8px;
58
+ }
59
+
60
+ .canvasSizeSize {
61
+ height: 14px;
62
+ overflow: hidden;
63
+ width: 100%;
64
+ margin-top: 4px;
65
+
66
+ span {
67
+ color: #abadb2;
68
+ display: block;
69
+ font-size: 20px;
70
+ font-weight: 400;
71
+ height: 200%;
72
+ line-height: 26px;
73
+ text-align: center;
74
+ -webkit-transform: scale(0.5);
75
+ transform: scale(0.5);
76
+ -webkit-transform-origin: top left;
77
+ transform-origin: top left;
78
+ width: 200%;
79
+ }
80
+ }
81
+
82
+ .canvasSizeMask {
83
+ background: rgba(0, 0, 0, 0.25);
84
+ display: none;
85
+ height: 100%;
86
+ left: 0;
87
+ position: absolute;
88
+ top: 0;
89
+ width: 100%;
90
+ }
91
+ .canvasSizeMask,
92
+ .canvasSizeMask button {
93
+ justify-content: center;
94
+ align-items: center;
95
+ }
96
+
97
+ .canvasSizeMask button {
98
+ background-color: #fff;
99
+ width: 66px;
100
+ height: 26px;
101
+ display: flex;
102
+ padding: 0 8px;
103
+ outline: none;
104
+ line-height: 16px;
105
+ font-size: 12px;
106
+ cursor: pointer;
107
+ color: #1c1d1f;
108
+ border-radius: 6px;
109
+ }
110
+ .canvasSizeMask button:active {
111
+ background-color: #f2f2f2;
112
+ }
113
+
114
+ &:hover .canvasSizeMask {
115
+ display: flex;
116
+ }
117
+ `,We=k.div`
118
+ display: flex;
119
+ margin-top: 20px;
120
+ flex-wrap: wrap;
121
+ align-items: center;
122
+ position: relative;
123
+
124
+ .sizeWarning {
125
+ width: 100%;
126
+ margin-bottom: 8px;
127
+ padding: 4px 8px;
128
+ font-size: 12px;
129
+ color: #ff4d4f;
130
+ background-color: #fff2f0;
131
+ border: 1px solid #ffccc7;
132
+ border-radius: 4px;
133
+ }
134
+
135
+ .Widget.sizeInpueBox {
136
+ display: flex;
137
+ align-items: center;
138
+
139
+ flex: 1;
140
+ }
141
+
142
+ .Widget.sizeInpueBox .sizeInput {
143
+ flex: 1;
144
+ }
145
+ .Widget.sizeInpueBox .linkIcon {
146
+ padding: 8px;
147
+ background-color: #001f5c0f;
148
+ border-radius: 8px;
149
+ margin: 0 4px;
150
+ }
151
+ `,p=72,w=20,z=8e3,Xe=({project:C,visible:q,onClose:G,onConfirm:J})=>{let{message:x,modal:Q}=be.useApp(),[U,Y]=l("all"),L=Me(null),[s,S]=l(null),[a,P]=l(null),[r,ee]=l("px"),[d,ie]=l(!1),[u,te]=l(1),[f,ne]=l("#ffffff"),[oe,R]=l(!1),I=X(()=>s?m({unitVal:s,dpi:p,unit:r}):0,[s,r]),N=X(()=>a?m({unitVal:a,dpi:p,unit:r}):0,[a,r]),B=s!=null&&a!=null&&s>0&&a>0,y=B&&(I>z||N>z),v=B&&(I<w||N<w),T=!B||y||v,W=y?`\u8D85\u51FA\u753B\u5E03\u5C3A\u5BF8\u9650\u5236\uFF1A${z} * ${z} px`:v?`\u4F4E\u4E8E\u753B\u5E03\u5C3A\u5BF8\u9650\u5236\uFF1A${w} * ${w} px`:"",se=g(i=>{S(i),d&&i&&i>0&&P(Math.round(i/u))},[d,u]),ae=g(i=>{P(i),d&&i&&i>0&&S(Math.round(i*u))},[d,u]),re=g(()=>{!d&&s&&a&&s>0&&a>0&&te(s/a),ie(i=>!i)},[d,s,a]),ce=g(i=>{if(s){let n=m({unitVal:s,dpi:p,unit:r});S(Math.round(M({px:n,dpi:p,unit:i,precious:0})))}if(a){let n=m({unitVal:a,dpi:p,unit:r});P(Math.round(M({px:n,dpi:p,unit:i,precious:0})))}ee(i)},[s,a,r]),le=g(()=>{if(T)return;let i=JSON.stringify({bg:{backgroundColor:f}}),n=new URLSearchParams({create:"",createEmptyPoster:"true",createInfo:i,height:String(a),unit:r,width:String(s)});console.log("params \u7684\u53C2\u6570 ---> ",n.toString()),console.log("project ",C.urls.editorUrl),window.open(`${C.urls.editorUrl}?${n.toString()}`,"_blank")},[T,f,N,I,r]),de=i=>{Y(i);let n=L.current;if(!n)return;let c=n.querySelector(`[data-category-id="${i}"]`);c&&n.scrollTo({top:c.offsetTop,behavior:"smooth"})},[pe,he]=l(()=>{let i={};return K.forEach(n=>{i[n.key]=n.sizes.length>6}),i});return o(De,{children:[o(ue,{title:"\u521B\u5EFA\u8BBE\u8BA1",open:q,onCancel:G,footer:null,width:880,mask:{closable:!1},styles:{body:{display:"flex",flex:1,padding:"20px 0",height:"100%"},container:{height:550}},children:[e("div",{className:"createrSideBar",style:{width:140},children:Ue.map(i=>o("div",{"data-active":i.key===U,className:b("createrSideBarItem","flex h-[40px] px-2 mb-2 cursor-pointer rounded-md items-center hover:bg-[#1677ff4d]",{"bg-[#1677ff4d] hover:bg-[#1677ff4d]":i.key===U}),onClick:()=>de(i.key),children:[e(i.icon,{size:16,className:"ml-2"}),e("span",{className:"ml-2",children:i.label})]},i.key))}),e(Le,{children:e("div",{className:"scrollbars",style:{position:"relative",overflow:"hidden",width:"100%",height:"100%"},children:e("div",{ref:L,style:{position:"absolute",inset:0,overflow:"scroll"},children:o("div",{className:"createrContentInner",children:[e("div",{"data-category-id":"all"}),o("div",{className:"openBtns flex",children:[o(Z,{onClick:()=>{let i=document.createElement("input");i.type="file",i.accept="image/*",i.onchange=async()=>{let n=i.files?.[0];if(n)try{x.loading("\u6B63\u5728\u4E0A\u4F20...",0);let c=H(),h=new FormData;h.append("file",n);let D=await V.post(c,h,{headers:{"Content-Type":"multipart/form-data"}});console.log("res",D);let{url:$,width:E,height:A}=D.result;console.log("url",$,E,A);let me=encodeURIComponent(encodeURIComponent($)),ge=new URLSearchParams({createEmptyPoster:"true",width:String(E),height:String(A),unit:"px"});x.destroy();let xe=`${C.urls.editorUrl}/?${ge.toString()}&open=${me}`,F=window.open(xe,"_blank");(!F||F.closed)&&Q.info({title:"\u5141\u8BB8\u663E\u793A\u5F39\u51FA\u7A97\u53E3",width:480,content:o("div",{style:{padding:"16px 0"},children:[e("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"}),o("div",{style:{marginBottom:12},children:[e("p",{children:e("b",{children:"\u7B2C1\u6B65"})}),e("p",{children:"\u70B9\u51FB\u6D4F\u89C8\u5668\u53F3\u4FA7\u9876\u90E8\u5F39\u51FA\u7684\u963B\u6B62\u7A0B\u5E8F\u56FE\u6807\u3002"})]}),o("div",{style:{marginBottom:12},children:[e("p",{children:e("b",{children:"\u7B2C2\u6B65"})}),e("p",{children:"\u70B9\u51FB\u59CB\u7EC8\u5141\u8BB8\u663E\u793A\u5F39\u51FA\u5F0F\u7A97\u53E3\u548C\u8FDB\u884C\u91CD\u5B9A\u5411\u3002"})]}),o("div",{style:{marginBottom:12},children:[e("p",{children:e("b",{children:"\u7B2C3\u6B65"})}),e("p",{children:"\u70B9\u51FB\u5B8C\u6210\u6309\u94AE\uFF0C\u5373\u53EF\u6B63\u5E38\u4F7F\u7528\u529F\u80FD\u5566~"})]})]}),okText:"\u6211\u77E5\u9053\u5566"})}catch(c){x.destroy();let h=c?.message||"\u4E0A\u4F20\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5";x.error(h),console.error("\u4E0A\u4F20\u5931\u8D25:",h,c)}},i.click()},children:[e(Ne,{style:{color:"#1677ff"}}),e("span",{children:"\u6253\u5F00\u56FE\u7247"})]}),e(j,{title:"\u4EC5\u652F\u6301psd\u683C\u5F0F\u6587\u4EF6",children:o(Z,{style:{marginLeft:12},onClick:()=>{R(!0),console.log("\u70B9\u51FB")},children:[e(t,{style:{color:"#1677ff"}}),e("span",{children:"\u6253\u5F00PSD"})]})})]}),K.map(i=>o("div",{className:b("Widget categorySection","mt-6"),"data-category-id":i.key,"data-is-folded":pe[i.key]??!1,"data-is-multi-row":i.sizes.length>6,children:[o("div",{className:b("categoryHeader","flex items-center justify-between"),children:[e("div",{className:"categoryTitle text-sm font-semibold",children:i.label}),e("div",{className:"categoryFoldBtn flex items-center cursor-pointer",onClick:()=>he(n=>({...n,[i.key]:!1})),children:e("span",{className:"text-[#616366]",children:"\u67E5\u770B\u66F4\u591A"})})]}),i.key==="common"&&o(We,{children:[W&&e("div",{className:"sizeWarning",children:W}),o("div",{className:"Widget sizeInpueBox",children:[e("div",{className:"sizeInput",children:e(O,{prefix:"\u5BBD",value:s,min:0,precision:0,status:y||v?"error":void 0,onChange:se,styles:{actions:{opacity:1,width:24}},style:{width:"100%"}})}),e(j,{title:d?"\u89E3\u9501\u6BD4\u4F8B":"\u9501\u5B9A\u6BD4\u4F8B",children:e("div",{className:"linkIcon",style:{cursor:"pointer"},onClick:re,children:d?e(Te,{size:16}):e(Be,{size:16})})}),e("div",{className:"sizeInput",children:e(O,{prefix:"\u9AD8",value:a,min:0,precision:0,status:y||v?"error":void 0,onChange:ae,styles:{actions:{opacity:1,width:24}},style:{width:"100%"}})}),e("div",{className:"sizeUnitSelect",style:{width:98,marginLeft:12},children:e(ve,{value:r,style:{width:98},onChange:ce,options:[{label:"px \u50CF\u7D20",value:"px"},{label:"cm \u5398\u7C73",value:"cm"},{label:"mm \u6BEB\u7C73",value:"mm"}]})})]}),e("div",{className:"widgets-color-picker",style:{width:98,marginLeft:12},children:e(ye,{mode:"single",format:"hex",value:f,onChange:n=>ne(n.toHexString()),styles:{root:{width:98},body:{width:92}}})}),e(fe,{type:"primary",disabled:T,style:{width:98,marginLeft:12},onClick:le,children:"\u521B\u5EFA"})]}),e("ul",{className:"flex mt-4 flex-wrap gap-3",children:i.sizes.map((n,c)=>e("li",{style:{width:"calc((100% - 60px) / 6)",height:97},children:o(Re,{children:[n.icon,e("div",{className:"canvasSizeName",children:n.name}),e("div",{className:"canvasSizeSize",children:e("span",{children:n.desc})}),e("div",{className:"canvasSizeMask",onClick:()=>{J({...n,bgColor:f})},children:e("button",{type:"button",children:"\u521B\u5EFA"})})]})},c))})]},i.key))]})})})})]}),e(_,{visible:oe,onClose:()=>R(!1)})]})};export{Xe as a};
@@ -0,0 +1 @@
1
+ var d="https://pub-d7c4dca6f69c4b329766184b707dc826.r2.dev/images/2026-03-17/e406e8b1-eb6d-4d8a-8c22-ddd100a0a40e/1b04fb1b-7275-4123-b495-d205197c21d4/ddc303f2-0cda-4d34-9864-76df19a9e7d6.png";export{d as a};
@@ -0,0 +1 @@
1
+ import{d as n}from"./chunk-QVSJHU2S.js";import a from"axios";var s=a.create({timeout:6e4});s.interceptors.request.use(r=>{let e=n();return e.value&&(r.headers.Authorization=`Bearer ${e.value}`),r},r=>Promise.reject(r));s.interceptors.response.use(r=>{let{data:e}=r,t=e?.statusCode??e?.status;if(t!=null){if(t>=200&&t<=201)return e;let i=e?.result?.message||e?.message||"An error occurred";return Promise.reject(new Error(i))}if(r.status>=200&&r.status<300&&e)return e;let o=new Error(e?.message||"An error occurred");return Promise.reject(o)},r=>{let e=r?.response?.data,t=e?.result?.message||e?.message||r.message||"An error occurred";return Promise.reject(new Error(t))});var m=s;export{m as a};
@@ -0,0 +1 @@
1
+ import{a as u}from"./chunk-P5I43V7X.js";import{a as l,h as g,i as m,m as p}from"./chunk-WJT6VPDR.js";import{types as i,cast as b,flow as f,destroy as h,getSnapshot as E,onSnapshot as x}from"mobx-state-tree";import{observable as S,toJS as j}from"mobx";import{isEqual as F}from"es-toolkit/compat";var c=(e,t)=>{if(e?.objects)for(let r of e.objects){if(t(r)===!0)break;c(r,t)}},v=i.model("Font",{fontFamily:i.string,name:i.optional(i.string,""),url:i.optional(i.string,""),img:i.optional(i.string,""),styles:i.frozen()}).preProcessSnapshot(e=>Object.assign(Object.assign({},e),{fontFamily:e.fontFamily||e.name})),O=i.model("Store",{name:"yitu-design",token:"",width:1080,height:1080,scale:1,scaleToFit:1,unit:"px",dpi:72,bleed:0,bleedVisible:!1,rulesVisible:!1,openedSidePanel:"",selectedElementsIds:i.array(i.string),backgroundColor:i.optional(i.union(i.string,i.frozen()),"#fff"),fonts:i.array(v),editor:i.frozen(null),custom:i.frozen(),objects:i.array(i.frozen()),_key:"",_updateTrigger:0,_updateFontSize:0}).views(e=>({get selectedElements(){let t=e._updateTrigger;return console.log("_trigger\u90FD\u53D8\u5316\u662F\u89E6\u53D1\u805A\u7126\u5143\u7D20\u7684\u5237\u65B0 ---> ",t),e.selectedElementsIds.map(r=>e.editor?.objectsHandler.findOneById(r))}})).views(e=>({get selectedShapes(){let t=[];return c({objects:e.selectedElements},r=>{r?.type!=="group"&&t.push(r)}),t},find(t){let r,a=e.editor?.customCanvas.canvas.getObjects();if(a)return c({objects:a},o=>{if(!r&&t(o))return r=o,!0}),r},getElementById(t){return e.editor?.objectsHandler.findOneById(t)}})).actions(e=>({_setEditor(t){e.editor=t},_triggerUpdate(){e._updateTrigger=e._updateTrigger+1},_fontSizeUpdate(){e._updateFontSize=e._updateFontSize+1},_syncBackgroundColor(t){e.backgroundColor=t}})).actions(e=>({setBackgroundColor(t,r){e.backgroundColor=t,e.editor?.workareaHandler.setWorkareaBgColor(t,r)},set(t,r){e.editor?.objectsHandler.update(t,r?.id)},setUnit({unit:t,dpi:r}){e.unit=t||e.unit,e.dpi=r||e.dpi},setObjects(t){e.objects=t},selectElements(t){e.selectedElementsIds=b(t)},openSidePanel(t){e.openedSidePanel!==t&&(e.openedSidePanel=t)},deleteElements(t){t.forEach(r=>{e.editor?.objectsHandler.remove(r)})},setScale(t){e.scale=t},clone(){e.editor?.objectsHandler.clone()},addElement(t,r){return console.log("\u6DFB\u52A0json\u6570\u636E",t),e.editor?.objectsHandler.addJson(t,r)},setSize({width:t,height:r}){e.width=t,e.height=r,e.editor?.workareaHandler.setSize({width:t,height:r})},setupEditorListeners(){e.editor&&(e.editor.on("object:modified",()=>{e._triggerUpdate()}),e.editor.on("textbox:modified",()=>{e._fontSizeUpdate()}),e.editor.on("history:changed",t=>{t?.backgroundColor!==void 0&&e._syncBackgroundColor(t.backgroundColor)}))}})).actions(e=>({_forEachElementUp(t,r){if(!e.editor)return;let a=e.editor.layerHandler.getEffectiveLayers(),o=t.map(n=>({id:n,index:a.findIndex(d=>d.id===n)}));o.sort((n,d)=>d.index-n.index);for(let{index:n}of o){if(n==-1)continue;let d=n<a.length-1&&a[n+1],s=t.indexOf(d?.id)>=0;n===a.length-1||s||r(n)}},_forEachElementDown(t,r){if(!e.editor)return;let a=e.editor.layerHandler.getEffectiveLayers(),o=t.map(n=>({id:n,index:a.findIndex(d=>d.id===n)}));o.sort((n,d)=>d.index-n.index);for(let{index:n}of o){if(n==-1)continue;let d=n>0&&a[n-1],s=t.indexOf(d?.id)>=0;n===0||s||r(n)}return!1}})).actions(e=>({canMoveElementsUp(t){let r=!1;return e._forEachElementUp(t,()=>{r=!0}),r},moveElementsUp(t){if(!e.editor)return;let r=e.editor.layerHandler.getEffectiveLayers();[...t].map(o=>({id:o,index:r.findIndex(n=>n.id===o)})).filter(o=>o.index!==-1).sort((o,n)=>n.index-o.index).map(o=>o.id).forEach(o=>{e.editor?.layerHandler.bringForward(o)}),e._triggerUpdate()},canMoveElementsTop(t){return this.canMoveElementsUp(t)},moveElementsTop(t){e.editor&&(t.forEach(r=>{e.editor?.layerHandler.bringToFront(r)}),e._triggerUpdate())},canMoveElementsDown(t){let r=!1;return e._forEachElementDown(t,()=>{r=!0}),r},moveElementsDown(t){if(!e.editor)return;let r=e.editor.layerHandler.getEffectiveLayers();[...t].map(o=>({id:o,index:r.findIndex(n=>n.id===o)})).filter(o=>o.index!==-1).sort((o,n)=>o.index-n.index).map(o=>o.id).forEach(o=>{e.editor?.layerHandler.sendBackwards(o)}),e._triggerUpdate()},canMoveElementsBottom(t){return this.canMoveElementsDown(t)},moveElementsBottom(t){e.editor&&(t.forEach(r=>{e.editor?.layerHandler.sendToBack(r)}),e._triggerUpdate())},setElementZIndex(){}})).actions(e=>({async toDataURL(t){return e.editor?.rendererHandler.toDataURL(t)},async toBlob(t){return e.editor?.rendererHandler.toBlob(t)},async saveAsImage(t){if(!e.editor)return;let{fileName:r,...a}=t||{multiplier:1},o=await e.editor.rendererHandler.toBlob(a);o&&u(o,r||"yitu."+a.format)},toJSON(){return e.editor?.rendererHandler.toJSON()},toObject(){return e.editor?.rendererHandler.toObject()},loadJSON:f(function*(t){if(!e.editor)return;let r=yield e.editor.sceneHandler.importFromJSON(t);r&&(e.width=r.width,e.height=r.height,e.backgroundColor=r.fill)}),clear(){}})).actions(e=>({removeFont(t){e.fonts.filter(r=>r.fontFamily===t).forEach(r=>{h(r)})},addFont(t){this.removeFont(t.fontFamily),e.fonts.push(t),this.loadFont(t.fontFamily)},async loadFont(t){let r=e.fonts.find(n=>n.fontFamily===t)||l.find(n=>n.fontFamily===t),o=[{fontStyle:"normal",fontWeight:"normal"},{fontStyle:"normal",fontWeight:"bold"}];return r?(r.styles&&(o=r.styles.map(n=>({fontStyle:n.fontStyle||"normal",fontWeight:n.fontWeight||"normal"}))),m(r)):p(t),Promise.all(o.map(n=>g(t,n.fontStyle,n.fontWeight)))}})).actions(e=>({on(t,r){if(t==="change"){let a=E(e.objects);return x(e.objects,o=>{let n=o;F(a,n)||(a=n,r(n))})}}})),y=S({value:""}),C=()=>j(y);function _({key:e,token:t}){return y={value:t??""},O.create({_key:e,token:t??""})}var T=_;export{c as a,v as b,O as c,C as d,_ as e,T as f};
@@ -1,4 +1,4 @@
1
- import{a as x}from"./chunk-DGCF2GDA.js";import{a as v}from"./chunk-QWM7VMLQ.js";import{a as t}from"./chunk-4HH3B3W3.js";import{a as f}from"./chunk-HHYPIHAP.js";import{a as h}from"./chunk-IV52R7D7.js";import{b as y}from"./chunk-JPIYZYMQ.js";import{b as u}from"./chunk-PSO4W6J7.js";import{a as g}from"./chunk-5X6VER6G.js";import{a as T}from"./chunk-TS5CKDHH.js";import{c,d as P}from"./chunk-WCHGSVUC.js";import{c as i}from"./chunk-YCFED7XQ.js";import r from"styled-components";import{useRef as k,useLayoutEffect as L}from"react";import{observer as a}from"mobx-react-lite";import{LayoutTemplate as B,TypeOutline as N,Image as M,Shapes as H,Upload as I,Wallpaper as R,Layers as E,ImageUpscale as U}from"lucide-react";import{clsx as $}from"clsx";import{theme as D}from"antd";import{jsx as n,jsxs as d}from"react/jsx-runtime";var F=r.div`
1
+ import{a as T}from"./chunk-TS5CKDHH.js";import{a as x}from"./chunk-DGCF2GDA.js";import{a as v}from"./chunk-QWM7VMLQ.js";import{a as t}from"./chunk-ESNVOB52.js";import{a as f}from"./chunk-HHYPIHAP.js";import{a as h}from"./chunk-IV52R7D7.js";import{b as y}from"./chunk-JPIYZYMQ.js";import{b as u}from"./chunk-PSO4W6J7.js";import{c,d as P}from"./chunk-WCHGSVUC.js";import{a as g}from"./chunk-5X6VER6G.js";import{c as i}from"./chunk-YCFED7XQ.js";import r from"styled-components";import{useRef as k,useLayoutEffect as L}from"react";import{observer as a}from"mobx-react-lite";import{LayoutTemplate as B,TypeOutline as N,Image as M,Shapes as H,Upload as I,Wallpaper as R,Layers as E,ImageUpscale as U}from"lucide-react";import{clsx as $}from"clsx";import{theme as D}from"antd";import{jsx as n,jsxs as d}from"react/jsx-runtime";var F=r.div`
2
2
  display: flex;
3
3
  height: 100% !important;
4
4
  padding: 0px !important;
@@ -1,4 +1,4 @@
1
- import{c as R}from"./chunk-KVT25LDU.js";import{d as D}from"./chunk-NDZKXZQ2.js";import{a as w}from"./chunk-RSKWMPST.js";import{a as G}from"./chunk-XRRO2RT7.js";import{a as N}from"./chunk-YCJBBRRT.js";import{a as S}from"./chunk-5OA2JYPB.js";import{a as H}from"./chunk-2A3HHQ7X.js";import{b as k}from"./chunk-7YLSIB43.js";import{a as x}from"./chunk-J6PYM4EV.js";import{e as a}from"./chunk-62YF5KTO.js";import{a as E}from"./chunk-T3TEB73P.js";import{b as B}from"./chunk-O56ZNYGR.js";import{c as f}from"./chunk-YCFED7XQ.js";import g from"styled-components";import{useRef as Y}from"react";import{Tooltip as P,Button as z}from"antd";import{Undo2 as q,Redo2 as J}from"lucide-react";import{observer as K}from"mobx-react-lite";import{useEffect as Q,useState as V}from"react";import{jsx as p,jsxs as W}from"react/jsx-runtime";var O=K(({store:o})=>{let[i,n]=V({hasUndo:!1,hasRedo:!1});return Q(()=>{let l=o.editor,c=s=>{n(s)};return l&&l.on("history:changed",c),()=>{l&&l.off("history:changed",c)}},[o.editor]),W(b,{style:{float:"left",paddingRight:10},children:[p(P,{title:f("toolbar.undo"),placement:"bottom",children:p(z,{type:"text",disabled:!i.hasUndo,styles:{root:{padding:"0 7px"}},onClick:()=>{o.editor?.historyHandler.undo()},children:p(q,{size:16})})}),p(P,{title:f("toolbar.redo"),placement:"bottom",children:p(z,{type:"text",disabled:!i.hasRedo,styles:{root:{padding:"0 7px"}},onClick:()=>{o.editor?.historyHandler.redo()},children:p(J,{size:16})})})]})});import{observer as Z}from"mobx-react-lite";import{Button as I,Divider as _,Space as $,theme as oo}from"antd";import{Check as to,X as eo}from"lucide-react";import{Fragment as so,jsx as e,jsxs as m}from"react/jsx-runtime";var ro=g.div`
1
+ import{a as H}from"./chunk-2A3HHQ7X.js";import{c as R}from"./chunk-KVT25LDU.js";import{d as D}from"./chunk-HOAYYKAZ.js";import{a as w}from"./chunk-Z4QXUZAS.js";import{a as G}from"./chunk-XRRO2RT7.js";import{a as N}from"./chunk-YCJBBRRT.js";import{a as S}from"./chunk-5OA2JYPB.js";import{b as k}from"./chunk-7YLSIB43.js";import{a as x}from"./chunk-J6PYM4EV.js";import{e as a}from"./chunk-62YF5KTO.js";import{a as E}from"./chunk-T3TEB73P.js";import{b as B}from"./chunk-O56ZNYGR.js";import{c as f}from"./chunk-YCFED7XQ.js";import g from"styled-components";import{useRef as Y}from"react";import{Tooltip as P,Button as z}from"antd";import{Undo2 as q,Redo2 as J}from"lucide-react";import{observer as K}from"mobx-react-lite";import{useEffect as Q,useState as V}from"react";import{jsx as p,jsxs as W}from"react/jsx-runtime";var O=K(({store:o})=>{let[i,n]=V({hasUndo:!1,hasRedo:!1});return Q(()=>{let l=o.editor,c=s=>{n(s)};return l&&l.on("history:changed",c),()=>{l&&l.off("history:changed",c)}},[o.editor]),W(b,{style:{float:"left",paddingRight:10},children:[p(P,{title:f("toolbar.undo"),placement:"bottom",children:p(z,{type:"text",disabled:!i.hasUndo,styles:{root:{padding:"0 7px"}},onClick:()=>{o.editor?.historyHandler.undo()},children:p(q,{size:16})})}),p(P,{title:f("toolbar.redo"),placement:"bottom",children:p(z,{type:"text",disabled:!i.hasRedo,styles:{root:{padding:"0 7px"}},onClick:()=>{o.editor?.historyHandler.redo()},children:p(J,{size:16})})})]})});import{observer as Z}from"mobx-react-lite";import{Button as I,Divider as _,Space as $,theme as oo}from"antd";import{Check as to,X as eo}from"lucide-react";import{Fragment as so,jsx as e,jsxs as m}from"react/jsx-runtime";var ro=g.div`
2
2
  white-space: nowrap;
3
3
 
4
4
  height: 50px;
@@ -1 +1 @@
1
- import{c as e}from"./chunk-YCFED7XQ.js";import{a as r}from"./chunk-75WC3GVB.js";import{LockKeyholeOpen as m,LockKeyhole as k}from"lucide-react";import{Tooltip as d,Button as a}from"antd";import{observer as f}from"mobx-react-lite";import{jsx as t}from"react/jsx-runtime";var x=f(({store:l})=>{let{disabled:i,locked:o,lock:p,unlock:c}=r({store:l}),n=o?k:m,s=e(o?"toolbar.lockedDescription":"toolbar.unlockedDescription");return t(d,{title:s,placement:"bottom",children:t(a,{type:"text",styles:{root:{padding:"0 7px"}},disabled:i,onClick:()=>{o?c():p()},children:t(n,{size:16})})})});export{x as a};
1
+ import{a as r}from"./chunk-75WC3GVB.js";import{c as e}from"./chunk-YCFED7XQ.js";import{LockKeyholeOpen as m,LockKeyhole as k}from"lucide-react";import{Tooltip as d,Button as a}from"antd";import{observer as f}from"mobx-react-lite";import{jsx as t}from"react/jsx-runtime";var x=f(({store:l})=>{let{disabled:i,locked:o,lock:p,unlock:c}=r({store:l}),n=o?k:m,s=e(o?"toolbar.lockedDescription":"toolbar.unlockedDescription");return t(d,{title:s,placement:"bottom",children:t(a,{type:"text",styles:{root:{padding:"0 7px"}},disabled:i,onClick:()=>{o?c():p()},children:t(n,{size:16})})})});export{x as a};
package/dist/config.js CHANGED
@@ -1 +1 @@
1
- import{a as d,b as e,c as f,d as g}from"./chunk-TZ6B7XDS.js";import"./chunk-7NNOHYKX.js";import{i as c}from"./chunk-TTHQXTIX.js";import{a,b}from"./chunk-YCFED7XQ.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{a as d,b as e,c as f,d as g}from"./chunk-TZ6B7XDS.js";import"./chunk-7NNOHYKX.js";import{j as c}from"./chunk-BE3YOONJ.js";import{a,b}from"./chunk-YCFED7XQ.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};
@@ -84,7 +84,7 @@ declare const Store: mobx_state_tree.IModelType<{
84
84
  _fontSizeUpdate(): void;
85
85
  _syncBackgroundColor(color: any): void;
86
86
  } & {
87
- setBackgroundColor(color: string | Record<string, any>): void;
87
+ setBackgroundColor(color: string | Record<string, any>, isHistory?: boolean): void;
88
88
  set(options: any, element?: FabricObject): void;
89
89
  setUnit({ unit, dpi }: {
90
90
  unit: any;
@@ -96,7 +96,13 @@ declare const Store: mobx_state_tree.IModelType<{
96
96
  deleteElements(ids: string[]): void;
97
97
  setScale(scale: number): void;
98
98
  clone(): void;
99
- addElement(options: any): void;
99
+ /**
100
+ * 添加jsons元素
101
+ * @param options 元素json数据
102
+ * @param isHistory 是否记录历史
103
+ * @returns
104
+ */
105
+ addElement(options: any, isHistory?: boolean): Promise<void> | undefined;
100
106
  setSize({ width, height }: {
101
107
  width: number;
102
108
  height: number;
@@ -191,7 +197,7 @@ declare function createStore({ key, token }: StoreProps): mobx_state_tree.ModelI
191
197
  _fontSizeUpdate(): void;
192
198
  _syncBackgroundColor(color: any): void;
193
199
  } & {
194
- setBackgroundColor(color: string | Record<string, any>): void;
200
+ setBackgroundColor(color: string | Record<string, any>, isHistory?: boolean): void;
195
201
  set(options: any, element?: FabricObject): void;
196
202
  setUnit({ unit, dpi }: {
197
203
  unit: any;
@@ -203,7 +209,13 @@ declare function createStore({ key, token }: StoreProps): mobx_state_tree.ModelI
203
209
  deleteElements(ids: string[]): void;
204
210
  setScale(scale: number): void;
205
211
  clone(): void;
206
- addElement(options: any): void;
212
+ /**
213
+ * 添加jsons元素
214
+ * @param options 元素json数据
215
+ * @param isHistory 是否记录历史
216
+ * @returns
217
+ */
218
+ addElement(options: any, isHistory?: boolean): Promise<void> | undefined;
207
219
  setSize({ width, height }: {
208
220
  width: number;
209
221
  height: number;
@@ -289,7 +301,7 @@ declare function createStore({ key, token }: StoreProps): mobx_state_tree.ModelI
289
301
  _fontSizeUpdate(): void;
290
302
  _syncBackgroundColor(color: any): void;
291
303
  } & {
292
- setBackgroundColor(color: string | Record<string, any>): void;
304
+ setBackgroundColor(color: string | Record<string, any>, isHistory?: boolean): void;
293
305
  set(options: any, element?: FabricObject): void;
294
306
  setUnit({ unit, dpi }: {
295
307
  unit: any;
@@ -301,7 +313,13 @@ declare function createStore({ key, token }: StoreProps): mobx_state_tree.ModelI
301
313
  deleteElements(ids: string[]): void;
302
314
  setScale(scale: number): void;
303
315
  clone(): void;
304
- addElement(options: any): void;
316
+ /**
317
+ * 添加jsons元素
318
+ * @param options 元素json数据
319
+ * @param isHistory 是否记录历史
320
+ * @returns
321
+ */
322
+ addElement(options: any, isHistory?: boolean): Promise<void> | undefined;
305
323
  setSize({ width, height }: {
306
324
  width: number;
307
325
  height: number;
@@ -1 +1 @@
1
- import{a,b,c,d,e,f}from"../chunk-POWRXH5R.js";import"../chunk-P5I43V7X.js";import"../chunk-WJT6VPDR.js";import"../chunk-O2XFH626.js";export{b as Font,c as Store,e as createStore,f as default,a as forEveryChild,d as getToken};
1
+ import{a,b,c,d,e,f}from"../chunk-QVSJHU2S.js";import"../chunk-P5I43V7X.js";import"../chunk-WJT6VPDR.js";import"../chunk-O2XFH626.js";export{b as Font,c as Store,e as createStore,f as default,a as forEveryChild,d as getToken};
@@ -1 +1 @@
1
- import{a as r,b as e,c as f,d as m,e as p,f as t,g as x,h as a,i as b,j as c}from"../chunk-JUVJJS4T.js";import"../chunk-DGCF2GDA.js";import"../chunk-QWM7VMLQ.js";import"../chunk-5C2MNUBC.js";import{a as o}from"../chunk-4HH3B3W3.js";import"../chunk-HHYPIHAP.js";import"../chunk-IV52R7D7.js";import"../chunk-JPIYZYMQ.js";import"../chunk-MXZ6RXT3.js";import"../chunk-PSO4W6J7.js";import"../chunk-O56ZNYGR.js";import"../chunk-RVXI723F.js";import"../chunk-YRJUN267.js";import"../chunk-OQ6HU62L.js";import"../chunk-5X6VER6G.js";import"../chunk-4LUZF4CB.js";import"../chunk-TS5CKDHH.js";import"../chunk-POCSL7OS.js";import"../chunk-WCHGSVUC.js";import"../chunk-TZ6B7XDS.js";import"../chunk-7NNOHYKX.js";import"../chunk-TTHQXTIX.js";import"../chunk-YCFED7XQ.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 r,b as e,c as f,d as m,e as p,f as t,g as x,h as a,i as b,j as c}from"../chunk-U7TPE4R3.js";import"../chunk-TS5CKDHH.js";import"../chunk-DGCF2GDA.js";import"../chunk-QWM7VMLQ.js";import"../chunk-5C2MNUBC.js";import{a as o}from"../chunk-ESNVOB52.js";import"../chunk-HHYPIHAP.js";import"../chunk-IV52R7D7.js";import"../chunk-JPIYZYMQ.js";import"../chunk-MXZ6RXT3.js";import"../chunk-PSO4W6J7.js";import"../chunk-O56ZNYGR.js";import"../chunk-RVXI723F.js";import"../chunk-YRJUN267.js";import"../chunk-OQ6HU62L.js";import"../chunk-POCSL7OS.js";import"../chunk-WCHGSVUC.js";import"../chunk-5X6VER6G.js";import"../chunk-4LUZF4CB.js";import"../chunk-TZ6B7XDS.js";import"../chunk-7NNOHYKX.js";import"../chunk-BE3YOONJ.js";import"../chunk-YCFED7XQ.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}from"../chunk-DGCF2GDA.js";import"../chunk-MXZ6RXT3.js";import"../chunk-TZ6B7XDS.js";import"../chunk-7NNOHYKX.js";import"../chunk-TTHQXTIX.js";import"../chunk-YCFED7XQ.js";import"../chunk-O2XFH626.js";export{a as ShapesPanel};
1
+ import{a}from"../chunk-DGCF2GDA.js";import"../chunk-MXZ6RXT3.js";import"../chunk-TZ6B7XDS.js";import"../chunk-7NNOHYKX.js";import"../chunk-BE3YOONJ.js";import"../chunk-YCFED7XQ.js";import"../chunk-O2XFH626.js";export{a as ShapesPanel};
@@ -1 +1 @@
1
- import{a as b,b as c,c as d,d as e,e as f,f as g,g as h,h as i,i as j,j as k,k as l}from"../chunk-JUVJJS4T.js";import"../chunk-DGCF2GDA.js";import"../chunk-QWM7VMLQ.js";import"../chunk-5C2MNUBC.js";import{a}from"../chunk-4HH3B3W3.js";import"../chunk-HHYPIHAP.js";import"../chunk-IV52R7D7.js";import"../chunk-JPIYZYMQ.js";import"../chunk-MXZ6RXT3.js";import"../chunk-PSO4W6J7.js";import"../chunk-O56ZNYGR.js";import"../chunk-RVXI723F.js";import"../chunk-YRJUN267.js";import"../chunk-OQ6HU62L.js";import"../chunk-5X6VER6G.js";import"../chunk-4LUZF4CB.js";import"../chunk-TS5CKDHH.js";import"../chunk-POCSL7OS.js";import"../chunk-WCHGSVUC.js";import"../chunk-TZ6B7XDS.js";import"../chunk-7NNOHYKX.js";import"../chunk-TTHQXTIX.js";import"../chunk-YCFED7XQ.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 as b,b as c,c as d,d as e,e as f,f as g,g as h,h as i,i as j,j as k,k as l}from"../chunk-U7TPE4R3.js";import"../chunk-TS5CKDHH.js";import"../chunk-DGCF2GDA.js";import"../chunk-QWM7VMLQ.js";import"../chunk-5C2MNUBC.js";import{a}from"../chunk-ESNVOB52.js";import"../chunk-HHYPIHAP.js";import"../chunk-IV52R7D7.js";import"../chunk-JPIYZYMQ.js";import"../chunk-MXZ6RXT3.js";import"../chunk-PSO4W6J7.js";import"../chunk-O56ZNYGR.js";import"../chunk-RVXI723F.js";import"../chunk-YRJUN267.js";import"../chunk-OQ6HU62L.js";import"../chunk-POCSL7OS.js";import"../chunk-WCHGSVUC.js";import"../chunk-5X6VER6G.js";import"../chunk-4LUZF4CB.js";import"../chunk-TZ6B7XDS.js";import"../chunk-7NNOHYKX.js";import"../chunk-BE3YOONJ.js";import"../chunk-YCFED7XQ.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 +1 @@
1
- import{a}from"../chunk-4HH3B3W3.js";import"../chunk-O2XFH626.js";export{a as SectionTab};
1
+ import{a}from"../chunk-ESNVOB52.js";import"../chunk-O2XFH626.js";export{a as SectionTab};
@@ -1 +1 @@
1
- import{e as a}from"../chunk-KKA7WASQ.js";import"../chunk-KVT25LDU.js";import"../chunk-2T3O5ZZ2.js";import"../chunk-NDZKXZQ2.js";import"../chunk-CB23VFSC.js";import"../chunk-3TO57JPN.js";import"../chunk-O73AAP2K.js";import"../chunk-AC6CCGZH.js";import"../chunk-RSKWMPST.js";import"../chunk-XRRO2RT7.js";import"../chunk-YCJBBRRT.js";import"../chunk-5OA2JYPB.js";import"../chunk-2A3HHQ7X.js";import"../chunk-7YLSIB43.js";import"../chunk-J6PYM4EV.js";import"../chunk-62YF5KTO.js";import"../chunk-YVBVDUVA.js";import"../chunk-TTK5Z2Z6.js";import"../chunk-T3TEB73P.js";import"../chunk-IUFYYEGO.js";import"../chunk-MXZ6RXT3.js";import"../chunk-O56ZNYGR.js";import"../chunk-RVXI723F.js";import"../chunk-YRJUN267.js";import"../chunk-OQ6HU62L.js";import"../chunk-WCHGSVUC.js";import"../chunk-TZ6B7XDS.js";import"../chunk-7NNOHYKX.js";import"../chunk-TTHQXTIX.js";import"../chunk-YCFED7XQ.js";import"../chunk-WJT6VPDR.js";import"../chunk-JMIN2XMC.js";import"../chunk-75WC3GVB.js";import"../chunk-O2XFH626.js";export{a as HistoryButtons};
1
+ import{e as a}from"../chunk-UCJMXWVT.js";import"../chunk-2A3HHQ7X.js";import"../chunk-KVT25LDU.js";import"../chunk-2T3O5ZZ2.js";import"../chunk-HOAYYKAZ.js";import"../chunk-3TO57JPN.js";import"../chunk-CB23VFSC.js";import"../chunk-O73AAP2K.js";import"../chunk-AC6CCGZH.js";import"../chunk-Z4QXUZAS.js";import"../chunk-XRRO2RT7.js";import"../chunk-YCJBBRRT.js";import"../chunk-5OA2JYPB.js";import"../chunk-7YLSIB43.js";import"../chunk-J6PYM4EV.js";import"../chunk-62YF5KTO.js";import"../chunk-YVBVDUVA.js";import"../chunk-TTK5Z2Z6.js";import"../chunk-T3TEB73P.js";import"../chunk-75WC3GVB.js";import"../chunk-IUFYYEGO.js";import"../chunk-MXZ6RXT3.js";import"../chunk-O56ZNYGR.js";import"../chunk-RVXI723F.js";import"../chunk-YRJUN267.js";import"../chunk-OQ6HU62L.js";import"../chunk-WCHGSVUC.js";import"../chunk-TZ6B7XDS.js";import"../chunk-7NNOHYKX.js";import"../chunk-BE3YOONJ.js";import"../chunk-YCFED7XQ.js";import"../chunk-WJT6VPDR.js";import"../chunk-JMIN2XMC.js";import"../chunk-O2XFH626.js";export{a as HistoryButtons};
@@ -1 +1 @@
1
- import{a,b,c,d,e}from"../chunk-NDZKXZQ2.js";import"../chunk-CB23VFSC.js";import"../chunk-3TO57JPN.js";import"../chunk-O73AAP2K.js";import"../chunk-AC6CCGZH.js";import"../chunk-YVBVDUVA.js";import"../chunk-TTK5Z2Z6.js";import"../chunk-MXZ6RXT3.js";import"../chunk-YRJUN267.js";import"../chunk-WCHGSVUC.js";import"../chunk-TZ6B7XDS.js";import"../chunk-7NNOHYKX.js";import"../chunk-TTHQXTIX.js";import"../chunk-YCFED7XQ.js";import"../chunk-O2XFH626.js";export{c as ImageClip,b as ImageCrop,a as ImageFitToBackground,d as ImageToolbar,e as default};
1
+ import{a,b,c,d,e}from"../chunk-HOAYYKAZ.js";import"../chunk-3TO57JPN.js";import"../chunk-CB23VFSC.js";import"../chunk-O73AAP2K.js";import"../chunk-AC6CCGZH.js";import"../chunk-YVBVDUVA.js";import"../chunk-TTK5Z2Z6.js";import"../chunk-MXZ6RXT3.js";import"../chunk-YRJUN267.js";import"../chunk-WCHGSVUC.js";import"../chunk-TZ6B7XDS.js";import"../chunk-7NNOHYKX.js";import"../chunk-BE3YOONJ.js";import"../chunk-YCFED7XQ.js";import"../chunk-O2XFH626.js";export{c as ImageClip,b as ImageCrop,a as ImageFitToBackground,d as ImageToolbar,e as default};
@@ -1 +1 @@
1
- import{a}from"../chunk-RSKWMPST.js";import"../chunk-YCFED7XQ.js";import"../chunk-75WC3GVB.js";import"../chunk-O2XFH626.js";export{a as LockButton};
1
+ import{a}from"../chunk-Z4QXUZAS.js";import"../chunk-75WC3GVB.js";import"../chunk-YCFED7XQ.js";import"../chunk-O2XFH626.js";export{a as LockButton};
@@ -1 +1 @@
1
- import{a,b,c,d}from"../chunk-KKA7WASQ.js";import"../chunk-KVT25LDU.js";import"../chunk-2T3O5ZZ2.js";import"../chunk-NDZKXZQ2.js";import"../chunk-CB23VFSC.js";import"../chunk-3TO57JPN.js";import"../chunk-O73AAP2K.js";import"../chunk-AC6CCGZH.js";import"../chunk-RSKWMPST.js";import"../chunk-XRRO2RT7.js";import"../chunk-YCJBBRRT.js";import"../chunk-5OA2JYPB.js";import"../chunk-2A3HHQ7X.js";import"../chunk-7YLSIB43.js";import"../chunk-J6PYM4EV.js";import"../chunk-62YF5KTO.js";import"../chunk-YVBVDUVA.js";import"../chunk-TTK5Z2Z6.js";import"../chunk-T3TEB73P.js";import"../chunk-IUFYYEGO.js";import"../chunk-MXZ6RXT3.js";import"../chunk-O56ZNYGR.js";import"../chunk-RVXI723F.js";import"../chunk-YRJUN267.js";import"../chunk-OQ6HU62L.js";import"../chunk-WCHGSVUC.js";import"../chunk-TZ6B7XDS.js";import"../chunk-7NNOHYKX.js";import"../chunk-TTHQXTIX.js";import"../chunk-YCFED7XQ.js";import"../chunk-WJT6VPDR.js";import"../chunk-JMIN2XMC.js";import"../chunk-75WC3GVB.js";import"../chunk-O2XFH626.js";export{a as NavBarGroup,c as Toolbar,d as default,b as registerToolbarComponent};
1
+ import{a,b,c,d}from"../chunk-UCJMXWVT.js";import"../chunk-2A3HHQ7X.js";import"../chunk-KVT25LDU.js";import"../chunk-2T3O5ZZ2.js";import"../chunk-HOAYYKAZ.js";import"../chunk-3TO57JPN.js";import"../chunk-CB23VFSC.js";import"../chunk-O73AAP2K.js";import"../chunk-AC6CCGZH.js";import"../chunk-Z4QXUZAS.js";import"../chunk-XRRO2RT7.js";import"../chunk-YCJBBRRT.js";import"../chunk-5OA2JYPB.js";import"../chunk-7YLSIB43.js";import"../chunk-J6PYM4EV.js";import"../chunk-62YF5KTO.js";import"../chunk-YVBVDUVA.js";import"../chunk-TTK5Z2Z6.js";import"../chunk-T3TEB73P.js";import"../chunk-75WC3GVB.js";import"../chunk-IUFYYEGO.js";import"../chunk-MXZ6RXT3.js";import"../chunk-O56ZNYGR.js";import"../chunk-RVXI723F.js";import"../chunk-YRJUN267.js";import"../chunk-OQ6HU62L.js";import"../chunk-WCHGSVUC.js";import"../chunk-TZ6B7XDS.js";import"../chunk-7NNOHYKX.js";import"../chunk-BE3YOONJ.js";import"../chunk-YCFED7XQ.js";import"../chunk-WJT6VPDR.js";import"../chunk-JMIN2XMC.js";import"../chunk-O2XFH626.js";export{a as NavBarGroup,c as Toolbar,d as default,b as registerToolbarComponent};
@@ -1 +1 @@
1
- import{a}from"../chunk-OPXS6VQ6.js";import"../chunk-5C2MNUBC.js";import"../chunk-MXZ6RXT3.js";import"../chunk-O2XFH626.js";export{a as CreateDesign};
1
+ import{a}from"../chunk-JHNSYFB2.js";import"../chunk-5CKXOQAT.js";import"../chunk-NLABIDJ5.js";import"../chunk-QVSJHU2S.js";import"../chunk-P5I43V7X.js";import"../chunk-5C2MNUBC.js";import"../chunk-MXZ6RXT3.js";import"../chunk-BE3YOONJ.js";import"../chunk-WJT6VPDR.js";import"../chunk-O2XFH626.js";export{a as CreateDesign};
@@ -1 +1 @@
1
- import{a}from"../chunk-A7SUGNOW.js";import"../chunk-OPXS6VQ6.js";import"../chunk-5C2MNUBC.js";import"../chunk-MXZ6RXT3.js";import"../chunk-YCFED7XQ.js";import"../chunk-O2XFH626.js";export{a as FileMenu};
1
+ import{a}from"../chunk-BWST6EER.js";import"../chunk-JHNSYFB2.js";import"../chunk-5CKXOQAT.js";import"../chunk-NLABIDJ5.js";import"../chunk-QVSJHU2S.js";import"../chunk-P5I43V7X.js";import"../chunk-5C2MNUBC.js";import"../chunk-MXZ6RXT3.js";import"../chunk-BE3YOONJ.js";import"../chunk-YCFED7XQ.js";import"../chunk-WJT6VPDR.js";import"../chunk-O2XFH626.js";export{a as FileMenu};
@@ -0,0 +1,9 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+
3
+ interface PSDParserProps {
4
+ visible: boolean;
5
+ onClose: () => void;
6
+ }
7
+ declare const PSDParser: ({ visible, onClose }: PSDParserProps) => react_jsx_runtime.JSX.Element;
8
+
9
+ export { PSDParser };
@@ -0,0 +1 @@
1
+ import{a}from"../chunk-5CKXOQAT.js";import"../chunk-NLABIDJ5.js";import"../chunk-QVSJHU2S.js";import"../chunk-P5I43V7X.js";import"../chunk-BE3YOONJ.js";import"../chunk-WJT6VPDR.js";import"../chunk-O2XFH626.js";export{a as PSDParser};
@@ -1,4 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ReactNode } from 'react';
2
3
  import { StoreType } from '../model/store.js';
3
4
  import 'fabric';
4
5
  import 'mobx-state-tree/dist/internal';
@@ -7,10 +8,24 @@ import '@ydesign/core';
7
8
  import '../utils/fonts.js';
8
9
  import 'mobx';
9
10
 
10
- declare const Topbar: (({ store }: {
11
+ interface TopbarProps {
11
12
  store: StoreType;
12
- }) => react_jsx_runtime.JSX.Element) & {
13
+ /**
14
+ * 自定义 Logo 配置
15
+ * - 传入 string(URL 或 base64)时,自动渲染为 <img>
16
+ * - 传入 ReactNode 时,直接渲染(如 SVG 组件、自定义 JSX 等)
17
+ * - 不传时使用内置默认 Logo
18
+ */
19
+ logo?: ReactNode | string;
20
+ /**
21
+ * Logo 点击跳转地址
22
+ * - 传入 URL 字符串时,点击 logo 会在新标签页打开该地址
23
+ * - 不传时点击 logo 默认回退上一页(history.back())
24
+ */
25
+ logoUrl?: string;
26
+ }
27
+ declare const Topbar: (({ store, logo, logoUrl }: TopbarProps) => react_jsx_runtime.JSX.Element) & {
13
28
  displayName: string;
14
29
  };
15
30
 
16
- export { Topbar };
31
+ export { Topbar, type TopbarProps };
@@ -1,6 +1,6 @@
1
- import{a as p}from"../chunk-A7SUGNOW.js";import"../chunk-OPXS6VQ6.js";import{a as d}from"../chunk-7YLSIB43.js";import{b as s}from"../chunk-5C2MNUBC.js";import"../chunk-MXZ6RXT3.js";import{c as i}from"../chunk-YCFED7XQ.js";import{b as l}from"../chunk-SGK2XN5D.js";import"../chunk-WJT6VPDR.js";import"../chunk-O2XFH626.js";import n from"styled-components";import{observer as f}from"mobx-react-lite";import{Input as x,Tooltip as m,Button as y,theme as h}from"antd";import{CloudUpload as c,Loader as v,Check as u}from"lucide-react";import{jsx as t,jsxs as a}from"react/jsx-runtime";var w=n("div")`
1
+ import{a as y}from"../chunk-BWST6EER.js";import"../chunk-JHNSYFB2.js";import"../chunk-5CKXOQAT.js";import"../chunk-NLABIDJ5.js";import{a as f}from"../chunk-7YLSIB43.js";import"../chunk-QVSJHU2S.js";import"../chunk-P5I43V7X.js";import{b as n}from"../chunk-5C2MNUBC.js";import"../chunk-MXZ6RXT3.js";import"../chunk-BE3YOONJ.js";import{c as i}from"../chunk-YCFED7XQ.js";import{b as c}from"../chunk-SGK2XN5D.js";import"../chunk-WJT6VPDR.js";import{a as m}from"../chunk-MGTFIE3C.js";import"../chunk-O2XFH626.js";import a from"styled-components";import{observer as v}from"mobx-react-lite";import{Input as h,Tooltip as b,Button as N,theme as w,Divider as T}from"antd";import{CloudUpload as x,Loader as C,Check as L}from"lucide-react";import{jsx as t,jsxs as s}from"react/jsx-runtime";var k=a("div")`
2
2
  white-space: nowrap;
3
- height: 50px;
3
+ height: 55px;
4
4
  padding: 0 15px;
5
5
  position: relative;
6
6
  width: 100%;
@@ -11,18 +11,18 @@ import{a as p}from"../chunk-A7SUGNOW.js";import"../chunk-OPXS6VQ6.js";import{a a
11
11
  overflow-y: hidden;
12
12
  max-width: 100vw;
13
13
  }
14
- `,b=n("div")`
14
+ `,R=a("div")`
15
15
  @media screen and (max-width: 500px) {
16
16
  display: flex;
17
17
  }
18
- `,N=n("div")`
18
+ `,B=a("div")`
19
19
  float: left;
20
20
  display: flex;
21
21
  align-items: center;
22
- height: 50px;
23
- `,T=n("div")`
22
+ height: 55px;
23
+ `,I=a("div")`
24
24
  float: right;
25
25
  display: flex;
26
26
  align-items: center;
27
- height: 50px;
28
- `,g={loading:{icon:t(c,{size:16,style:{display:"flex"}}),textKey:"topbar.statusLoading"},saved:{icon:t(u,{size:16,style:{display:"flex",color:"#52c41a"}}),textKey:"topbar.statusSaved",color:"#52c41a"},"has-changes":{icon:t(c,{size:16,style:{display:"flex",color:"#faad14"}}),textKey:"topbar.statusHasChanges",color:"#faad14"},saving:{icon:t(v,{size:16,style:{display:"flex"}}),textKey:"topbar.statusSaving"}},S=f(({project:e})=>{let o=g[e.status]||g.saved;return t(m,{title:i(o.textKey),children:t(y,{type:"text",style:{marginLeft:14,color:o.color},icon:o.icon,onClick:()=>{(e.status==="loading"||e.status==="saved")&&e.save()},children:i(o.textKey)})})}),P=f(({store:e})=>{let o=l(),{token:r}=h.useToken();return t(w,{className:"topbar",style:{backgroundColor:r.colorBgContainer,color:r.colorText,borderBottom:`1px solid ${r.colorBorder}`},children:a(b,{children:[a(N,{children:[a("div",{style:{display:"flex",alignItems:"center",gap:10,paddingRight:16,paddingLeft:16,userSelect:"none"},children:[t("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:t("rect",{width:"20",height:"20",fill:"rgb(22, 119, 255)"})}),t("span",{style:{fontWeight:500,fontSize:20,lineHeight:"100%",letterSpacing:.25},children:"Ydesign"})]}),t(p,{store:e,project:o}),t("div",{style:{paddingLeft:10,maxWidth:200},children:t(x,{placeholder:i("topbar.editableTextPlaceholder")})}),a("div",{style:{paddingLeft:16,fontSize:14},className:"text-gray-600",children:[s({px:e.width,unit:e.unit,dpi:e.dpi,precious:0})," x"," ",s({px:e.height,unit:e.unit,dpi:e.dpi,precious:0})," ",e.unit]}),t(S,{project:o})]}),t(T,{children:t(d,{store:e})})]})})});export{P as Topbar};
27
+ height: 55px;
28
+ `,g={loading:{icon:t(x,{size:16,style:{display:"flex"}}),textKey:"topbar.statusLoading"},saved:{icon:t(L,{size:16,style:{display:"flex",color:"#52c41a"}}),textKey:"topbar.statusSaved",color:"#52c41a"},"has-changes":{icon:t(x,{size:16,style:{display:"flex",color:"#faad14"}}),textKey:"topbar.statusHasChanges",color:"#faad14"},saving:{icon:t(C,{size:16,style:{display:"flex"}}),textKey:"topbar.statusSaving"}},K=v(({project:e})=>{let o=g[e.status]||g.saved;return t(b,{title:i(o.textKey),children:t(N,{type:"text",style:{marginLeft:14,color:o.color},icon:o.icon,onClick:()=>{(e.status==="loading"||e.status==="saved")&&e.save()},children:i(o.textKey)})})}),A=v(({store:e,logo:o,logoUrl:l})=>{let d=c(),{token:r}=w.useToken(),p=o===void 0?t("img",{src:m,className:"h-[28px]"}):typeof o=="string"?t("img",{src:o,className:"h-[28px]"}):o,u=l?t("a",{href:l,target:"_blank",rel:"noopener noreferrer",style:{display:"flex",alignItems:"center"},children:p}):t("div",{style:{display:"flex",alignItems:"center",cursor:"pointer"},onClick:()=>window.history.back(),children:p});return t(k,{className:"topbar",style:{backgroundColor:r.colorBgContainer,color:r.colorText,borderBottom:`1px solid ${r.colorBorder}`},children:s(R,{children:[s(B,{children:[t("div",{style:{display:"flex",alignItems:"center"},children:u}),t(T,{orientation:"vertical",style:{height:"1.3em",borderColor:"#ebe6e7",marginLeft:15}}),t(y,{store:e,project:d}),t("div",{style:{paddingLeft:10,maxWidth:200},children:t(h,{placeholder:i("topbar.editableTextPlaceholder")})}),s("div",{style:{paddingLeft:16,fontSize:14},className:"text-gray-600",children:[n({px:e.width,unit:e.unit,dpi:e.dpi,precious:0})," x"," ",n({px:e.height,unit:e.unit,dpi:e.dpi,precious:0})," ",e.unit]}),t(K,{project:d})]}),t(I,{children:t(f,{store:e})})]})})});export{A as Topbar};
@@ -1,14 +1,15 @@
1
1
  /**
2
2
  * 后台的接口汇总
3
3
  */
4
- declare const URL = "https://api.yitupic.com";
5
- declare const API = "https://api.yitupic.com/api";
4
+ declare const URL = "http://219.151.185.37:9003";
5
+ declare const API = "http://219.151.185.37:9003/api";
6
6
  declare const getAPI: () => string;
7
7
  declare const URLS: Record<string, (...args: any[]) => string>;
8
8
  declare const getFontList: () => string;
9
9
  declare const templateList: () => string;
10
10
  declare const templateDetail: (id: string) => string;
11
11
  declare const uploadImage: () => string;
12
+ declare const psdParse: () => string;
12
13
  declare const setAPI: (o: string, t: (...args: any[]) => string) => void;
13
14
 
14
- export { API, URL, URLS, getAPI, getFontList, setAPI, templateDetail, templateList, uploadImage };
15
+ export { API, URL, URLS, getAPI, getFontList, psdParse, setAPI, templateDetail, templateList, uploadImage };
package/dist/utils/api.js CHANGED
@@ -1 +1 @@
1
- import{a,b,c,d,e,f,g,h,i}from"../chunk-TTHQXTIX.js";import"../chunk-O2XFH626.js";export{b as API,a as URL,d as URLS,c as getAPI,e as getFontList,i as setAPI,g as templateDetail,f as templateList,h as uploadImage};
1
+ import{a,b,c,d,e,f,g,h,i,j}from"../chunk-BE3YOONJ.js";import"../chunk-O2XFH626.js";export{b as API,a as URL,d as URLS,c as getAPI,e as getFontList,i as psdParse,j as setAPI,g as templateDetail,f as templateList,h as uploadImage};
@@ -1,5 +1,25 @@
1
1
  import * as axios from 'axios';
2
2
 
3
+ interface ApiResponse<T = any> {
4
+ status: number;
5
+ result: T;
6
+ }
7
+ interface UploadImageResult {
8
+ id: string;
9
+ userId: string;
10
+ organizationId: string;
11
+ url: string;
12
+ filename: string;
13
+ mimeType: string;
14
+ size: number;
15
+ width: number;
16
+ height: number;
17
+ description: string | null;
18
+ tags: string | null;
19
+ categoryId: string | null;
20
+ createdAt: string;
21
+ updatedAt: string;
22
+ }
3
23
  declare const instance: axios.AxiosInstance;
4
24
 
5
- export { instance as default };
25
+ export { type ApiResponse, type UploadImageResult, instance as default };
@@ -1 +1 @@
1
- import{d as o}from"../chunk-POWRXH5R.js";import"../chunk-P5I43V7X.js";import"../chunk-WJT6VPDR.js";import"../chunk-O2XFH626.js";import a from"axios";var t=a.create({timeout:6e4});t.interceptors.request.use(e=>{let r=o();return r.value&&(e.headers.Authorization=`Bearer ${r.value}`),e},e=>Promise.reject(e));t.interceptors.response.use(e=>{let{data:r}=e;if(r&&r.statusCode&&r.statusCode<=201)return r;let s=new Error(e.data.message||"An error occurred");return Promise.reject(s)},e=>Promise.reject(e));var i=t;export{i as default};
1
+ import{a}from"../chunk-NLABIDJ5.js";import"../chunk-QVSJHU2S.js";import"../chunk-P5I43V7X.js";import"../chunk-WJT6VPDR.js";import"../chunk-O2XFH626.js";export{a as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ydesign/react-editor",
3
- "version": "0.0.9",
3
+ "version": "0.1.0",
4
4
  "description": "设计编辑器UI组件库,基于react版本",
5
5
  "main": "dist/app.js",
6
6
  "module": "dist/app.js",
@@ -120,7 +120,7 @@
120
120
  "tailwind-merge": "^3.3.1",
121
121
  "tailwindcss": "^4.1.17",
122
122
  "tw-animate-css": "^1.4.0",
123
- "@ydesign/core": "^0.0.7"
123
+ "@ydesign/core": "^0.0.8"
124
124
  },
125
125
  "browserslist": [
126
126
  "> 0.5%",
@@ -1,23 +0,0 @@
1
- import r from"styled-components";import{jsx as e,jsxs as p}from"react/jsx-runtime";var d=r.div`
2
- width: 100%;
3
- min-width: 78px;
4
- height: 72px;
5
- padding-top: 15px;
6
- padding-left: 5px;
7
- padding-right: 5px;
8
- text-align: center;
9
- font-size: 12px;
10
- cursor: pointer;
11
- white-space: pre;
12
-
13
- .bp5-dark &:hover,
14
- .bp5-dark &.active {
15
- color: #48aff0 !important;
16
- }
17
-
18
- // 这个看到时候可不可以用 变量来实现,需要让用户能配置
19
- &:hover,
20
- &.active {
21
- background-color: rgba(22, 119, 255, 0.3);
22
- }
23
- `,l=({children:i,name:n,iconSize:t,onClick:a,active:o})=>p(d,{className:`design-side-panel-tab ${o?"active":""}`,onClick:a,children:[e("div",{style:{fontSize:t||14},children:i}),e("div",{style:{paddingTop:3,userSelect:"none"},children:n})]});export{l as a};
@@ -1,151 +0,0 @@
1
- import{b as I,c as p}from"./chunk-5C2MNUBC.js";import{a as y}from"./chunk-MXZ6RXT3.js";import{Modal as Y,Button as ee,ColorPicker as ie,InputNumber as W,Select as te,Tooltip as ne}from"antd";import{Grid2X2 as oe,Star as se,ShoppingBag as ae,FileText as ce,Presentation as re,Share2 as le,Printer as de,ImagePlus as pe,FolderPlus as t,LockKeyholeOpen as he,LockKeyhole as me}from"lucide-react";import{useRef as xe,useState as l,useMemo as R,useCallback as h}from"react";import z from"styled-components";import{jsx as e,jsxs as a}from"react/jsx-runtime";var ge=[{key:"all",label:"\u5168\u90E8",icon:oe},{key:"common",label:"\u5E38\u7528\u5C3A\u5BF8",icon:se},{key:"ecommerce",label:"\u7535\u5546\u7269\u6599",icon:ae},{key:"office",label:"\u884C\u653F\u529E\u516C",icon:ce},{key:"presentation",label:"\u6F14\u793A\u6587\u7A3F",icon:re},{key:"social",label:"\u793E\u4EA4\u5A92\u4F53",icon:le},{key:"print",label:"\u5370\u5237\u7269\u6599",icon:de}],D=[{key:"common",label:"\u5E38\u7528\u5C3A\u5BF8",sizes:[{icon:e(t,{size:24}),name:"\u7535\u5546\u4E3B\u56FE\uFF081:1\uFF09",desc:"1440x1440px",width:1440,height:1440,unit:"px"},{icon:e(t,{size:24}),name:"\u7535\u5546\u4E3B\u56FE\uFF081:1\uFF09",desc:"800x800px",width:800,height:800,unit:"px"},{icon:e(t,{size:24}),name:"\u624B\u673A\u6D77\u62A5",desc:"1242x2208px",width:1242,height:2208,unit:"px"},{icon:e(t,{size:24}),name:"\u5C0F\u7EA2\u4E66\u5C01\u9762",desc:"1242x1656px",width:1242,height:1656,unit:"px"},{icon:e(t,{size:24}),name:"\u7AD6\u7248\u89C6\u9891\u5C01\u9762",desc:"1080x1920px",width:1080,height:1920,unit:"px"},{icon:e(t,{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(t,{size:24}),name:"\u7535\u5546\u4E3B\u56FE\uFF081:1\uFF09",desc:"1440x1440px",width:1440,height:1440,unit:"px"},{icon:e(t,{size:24}),name:"\u7535\u5546\u4E3B\u56FE\uFF081:1\uFF09",desc:"800x800px",width:800,height:800,unit:"px"},{icon:e(t,{size:24}),name:"\u7535\u5546\u4E3B\u56FE\uFF083:4\uFF09",desc:"1440x1920px",width:1440,height:1920,unit:"px"},{icon:e(t,{size:24}),name:"\u7535\u5546\u4E3B\u56FE\uFF083:4\uFF09",desc:"750x1000px",width:750,height:1e3,unit:"px"},{icon:e(t,{size:24}),name:"\u76F4\u64AD\u95F4\u80CC\u666F",desc:"1242x2690px",width:1242,height:2690,unit:"px"},{icon:e(t,{size:24}),name:"\u7535\u5546\u8BE6\u60C5\u9875",desc:"750x1000px",width:750,height:1e3,unit:"px"},{icon:e(t,{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(t,{size:24}),name:"\u7B80\u5386",desc:"2480x3507px",width:2480,height:3507,unit:"px"},{icon:e(t,{size:24}),name:"\u5DE5\u724C\u5DE5\u4F5C\u8BC1",desc:"709x1087px",width:709,height:1087,unit:"px"},{icon:e(t,{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(t,{size:24}),name:"PPT\uFF0816:9\uFF09",desc:"1920x1080px",width:1920,height:1080,unit:"px"},{icon:e(t,{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(t,{size:24}),name:"\u624B\u673A\u6D77\u62A5",desc:"1242x2208px",width:1242,height:2208,unit:"px"},{icon:e(t,{size:24}),name:"\u624B\u673A\u5168\u5C4F\u6D77\u62A5",desc:"1242x2688px",width:1242,height:2688,unit:"px"},{icon:e(t,{size:24}),name:"\u7AD6\u7248\u89C6\u9891\u5C01\u9762",desc:"1080x1920px",width:1080,height:1920,unit:"px"},{icon:e(t,{size:24}),name:"\u6A2A\u7248\u89C6\u9891\u5C01\u9762",desc:"1920x1080px",width:1920,height:1080,unit:"px"},{icon:e(t,{size:24}),name:"\u5C0F\u7EA2\u4E66\u5C01\u9762",desc:"1242x1656px",width:1242,height:1656,unit:"px"},{icon:e(t,{size:24}),name:"\u6296\u97F3\u56FE\u6587\u5E26\u8D27",desc:"1242x1656px",width:1242,height:1656,unit:"px"},{icon:e(t,{size:24}),name:"\u516C\u4F17\u53F7\u9996\u56FE",desc:"900x383px",width:900,height:383,unit:"px"},{icon:e(t,{size:24}),name:"\u516C\u4F17\u53F7\u6B21\u56FE",desc:"900x800px",width:900,height:800,unit:"px"},{icon:e(t,{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(t,{size:24}),name:"\u4E00\u5BF8\u8BC1\u4EF6\u7167",desc:"23x35mm",width:25,height:35,unit:"mm"},{icon:e(t,{size:24}),name:"\u4E8C\u5BF8\u8BC1\u4EF6\u7167",desc:"35x53mm",width:35,height:53,unit:"mm"},{icon:e(t,{size:24}),name:"1.8\u7C73\u5C55\u67B6",desc:"80x180cm",width:80,height:180,unit:"cm"},{icon:e(t,{size:24}),name:"2m\u6613\u62C9\u5B9D",desc:"80x200cm",width:80,height:200,unit:"cm"},{icon:e(t,{size:24}),name:"\u540D\u7247",desc:"96x60mm",width:96,height:60,unit:"mm"},{icon:e(t,{size:24}),name:"\u4F18\u60E0\u5238",desc:"186x66mm",width:186,height:66,unit:"mm"},{icon:e(t,{size:24}),name:"\u4F20\u5355",desc:"216x291cm",width:216,height:291,unit:"cm"}]}],E=z.div`
2
- padding: 16px 24px;
3
- height: 60px;
4
- flex: 1;
5
- display: flex;
6
- cursor: pointer;
7
- align-items: center;
8
- border-radius: 8px;
9
- border: 1px dashed #d0d2d6;
10
- &:hover {
11
- background-color: rgba(0, 31, 92, 0.06);
12
- }
13
- span {
14
- margin-left: 8px;
15
- }
16
- `,ue=z.div`
17
- flex: 1;
18
- margin-left: 14px;
19
- height: 100%;
20
-
21
- .createrContentInner {
22
- margin-bottom: 16px;
23
- }
24
-
25
- .scrollbars div:first-child {
26
- scroll-behavior: smooth;
27
- }
28
-
29
- .Widget.categorySection[data-is-folded='false'] .categoryFoldBtn,
30
- .Widget.categorySection[data-is-multi-row='false'] .categoryFoldBtn {
31
- display: none;
32
- }
33
-
34
- .Widget.categorySection[data-is-folded='true'] ul {
35
- height: 97px;
36
- overflow: hidden;
37
- }
38
- `,fe=z.div`
39
- width: 100%;
40
- height: 100%;
41
- position: relative;
42
- padding-top: 16px;
43
- overflow: hidden;
44
-
45
- display: flex;
46
- flex-direction: column;
47
- align-items: center;
48
-
49
- border-radius: 8px;
50
- background-color: rgba(0, 0, 0, 0.05);
51
-
52
- .canvasSizeName {
53
- color: #616366;
54
- font-size: 12px;
55
- font-weight: 600;
56
- line-height: 16px;
57
- margin-top: 8px;
58
- }
59
-
60
- .canvasSizeSize {
61
- height: 14px;
62
- overflow: hidden;
63
- width: 100%;
64
- margin-top: 4px;
65
-
66
- span {
67
- color: #abadb2;
68
- display: block;
69
- font-size: 20px;
70
- font-weight: 400;
71
- height: 200%;
72
- line-height: 26px;
73
- text-align: center;
74
- -webkit-transform: scale(0.5);
75
- transform: scale(0.5);
76
- -webkit-transform-origin: top left;
77
- transform-origin: top left;
78
- width: 200%;
79
- }
80
- }
81
-
82
- .canvasSizeMask {
83
- background: rgba(0, 0, 0, 0.25);
84
- display: none;
85
- height: 100%;
86
- left: 0;
87
- position: absolute;
88
- top: 0;
89
- width: 100%;
90
- }
91
- .canvasSizeMask,
92
- .canvasSizeMask button {
93
- justify-content: center;
94
- align-items: center;
95
- }
96
-
97
- .canvasSizeMask button {
98
- background-color: #fff;
99
- width: 66px;
100
- height: 26px;
101
- display: flex;
102
- padding: 0 8px;
103
- outline: none;
104
- line-height: 16px;
105
- font-size: 12px;
106
- cursor: pointer;
107
- color: #1c1d1f;
108
- border-radius: 6px;
109
- }
110
- .canvasSizeMask button:active {
111
- background-color: #f2f2f2;
112
- }
113
-
114
- &:hover .canvasSizeMask {
115
- display: flex;
116
- }
117
- `,ye=z.div`
118
- display: flex;
119
- margin-top: 20px;
120
- flex-wrap: wrap;
121
- align-items: center;
122
- position: relative;
123
-
124
- .sizeWarning {
125
- width: 100%;
126
- margin-bottom: 8px;
127
- padding: 4px 8px;
128
- font-size: 12px;
129
- color: #ff4d4f;
130
- background-color: #fff2f0;
131
- border: 1px solid #ffccc7;
132
- border-radius: 4px;
133
- }
134
-
135
- .Widget.sizeInpueBox {
136
- display: flex;
137
- align-items: center;
138
-
139
- flex: 1;
140
- }
141
-
142
- .Widget.sizeInpueBox .sizeInput {
143
- flex: 1;
144
- }
145
- .Widget.sizeInpueBox .linkIcon {
146
- padding: 8px;
147
- background-color: #001f5c0f;
148
- border-radius: 8px;
149
- margin: 0 4px;
150
- }
151
- `,d=72,v=20,b=8e3,Se=({project:M,visible:F,onClose:H,onConfirm:U})=>{let[T,$]=l("all"),B=xe(null),[o,w]=l(null),[s,k]=l(null),[c,_]=l("px"),[r,j]=l(!1),[m,O]=l(1),[x,V]=l("#ffffff"),C=R(()=>o?p({unitVal:o,dpi:d,unit:c}):0,[o,c]),S=R(()=>s?p({unitVal:s,dpi:d,unit:c}):0,[s,c]),N=o!=null&&s!=null&&o>0&&s>0,g=N&&(C>b||S>b),u=N&&(C<v||S<v),P=!N||g||u,L=g?`\u8D85\u51FA\u753B\u5E03\u5C3A\u5BF8\u9650\u5236\uFF1A${b} * ${b} px`:u?`\u4F4E\u4E8E\u753B\u5E03\u5C3A\u5BF8\u9650\u5236\uFF1A${v} * ${v} px`:"",A=h(i=>{w(i),r&&i&&i>0&&k(Math.round(i/m))},[r,m]),X=h(i=>{k(i),r&&i&&i>0&&w(Math.round(i*m))},[r,m]),K=h(()=>{!r&&o&&s&&o>0&&s>0&&O(o/s),j(i=>!i)},[r,o,s]),Z=h(i=>{if(o){let n=p({unitVal:o,dpi:d,unit:c});w(Math.round(I({px:n,dpi:d,unit:i,precious:0})))}if(s){let n=p({unitVal:s,dpi:d,unit:c});k(Math.round(I({px:n,dpi:d,unit:i,precious:0})))}_(i)},[o,s,c]),q=h(()=>{if(P)return;let i=JSON.stringify({bg:{backgroundColor:x}}),n=new URLSearchParams({create:"",createEmptyPoster:"true",createInfo:i,height:String(s),unit:c,width:String(o)});console.log("params \u7684\u53C2\u6570 ---> ",n.toString()),console.log("project ",M.urls.editorUrl),window.open(`${M.urls.editorUrl}?${n.toString()}`,"_blank")},[P,x,S,C,c]),G=i=>{$(i);let n=B.current;if(!n)return;let f=n.querySelector(`[data-category-id="${i}"]`);f&&n.scrollTo({top:f.offsetTop,behavior:"smooth"})},[J,Q]=l(()=>{let i={};return D.forEach(n=>{i[n.key]=n.sizes.length>6}),i});return a(Y,{title:"\u521B\u5EFA\u8BBE\u8BA1",open:F,onCancel:H,footer:null,width:880,mask:{closable:!1},styles:{body:{display:"flex",flex:1,padding:"20px 0",height:"100%"},container:{height:550}},children:[e("div",{className:"createrSideBar",style:{width:140},children:ge.map(i=>a("div",{"data-active":i.key===T,className:y("createrSideBarItem","flex h-[40px] px-2 mb-2 cursor-pointer rounded-md items-center hover:bg-[#1677ff4d]",{"bg-[#1677ff4d] hover:bg-[#1677ff4d]":i.key===T}),onClick:()=>G(i.key),children:[e(i.icon,{size:16,className:"ml-2"}),e("span",{className:"ml-2",children:i.label})]},i.key))}),e(ue,{children:e("div",{className:"scrollbars",style:{position:"relative",overflow:"hidden",width:"100%",height:"100%"},children:e("div",{ref:B,style:{position:"absolute",inset:0,overflow:"scroll"},children:a("div",{className:"createrContentInner",children:[e("div",{"data-category-id":"all"}),a("div",{className:"openBtns flex",children:[a(E,{onClick:()=>{alert("\u56FE\u7247\u6A21\u5F0F\u5F00\u53D1\u4E2D...")},children:[e(pe,{style:{color:"#1677ff"}}),e("span",{children:"\u6253\u5F00\u56FE\u7247"})]}),a(E,{style:{marginLeft:12},onClick:()=>{alert("psd\u5F00\u53D1\u4E2D")},children:[e(t,{style:{color:"#1677ff"}}),e("span",{children:"\u6253\u5F00PSD"})]})]}),D.map(i=>a("div",{className:y("Widget categorySection","mt-6"),"data-category-id":i.key,"data-is-folded":J[i.key]??!1,"data-is-multi-row":i.sizes.length>6,children:[a("div",{className:y("categoryHeader","flex items-center justify-between"),children:[e("div",{className:"categoryTitle text-sm font-semibold",children:i.label}),e("div",{className:"categoryFoldBtn flex items-center cursor-pointer",onClick:()=>Q(n=>({...n,[i.key]:!1})),children:e("span",{className:"text-[#616366]",children:"\u67E5\u770B\u66F4\u591A"})})]}),i.key==="common"&&a(ye,{children:[L&&e("div",{className:"sizeWarning",children:L}),a("div",{className:"Widget sizeInpueBox",children:[e("div",{className:"sizeInput",children:e(W,{prefix:"\u5BBD",value:o,min:0,precision:0,status:g||u?"error":void 0,onChange:A,styles:{actions:{opacity:1,width:24}},style:{width:"100%"}})}),e(ne,{title:r?"\u89E3\u9501\u6BD4\u4F8B":"\u9501\u5B9A\u6BD4\u4F8B",children:e("div",{className:"linkIcon",style:{cursor:"pointer"},onClick:K,children:r?e(me,{size:16}):e(he,{size:16})})}),e("div",{className:"sizeInput",children:e(W,{prefix:"\u9AD8",value:s,min:0,precision:0,status:g||u?"error":void 0,onChange:X,styles:{actions:{opacity:1,width:24}},style:{width:"100%"}})}),e("div",{className:"sizeUnitSelect",style:{width:98,marginLeft:12},children:e(te,{value:c,style:{width:98},onChange:Z,options:[{label:"px \u50CF\u7D20",value:"px"},{label:"cm \u5398\u7C73",value:"cm"},{label:"mm \u6BEB\u7C73",value:"mm"}]})})]}),e("div",{className:"widgets-color-picker",style:{width:98,marginLeft:12},children:e(ie,{mode:"single",format:"hex",value:x,onChange:n=>V(n.toHexString()),styles:{root:{width:98},body:{width:92}}})}),e(ee,{type:"primary",disabled:P,style:{width:98,marginLeft:12},onClick:q,children:"\u521B\u5EFA"})]}),e("ul",{className:"flex mt-4 flex-wrap gap-3",children:i.sizes.map((n,f)=>e("li",{style:{width:"calc((100% - 60px) / 6)",height:97},children:a(fe,{children:[n.icon,e("div",{className:"canvasSizeName",children:n.name}),e("div",{className:"canvasSizeSize",children:e("span",{children:n.desc})}),e("div",{className:"canvasSizeMask",onClick:()=>{U({...n,bgColor:x})},children:e("button",{type:"button",children:"\u521B\u5EFA"})})]})},f))})]},i.key))]})})})})]})};export{Se as a};
@@ -1 +0,0 @@
1
- import{a as u}from"./chunk-P5I43V7X.js";import{a as l,h as g,i as m,m as p}from"./chunk-WJT6VPDR.js";import{types as i,cast as b,flow as f,destroy as h,getSnapshot as E,onSnapshot as x}from"mobx-state-tree";import{observable as S,toJS as j}from"mobx";import{isEqual as F}from"es-toolkit/compat";var c=(e,t)=>{if(e?.objects)for(let r of e.objects){if(t(r)===!0)break;c(r,t)}},v=i.model("Font",{fontFamily:i.string,name:i.optional(i.string,""),url:i.optional(i.string,""),img:i.optional(i.string,""),styles:i.frozen()}).preProcessSnapshot(e=>Object.assign(Object.assign({},e),{fontFamily:e.fontFamily||e.name})),O=i.model("Store",{name:"yitu-design",token:"",width:1080,height:1080,scale:1,scaleToFit:1,unit:"px",dpi:72,bleed:0,bleedVisible:!1,rulesVisible:!1,openedSidePanel:"",selectedElementsIds:i.array(i.string),backgroundColor:i.optional(i.union(i.string,i.frozen()),"#fff"),fonts:i.array(v),editor:i.frozen(null),custom:i.frozen(),objects:i.array(i.frozen()),_key:"",_updateTrigger:0,_updateFontSize:0}).views(e=>({get selectedElements(){let t=e._updateTrigger;return console.log("_trigger\u90FD\u53D8\u5316\u662F\u89E6\u53D1\u805A\u7126\u5143\u7D20\u7684\u5237\u65B0 ---> ",t),e.selectedElementsIds.map(r=>e.editor?.objectsHandler.findOneById(r))}})).views(e=>({get selectedShapes(){let t=[];return c({objects:e.selectedElements},r=>{r?.type!=="group"&&t.push(r)}),t},find(t){let r,a=e.editor?.customCanvas.canvas.getObjects();if(a)return c({objects:a},o=>{if(!r&&t(o))return r=o,!0}),r},getElementById(t){return e.editor?.objectsHandler.findOneById(t)}})).actions(e=>({_setEditor(t){e.editor=t},_triggerUpdate(){e._updateTrigger=e._updateTrigger+1},_fontSizeUpdate(){e._updateFontSize=e._updateFontSize+1},_syncBackgroundColor(t){e.backgroundColor=t}})).actions(e=>({setBackgroundColor(t){e.backgroundColor=t,e.editor?.workareaHandler.setWorkareaBgColor(t)},set(t,r){e.editor?.objectsHandler.update(t,r?.id)},setUnit({unit:t,dpi:r}){e.unit=t||e.unit,e.dpi=r||e.dpi},setObjects(t){e.objects=t},selectElements(t){e.selectedElementsIds=b(t)},openSidePanel(t){e.openedSidePanel!==t&&(e.openedSidePanel=t)},deleteElements(t){t.forEach(r=>{e.editor?.objectsHandler.remove(r)})},setScale(t){e.scale=t},clone(){e.editor?.objectsHandler.clone()},addElement(t){console.log("\u6DFB\u52A0json\u6570\u636E",t),e.editor?.objectsHandler.addJson(t)},setSize({width:t,height:r}){e.width=t,e.height=r,e.editor?.workareaHandler.setSize({width:t,height:r})},setupEditorListeners(){e.editor&&(e.editor.on("object:modified",()=>{e._triggerUpdate()}),e.editor.on("textbox:modified",()=>{e._fontSizeUpdate()}),e.editor.on("history:changed",t=>{t?.backgroundColor!==void 0&&e._syncBackgroundColor(t.backgroundColor)}))}})).actions(e=>({_forEachElementUp(t,r){if(!e.editor)return;let a=e.editor.layerHandler.getEffectiveLayers(),o=t.map(n=>({id:n,index:a.findIndex(d=>d.id===n)}));o.sort((n,d)=>d.index-n.index);for(let{index:n}of o){if(n==-1)continue;let d=n<a.length-1&&a[n+1],s=t.indexOf(d?.id)>=0;n===a.length-1||s||r(n)}},_forEachElementDown(t,r){if(!e.editor)return;let a=e.editor.layerHandler.getEffectiveLayers(),o=t.map(n=>({id:n,index:a.findIndex(d=>d.id===n)}));o.sort((n,d)=>d.index-n.index);for(let{index:n}of o){if(n==-1)continue;let d=n>0&&a[n-1],s=t.indexOf(d?.id)>=0;n===0||s||r(n)}return!1}})).actions(e=>({canMoveElementsUp(t){let r=!1;return e._forEachElementUp(t,()=>{r=!0}),r},moveElementsUp(t){if(!e.editor)return;let r=e.editor.layerHandler.getEffectiveLayers();[...t].map(o=>({id:o,index:r.findIndex(n=>n.id===o)})).filter(o=>o.index!==-1).sort((o,n)=>n.index-o.index).map(o=>o.id).forEach(o=>{e.editor?.layerHandler.bringForward(o)}),e._triggerUpdate()},canMoveElementsTop(t){return this.canMoveElementsUp(t)},moveElementsTop(t){e.editor&&(t.forEach(r=>{e.editor?.layerHandler.bringToFront(r)}),e._triggerUpdate())},canMoveElementsDown(t){let r=!1;return e._forEachElementDown(t,()=>{r=!0}),r},moveElementsDown(t){if(!e.editor)return;let r=e.editor.layerHandler.getEffectiveLayers();[...t].map(o=>({id:o,index:r.findIndex(n=>n.id===o)})).filter(o=>o.index!==-1).sort((o,n)=>o.index-n.index).map(o=>o.id).forEach(o=>{e.editor?.layerHandler.sendBackwards(o)}),e._triggerUpdate()},canMoveElementsBottom(t){return this.canMoveElementsDown(t)},moveElementsBottom(t){e.editor&&(t.forEach(r=>{e.editor?.layerHandler.sendToBack(r)}),e._triggerUpdate())},setElementZIndex(){}})).actions(e=>({async toDataURL(t){return e.editor?.rendererHandler.toDataURL(t)},async toBlob(t){return e.editor?.rendererHandler.toBlob(t)},async saveAsImage(t){if(!e.editor)return;let{fileName:r,...a}=t||{multiplier:1},o=await e.editor.rendererHandler.toBlob(a);o&&u(o,r||"yitu."+a.format)},toJSON(){return e.editor?.rendererHandler.toJSON()},toObject(){return e.editor?.rendererHandler.toObject()},loadJSON:f(function*(t){if(!e.editor)return;let r=yield e.editor.sceneHandler.importFromJSON(t);r&&(e.width=r.width,e.height=r.height,e.backgroundColor=r.fill)}),clear(){}})).actions(e=>({removeFont(t){e.fonts.filter(r=>r.fontFamily===t).forEach(r=>{h(r)})},addFont(t){this.removeFont(t.fontFamily),e.fonts.push(t),this.loadFont(t.fontFamily)},async loadFont(t){let r=e.fonts.find(n=>n.fontFamily===t)||l.find(n=>n.fontFamily===t),o=[{fontStyle:"normal",fontWeight:"normal"},{fontStyle:"normal",fontWeight:"bold"}];return r?(r.styles&&(o=r.styles.map(n=>({fontStyle:n.fontStyle||"normal",fontWeight:n.fontWeight||"normal"}))),m(r)):p(t),Promise.all(o.map(n=>g(t,n.fontStyle,n.fontWeight)))}})).actions(e=>({on(t,r){if(t==="change"){let a=E(e.objects);return x(e.objects,o=>{let n=o;F(a,n)||(a=n,r(n))})}}})),y=S({value:""}),C=()=>j(y);function _({key:e,token:t}){return y={value:t??""},O.create({_key:e,token:t??""})}var T=_;export{c as a,v as b,O as c,C as d,_ as e,T as f};
@@ -1 +0,0 @@
1
- var o="https://api.yitupic.com",p=`${o}/api`,s=()=>o+"/api",e={fontList:()=>`${s()}/fonts`,templateList:()=>`${s()}/templates/list`,templateDetail:t=>`${s()}/templates/detail/${t}`,uploadImage:()=>`${s()}/images/upload`},i=()=>e.fontList(),n=()=>e.templateList(),r=t=>e.templateDetail(t),l=()=>e.uploadImage(),g=(t,a)=>{e[t]=a};export{o as a,p as b,s as c,e as d,i as e,n as f,r as g,l as h,g as i};