@ydesign/react-editor 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (192) hide show
  1. package/dist/app.css +1 -1
  2. package/dist/app.js +1 -1
  3. package/dist/canvas/workspace.d.ts +6 -4
  4. package/dist/canvas/workspace.js +1 -1
  5. package/dist/chunk-2AZQIJ4K.js +1 -0
  6. package/dist/chunk-45NWLCOP.js +15 -0
  7. package/dist/chunk-63A6RW6Y.js +21 -0
  8. package/dist/chunk-6XGFXDKJ.js +151 -0
  9. package/dist/chunk-EUTDQZKU.js +1 -0
  10. package/dist/chunk-KERQXVBL.js +1 -0
  11. package/dist/chunk-QALZ5CAJ.js +214 -0
  12. package/dist/{chunk-7YLSIB43.js → chunk-RBRSKAZL.js} +1 -1
  13. package/dist/chunk-YBC2DYJX.js +9 -0
  14. package/dist/config.d.ts +228 -3
  15. package/dist/config.js +1 -1
  16. package/dist/model/store.d.ts +5 -364
  17. package/dist/model/store.js +1 -1
  18. package/dist/project.d.ts +12 -4
  19. package/dist/project.js +1 -1
  20. package/dist/side-panel/index.d.ts +2 -5
  21. package/dist/side-panel/index.js +1 -1
  22. package/dist/side-panel/side-panel.d.ts +12 -6
  23. package/dist/side-panel/side-panel.js +1 -1
  24. package/dist/store-DfmY1m2j.d.ts +379 -0
  25. package/dist/toolbar/download-button.d.ts +1 -3
  26. package/dist/toolbar/download-button.js +1 -1
  27. package/dist/toolbar/toolbar.d.ts +1 -3
  28. package/dist/toolbar/toolbar.js +18 -1
  29. package/dist/toolbar/zoom-buttons.d.ts +1 -3
  30. package/dist/topbar/create-design.d.ts +1 -3
  31. package/dist/topbar/create-design.js +1 -1
  32. package/dist/topbar/topbar.d.ts +1 -3
  33. package/dist/topbar/topbar.js +5 -5
  34. package/package.json +2 -2
  35. package/dist/assets/logo.d.ts +0 -7
  36. package/dist/assets/logo.js +0 -1
  37. package/dist/canvas/context-menu/context-menu.d.ts +0 -2
  38. package/dist/canvas/context-menu/context-menu.js +0 -0
  39. package/dist/canvas/hotkeys.d.ts +0 -3
  40. package/dist/canvas/hotkeys.js +0 -1
  41. package/dist/canvas/workspace-canvas.d.ts +0 -19
  42. package/dist/canvas/workspace-canvas.js +0 -1
  43. package/dist/chunk-2A3HHQ7X.js +0 -1
  44. package/dist/chunk-2T3O5ZZ2.js +0 -1
  45. package/dist/chunk-3TO57JPN.js +0 -1
  46. package/dist/chunk-4LUZF4CB.js +0 -2
  47. package/dist/chunk-5CKXOQAT.js +0 -1
  48. package/dist/chunk-5OA2JYPB.js +0 -1
  49. package/dist/chunk-5X6VER6G.js +0 -1
  50. package/dist/chunk-62YF5KTO.js +0 -1
  51. package/dist/chunk-75WC3GVB.js +0 -1
  52. package/dist/chunk-7NNOHYKX.js +0 -15
  53. package/dist/chunk-AC6CCGZH.js +0 -1
  54. package/dist/chunk-BE3YOONJ.js +0 -1
  55. package/dist/chunk-BWST6EER.js +0 -1
  56. package/dist/chunk-CB23VFSC.js +0 -1
  57. package/dist/chunk-DGCF2GDA.js +0 -9
  58. package/dist/chunk-ESNVOB52.js +0 -17
  59. package/dist/chunk-HHYPIHAP.js +0 -45
  60. package/dist/chunk-HOAYYKAZ.js +0 -3
  61. package/dist/chunk-IUFYYEGO.js +0 -1
  62. package/dist/chunk-IV52R7D7.js +0 -27
  63. package/dist/chunk-J6PYM4EV.js +0 -1
  64. package/dist/chunk-JHNSYFB2.js +0 -151
  65. package/dist/chunk-JMIN2XMC.js +0 -1
  66. package/dist/chunk-JPIYZYMQ.js +0 -1
  67. package/dist/chunk-KVT25LDU.js +0 -1
  68. package/dist/chunk-MGTFIE3C.js +0 -1
  69. package/dist/chunk-NLABIDJ5.js +0 -1
  70. package/dist/chunk-O56ZNYGR.js +0 -1
  71. package/dist/chunk-O73AAP2K.js +0 -1
  72. package/dist/chunk-OQ6HU62L.js +0 -1
  73. package/dist/chunk-P5I43V7X.js +0 -1
  74. package/dist/chunk-POCSL7OS.js +0 -50
  75. package/dist/chunk-PSO4W6J7.js +0 -9
  76. package/dist/chunk-QVSJHU2S.js +0 -1
  77. package/dist/chunk-QWM7VMLQ.js +0 -9
  78. package/dist/chunk-SGK2XN5D.js +0 -1
  79. package/dist/chunk-T3TEB73P.js +0 -1
  80. package/dist/chunk-TS5CKDHH.js +0 -1
  81. package/dist/chunk-TTK5Z2Z6.js +0 -1
  82. package/dist/chunk-TZ6B7XDS.js +0 -1
  83. package/dist/chunk-U7TPE4R3.js +0 -54
  84. package/dist/chunk-UCJMXWVT.js +0 -16
  85. package/dist/chunk-WCHGSVUC.js +0 -8
  86. package/dist/chunk-WJT6VPDR.js +0 -9
  87. package/dist/chunk-XA2G4P2Q.js +0 -1
  88. package/dist/chunk-XRRO2RT7.js +0 -1
  89. package/dist/chunk-YCJBBRRT.js +0 -1
  90. package/dist/chunk-YRJUN267.js +0 -14
  91. package/dist/chunk-YVBVDUVA.js +0 -1
  92. package/dist/chunk-Z4QXUZAS.js +0 -1
  93. package/dist/hooks/use-duplicate-element.d.ts +0 -16
  94. package/dist/hooks/use-duplicate-element.js +0 -1
  95. package/dist/hooks/use-lock.d.ts +0 -18
  96. package/dist/hooks/use-lock.js +0 -1
  97. package/dist/hooks/use-remove-element.d.ts +0 -16
  98. package/dist/hooks/use-remove-element.js +0 -1
  99. package/dist/lib/utils.d.ts +0 -5
  100. package/dist/lib/utils.js +0 -1
  101. package/dist/side-panel/background-panel.d.ts +0 -17
  102. package/dist/side-panel/background-panel.js +0 -1
  103. package/dist/side-panel/images-grid.d.ts +0 -27
  104. package/dist/side-panel/images-grid.js +0 -1
  105. package/dist/side-panel/layers-panel.d.ts +0 -16
  106. package/dist/side-panel/layers-panel.js +0 -1
  107. package/dist/side-panel/photos-panel.d.ts +0 -16
  108. package/dist/side-panel/photos-panel.js +0 -1
  109. package/dist/side-panel/shapes-panel.d.ts +0 -16
  110. package/dist/side-panel/shapes-panel.js +0 -1
  111. package/dist/side-panel/size-panel.d.ts +0 -16
  112. package/dist/side-panel/size-panel.js +0 -1
  113. package/dist/side-panel/tab-button.d.ts +0 -12
  114. package/dist/side-panel/tab-button.js +0 -1
  115. package/dist/side-panel/templates-panel.d.ts +0 -16
  116. package/dist/side-panel/templates-panel.js +0 -1
  117. package/dist/side-panel/text-panel.d.ts +0 -16
  118. package/dist/side-panel/text-panel.js +0 -1
  119. package/dist/side-panel/upload-panel.d.ts +0 -17
  120. package/dist/side-panel/upload-panel.js +0 -1
  121. package/dist/toolbar/default-toolbar.d.ts +0 -21
  122. package/dist/toolbar/default-toolbar.js +0 -1
  123. package/dist/toolbar/duplicate-button.d.ts +0 -16
  124. package/dist/toolbar/duplicate-button.js +0 -1
  125. package/dist/toolbar/element-container.d.ts +0 -13
  126. package/dist/toolbar/element-container.js +0 -1
  127. package/dist/toolbar/figure-toolbar.d.ts +0 -33
  128. package/dist/toolbar/figure-toolbar.js +0 -1
  129. package/dist/toolbar/filters-picker.d.ts +0 -18
  130. package/dist/toolbar/filters-picker.js +0 -1
  131. package/dist/toolbar/flip-button.d.ts +0 -18
  132. package/dist/toolbar/flip-button.js +0 -1
  133. package/dist/toolbar/group-button.d.ts +0 -16
  134. package/dist/toolbar/group-button.js +0 -1
  135. package/dist/toolbar/history-buttons.d.ts +0 -16
  136. package/dist/toolbar/history-buttons.js +0 -1
  137. package/dist/toolbar/image-eraser-pen.d.ts +0 -10
  138. package/dist/toolbar/image-eraser-pen.js +0 -1
  139. package/dist/toolbar/image-remove-background.d.ts +0 -10
  140. package/dist/toolbar/image-remove-background.js +0 -1
  141. package/dist/toolbar/image-toolbar.d.ts +0 -36
  142. package/dist/toolbar/image-toolbar.js +0 -1
  143. package/dist/toolbar/lock-button.d.ts +0 -16
  144. package/dist/toolbar/lock-button.js +0 -1
  145. package/dist/toolbar/many-toolbar.d.ts +0 -5
  146. package/dist/toolbar/many-toolbar.js +0 -1
  147. package/dist/toolbar/opacity-picker.d.ts +0 -16
  148. package/dist/toolbar/opacity-picker.js +0 -1
  149. package/dist/toolbar/position-picker.d.ts +0 -16
  150. package/dist/toolbar/position-picker.js +0 -1
  151. package/dist/toolbar/remove-button.d.ts +0 -16
  152. package/dist/toolbar/remove-button.js +0 -1
  153. package/dist/toolbar/text-ai-write.d.ts +0 -7
  154. package/dist/toolbar/text-ai-write.js +0 -1
  155. package/dist/toolbar/text-toolbar.d.ts +0 -19
  156. package/dist/toolbar/text-toolbar.js +0 -1
  157. package/dist/topbar/file-menu.d.ts +0 -19
  158. package/dist/topbar/file-menu.js +0 -1
  159. package/dist/topbar/psd-parser.d.ts +0 -9
  160. package/dist/topbar/psd-parser.js +0 -1
  161. package/dist/utils/api.d.ts +0 -15
  162. package/dist/utils/api.js +0 -1
  163. package/dist/utils/blob.d.ts +0 -5
  164. package/dist/utils/blob.js +0 -1
  165. package/dist/utils/download.d.ts +0 -3
  166. package/dist/utils/download.js +0 -1
  167. package/dist/utils/figure-to-svg.d.ts +0 -36
  168. package/dist/utils/figure-to-svg.js +0 -1
  169. package/dist/utils/file.d.ts +0 -3
  170. package/dist/utils/file.js +0 -1
  171. package/dist/utils/filters.d.ts +0 -2
  172. package/dist/utils/filters.js +0 -0
  173. package/dist/utils/fonts.d.ts +0 -68
  174. package/dist/utils/fonts.js +0 -1
  175. package/dist/utils/image.d.ts +0 -19
  176. package/dist/utils/image.js +0 -1
  177. package/dist/utils/l10n.d.ts +0 -227
  178. package/dist/utils/l10n.js +0 -1
  179. package/dist/utils/loader.d.ts +0 -6
  180. package/dist/utils/loader.js +0 -1
  181. package/dist/utils/screen.d.ts +0 -6
  182. package/dist/utils/screen.js +0 -1
  183. package/dist/utils/svg.d.ts +0 -3
  184. package/dist/utils/svg.js +0 -1
  185. package/dist/utils/text.d.ts +0 -3
  186. package/dist/utils/text.js +0 -1
  187. package/dist/utils/use-api.d.ts +0 -2
  188. package/dist/utils/use-api.js +0 -0
  189. package/dist/utils/use-axios.d.ts +0 -25
  190. package/dist/utils/use-axios.js +0 -1
  191. /package/dist/{chunk-MXZ6RXT3.js → chunk-EWOU5F3O.js} +0 -0
  192. /package/dist/{chunk-YCFED7XQ.js → chunk-WFMCGQ5V.js} +0 -0
package/dist/app.css CHANGED
@@ -1,2 +1,2 @@
1
- @layer properties;@layer theme,base,components,utilities;@layer theme{:root,:host{--font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-gray-200: oklch(92.8% .006 264.531);--color-gray-500: oklch(55.1% .027 264.364);--color-gray-600: oklch(44.6% .03 256.802);--color-white: #fff;--spacing: .25rem;--text-xs: .75rem;--text-xs--line-height: calc(1 / .75);--text-sm: .875rem;--text-sm--line-height: calc(1.25 / .875);--text-base: 1rem;--text-base--line-height: 1.5 ;--font-weight-semibold: 600;--radius-md: .375rem;--default-font-family: var(--font-sans);--default-mono-font-family: var(--font-mono)}}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings, normal);font-variation-settings:var(--default-font-variation-settings, normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings, normal);font-variation-settings:var(--default-mono-font-variation-settings, normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:currentcolor;@supports (color: color-mix(in lab,red,red)){color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.container{width:100%;@media (width >= 40rem){max-width:40rem}@media (width >= 48rem){max-width:48rem}@media (width >= 64rem){max-width:64rem}@media (width >= 80rem){max-width:80rem}@media (width >= 96rem){max-width:96rem}}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-\[1\.2\%\]{margin-bottom:1.2%}.ml-2{margin-left:calc(var(--spacing) * 2)}.box-border{box-sizing:border-box}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.h-0{height:calc(var(--spacing) * 0)}.h-3{height:calc(var(--spacing) * 3)}.h-\[28px\]{height:28px}.h-\[40px\]{height:40px}.h-full{height:100%}.w-3{width:calc(var(--spacing) * 3)}.w-80{width:calc(var(--spacing) * 80)}.w-\[25\%\]{width:25%}.w-\[70px\]{width:70px}.w-full{width:100%}.flex-shrink-0,.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.content-start{align-content:flex-start}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.rounded-md{border-radius:var(--radius-md)}.border,.border-1{border-style:var(--tw-border-style);border-width:1px}.border-gray-200{border-color:var(--color-gray-200)}.bg-\[\#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-\[\#ecf0f1\]{background-color:#ecf0f1}.bg-\[var\(--sidebar-active-bg\)\]{background-color:var(--sidebar-active-bg)}.fill-white{fill:var(--color-white)}.stroke-gray-200{stroke:var(--color-gray-200)}.px-2{padding-inline:calc(var(--spacing) * 2)}.py-1{padding-block:calc(var(--spacing) * 1)}.pb-\[25\%\]{padding-bottom:25%}.text-left{text-align:left}.text-base{font-size:var(--text-base);line-height:var(--tw-leading, var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading, var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading, var(--text-xs--line-height))}.font-semibold{--tw-font-weight: var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-\[\#616366\]{color:#616366}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.italic{font-style:italic}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.shadow{--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-inner{--tw-shadow: inset 0 2px 4px 0 var(--tw-shadow-color, rgb(0 0 0 / .05));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur: blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.sepia{--tw-sepia: sepia(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.hover\:bg-\[var\(--sidebar-active-bg\)\]{&:hover{@media (hover: hover){background-color:var(--sidebar-active-bg)}}}.hover\:bg-\[var\(--sidebar-hover-bg\)\]{&:hover{@media (hover: hover){background-color:var(--sidebar-hover-bg)}}}.dark\:bg-\[\#92969d\]{@media (prefers-color-scheme: dark){background-color:#92969d}}.dark\:fill-\[\#0b0809\]{@media (prefers-color-scheme: dark){fill:#0b0809}}.dark\:stroke-\[\#0b0809\]{@media (prefers-color-scheme: dark){stroke:#0b0809}}.dark\:text-white{@media (prefers-color-scheme: dark){color:var(--color-white)}}}@property --tw-rotate-x{syntax: "*"; inherits: false;}@property --tw-rotate-y{syntax: "*"; inherits: false;}@property --tw-rotate-z{syntax: "*"; inherits: false;}@property --tw-skew-x{syntax: "*"; inherits: false;}@property --tw-skew-y{syntax: "*"; inherits: false;}@property --tw-border-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-font-weight{syntax: "*"; inherits: false;}@property --tw-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: "*"; inherits: false;}@property --tw-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: "*"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: "*"; inherits: false;}@property --tw-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: "*"; inherits: false;}@property --tw-inset-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: "*"; inherits: false;}@property --tw-ring-offset-width{syntax: "<length>"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: "*"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-outline-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-blur{syntax: "*"; inherits: false;}@property --tw-brightness{syntax: "*"; inherits: false;}@property --tw-contrast{syntax: "*"; inherits: false;}@property --tw-grayscale{syntax: "*"; inherits: false;}@property --tw-hue-rotate{syntax: "*"; inherits: false;}@property --tw-invert{syntax: "*"; inherits: false;}@property --tw-opacity{syntax: "*"; inherits: false;}@property --tw-saturate{syntax: "*"; inherits: false;}@property --tw-sepia{syntax: "*"; inherits: false;}@property --tw-drop-shadow{syntax: "*"; inherits: false;}@property --tw-drop-shadow-color{syntax: "*"; inherits: false;}@property --tw-drop-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-drop-shadow-size{syntax: "*"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x: initial;--tw-rotate-y: initial;--tw-rotate-z: initial;--tw-skew-x: initial;--tw-skew-y: initial;--tw-border-style: solid;--tw-font-weight: initial;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-outline-style: solid;--tw-blur: initial;--tw-brightness: initial;--tw-contrast: initial;--tw-grayscale: initial;--tw-hue-rotate: initial;--tw-invert: initial;--tw-opacity: initial;--tw-saturate: initial;--tw-sepia: initial;--tw-drop-shadow: initial;--tw-drop-shadow-color: initial;--tw-drop-shadow-alpha: 100%;--tw-drop-shadow-size: initial}}}
2
2
  /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */
package/dist/app.js CHANGED
@@ -14,4 +14,4 @@ import"./chunk-O2XFH626.js";import t from"styled-components";import{jsx as r}fro
14
14
  flex: 1;
15
15
  flex-direction: column;
16
16
  position: relative;
17
- `,w=()=>r(e,{children:"1231232"}),i=()=>{console.log("createDesignEditorApp")},p=i;export{w as DesignEditorApp,e as DesignEditorContainer,l as SidePanelWrap,d as WorkspaceWrap,p as createDemoApp,i as createDesignEditorApp};
17
+ `,w=()=>r(e,{children:"1231232"}),i=()=>{console.log("createDesignEditorApp")},h=i;export{w as DesignEditorApp,e as DesignEditorContainer,l as SidePanelWrap,d as WorkspaceWrap,h as createDemoApp,i as createDesignEditorApp};
@@ -1,12 +1,14 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { WorkspaceProps } from './workspace-canvas.js';
3
- import '../model/store.js';
2
+ import { S as StoreType } from '../store-DfmY1m2j.js';
4
3
  import 'fabric';
5
4
  import 'mobx-state-tree/dist/internal';
6
5
  import 'mobx-state-tree';
7
6
  import '@ydesign/core';
8
- import '../utils/fonts.js';
9
- import 'mobx';
7
+
8
+ type WorkspaceProps = {
9
+ store: StoreType;
10
+ components?: any;
11
+ };
10
12
 
11
13
  declare const Workspace: ({ components, ...restProps }: WorkspaceProps) => react_jsx_runtime.JSX.Element;
12
14
 
@@ -1 +1 @@
1
- import{a as o}from"../chunk-XA2G4P2Q.js";import"../chunk-O2XFH626.js";import{jsx as s}from"react/jsx-runtime";var a=({components:p={},...r})=>s(o,{...r,components:p}),c=a;export{a as Workspace,c as default};
1
+ import"../chunk-O2XFH626.js";import c,{useEffect as d}from"react";import{Editor as p}from"@ydesign/core";import{observer as l}from"mobx-react-lite";import{jsx as s,jsxs as v}from"react/jsx-runtime";var i=({store:e})=>{let t=c.useRef(null);return d(()=>{let n=t.current,{clientHeight:a,clientWidth:r}=n,o=new p({id:"canvas",config:{size:{width:r,height:a},workareaConfig:{width:e.width,height:e.height,background:"rgba(255,255,255,1)"}},container:n,state:{editor:e.editor,activeObject:e.selectedElements,objects:e.objects,zoomRatio:e.scale,setEditor:e._setEditor,setActiveObject:e.selectElements,setObjects:e.setObjects,setZoomRatio:e.setScale}});return e._setEditor(o),e.setupEditorListeners(),window._c=o,()=>{o.destroy()}},[]),v("div",{id:"canvas_container",ref:t,style:{flex:1,position:"relative",overflow:"hidden"},className:"bg-[#ecf0f1] dark:bg-[#92969d]",children:[s("div",{className:"inside-shadow w-full h-full shadow-inner",style:{position:"absolute",zIndex:2,pointerEvents:"none"}}),s("div",{style:{position:"absolute",height:"100%",width:"100%"},children:s("canvas",{id:"canvas"})})]})},w=l(i);import{jsx as m}from"react/jsx-runtime";var f=({components:e={},...t})=>m(i,{...t,components:e}),y=f;export{f as Workspace,y as default};
@@ -0,0 +1 @@
1
+ import{d as g}from"./chunk-KERQXVBL.js";import{b as m}from"./chunk-YBC2DYJX.js";import{c as l,d as p}from"./chunk-EUTDQZKU.js";import{a as s}from"./chunk-O2XFH626.js";import*as d from"mobx";import{createContext as f,useContext as y}from"react";import h from"axios";var i=h.create({timeout:6e4});i.interceptors.request.use(t=>{let e=g();return e.token&&(t.headers.Authorization=`Bearer ${e.token}`,t.headers["yitu-workspace-id"]=e.workspaceId),t},t=>Promise.reject(t));i.interceptors.response.use(t=>{let{data:e}=t,r=e?.statusCode??e?.status;if(r!=null){if(r>=200&&r<=201)return e;let n=e?.result?.message||e?.message||"An error occurred";return Promise.reject(new Error(n))}if(t.status>=200&&t.status<300&&e)return e;let o=new Error(e?.message||"An error occurred");return Promise.reject(o)},t=>{let e=t?.response?.data,r=e?.result?.message||e?.message||t.message||"An error occurred";return Promise.reject(new Error(r))});var c=i;var w=t=>{try{return localStorage.getItem(t)}catch{return null}},P=(t,e)=>{try{localStorage.setItem(t,e)}catch{}},u=class{constructor({store:e}){s(this,"saveTimeout",null);s(this,"isOne",!1);s(this,"store");s(this,"id","");s(this,"name","");s(this,"user",{});s(this,"skipSaving",!1);s(this,"cloudEnabled",!1);s(this,"status","loading");s(this,"language",w("ydesign-language")||navigator.language||"en");s(this,"designsLength",0);s(this,"urls",{editorUrl:"/design"});d.makeAutoObservable(this),this.store=e,e.on("change",()=>{if(!this.isOne){this.isOne=!0;return}this.requestSave()})}setLanguage(e){this.language=e,P("ydesign-language",e)}requestSave(){this.status="has-changes",!this.saveTimeout&&(this.saveTimeout=setTimeout(()=>{this.saveTimeout=null,this.save()},5e3))}async firstLoad(e){if(e)this.store.loadJSON(e);else{let r=new URL(window.location.href),o=new URLSearchParams(r.search),n=o.get("type")||"",a=o.get("id")||"";console.log("\u6765\u6E90 ---> ",n,a),this.loadById(a,n)}}async loadById(e,r){if(e){if(console.log("\u53BB\u8FDC\u7A0B\u83B7\u53D6\u6570\u636E"),r==="me"){let o=l(e),n=await c.post(o.url,o.data),{content:a}=n.result;console.log("\u4E2A\u4EBA\u8D44\u4EA7 ---> ",a),this.store.loadJSON(a);return}if(r==="record"){let o=p(e),n=await c.get(o.url),{content:a}=n.result;console.log("\u4F5C\u56FE\u8BB0\u5F55 ---> ",a),this.store.loadJSON(a);return}console.log("\u6CA1\u6709\u5339\u914D\u5230\u7684\u6765\u6E90")}else console.log("\u6CA1\u6709id\u65E0\u6CD5\u83B7\u53D6\u8FDC\u7A0B\u6570\u636E")}updateUrlWithProjectId(){if(!this.id||this.id==="local"){window.history.replaceState({},"","/");return}let e=new URL(window.location.href);new URLSearchParams(e.search).set("id",this.id),window.history.replaceState({},"",`/design/${this.id}`)}async save(){this.status="saving";let e=this.store.toJSON();console.log("storeJSON",e);try{await new Promise(r=>setTimeout(r,2e3))}catch(r){console.error("save error",r)}this.status="saved"}async getGlobalFont(e){return e?.length?(m(e),e):[]}},S=f(null),R=()=>{let t=y(S);if(!t)throw new Error("useProject must be used within a ProjectProvider");return t},T=t=>new u(t),N=T;export{c as a,S as b,R as c,T as d,N as e};
@@ -0,0 +1,15 @@
1
+ var M=({width:t,height:e,cornerRadius:a=0})=>{if(a>0){let L=Math.min(a,t/2,e/2);return`M 0 ${L} A ${L} ${L} 0 0 1 ${L} 0 L ${t-L} 0 A ${L} ${L} 0 0 1 ${t} ${L} L ${t} ${e-L} A ${L} ${L} 0 0 1 ${t-L} ${e} L ${L} ${e} A ${L} ${L} 0 0 1 0 ${e-L} Z`}return`M 0 0 L ${t} 0 L ${t} ${e} L 0 ${e} Z`},w=({width:t,height:e})=>{let a=t/2,L=e/2;return`M ${a} ${L} m -${a}, 0 a ${a},${L} 0 1,0 ${t},0 a ${a},${L} 0 1,0 -${t},0`};function d({width:t,height:e}){let a=t/2,L=e/2,s=t/2,p=e/2,o=s/2,l=p/2,r="",n=Math.PI/5;for(let i=0;i<10;i++){let c=i%2==0?p:l,x=a+(i%2==0?s:o)*Math.sin(i*n),$=L-c*Math.cos(i*n);i===0?r=`M ${x} ${$}`:r+=` L ${x} ${$}`}return r+" Z"}var u=({width:t,height:e})=>`M ${t/2} 0 L ${t} ${e} L 0 ${e} Z`,g=({width:t,height:e})=>`M 0 0 L ${t} 0 L 0 ${e} Z`;function m({width:t,height:e}){let a=t/2,L=e/2;return`M ${a} 0 L ${t} ${L} L ${a} ${e} L 0 ${L} Z`}function v({width:t,height:e}){let a=t/2,L=e/2,s=t/2,p=e/2,o="",l=2*Math.PI/5;for(let r=0;r<5;r++){let n=p,i=a+s*Math.sin(r*l),c=L-n*Math.cos(r*l);r===0?o=`M ${i} ${c}`:o+=` L ${i} ${c}`}return o+" Z"}function B({width:t,height:e}){let a=t/2,L=e/2,s=t/2,p=e/2,o="",l=2*Math.PI/6;for(let r=0;r<6;r++){let n=p,i=a+s*Math.sin(r*l),c=L-n*Math.cos(r*l);r===0?o=`M ${i} ${c}`:o+=` L ${i} ${c}`}return o+" Z"}function P({width:t,height:e}){let a=.1*Math.min(t,e),L=.2*t,s=.2*e,p=.5*t,o=`M ${a},0`;return o+=" H "+(t-a),o+=` A ${a},${a} 0 0 1 ${t},${a}`,o+=" V "+(e-a-s),o+=` A ${a},${a} 0 0 1 ${t-a},${e-s}`,o+=` H ${p+L/2}`,o+=` L ${p},${e}`,o+=` L ${p-L/2},${e-s}`,o+=` H ${a}`,o+=` A ${a},${a} 0 0 1 0,${e-a-s}`,o+=` V ${a}`,o+=` A ${a},${a} 0 0 1 ${a},0`,o+=" Z",o}function Z({width:t,height:e}){let a=.3*t,L=.3*e,s=t/2,p=e/2,o=s-a/2,l=s+a/2,r=p-L/2,n=p+L/2,i=`M ${o},0 `;return i+=`H ${l} `,i+=`V ${r} `,i+=`H ${t} `,i+=`V ${n} `,i+=`H ${l} `,i+=`V ${e} `,i+=`H ${o} `,i+=`V ${n} `,i+="H 0 ",i+=`V ${r} `,i+=`H ${o} `,i+="V 0 ",i+="Z",i}var A={rect:M,circle:w,star:d,triangle:u,rightTriangle:g,diamond:m,pentagon:v,hexagon:B,speechBubble:P,cross:Z};function R(t){return A[t]||M}function f(t,e){let{width:a,height:L,fill:s,stroke:p,strokeWidth:o,dash:l}=t,r=(l||[]).map($=>$*o),n=e(t),i=1,c=1;typeof n!="string"&&(i=n.scaleX,c=n.scaleY,n=n.path);let x=`clip-${t.id||Math.random()}`;return`
2
+ <svg xmlns="http://www.w3.org/2000/svg" width="${a}" height="${L}">
3
+ <defs>
4
+ <clipPath id="${x}">
5
+ <path d="${n}" />
6
+ </clipPath>
7
+ </defs>
8
+
9
+ <!-- Path for the fill -->
10
+ <path d="${n}" fill="${s}" transform="scale(${i}, ${c})"/>
11
+
12
+ <!-- Path for the stroke, clipped by the star path -->
13
+ <path d="${n}" fill="none" stroke="${p}" stroke-width="${2*o}" clip-path="url(#${x})" transform="scale(${i}, ${c})" stroke-dasharray="${r.join(" ")}"/>
14
+ </svg>
15
+ `}function E(t){let{subType:e}=t,a=R(e);return a?f(t,a):(console.error(`error: Can not convert ${e} figure to svg.`),M(t))}var y=(h=>(h.ROUND_RECT="roundRect",h.ROUND_RECT_DIAGONAL="roundRectDiagonal",h.ROUND_RECT_SINGLE="roundRectSingle",h.ROUND_RECT_SAMESIDE="roundRectSameSide",h.CUT_RECT_DIAGONAL="cutRectDiagonal",h.CUT_RECT_SINGLE="cutRectSingle",h.CUT_RECT_SAMESIDE="cutRectSameSide",h.MESSAGE="message",h.ROUND_MESSAGE="roundMessage",h.L="L",h.RING_RECT="ringRect",h.PLUS="plus",h.TRIANGLE="triangle",h.PARALLELOGRAM_LEFT="parallelogramLeft",h.PARALLELOGRAM_RIGHT="parallelogramRight",h.TRAPEZOID="trapezoid",h.BULLET="bullet",h.INDICATOR="indicator",h))(y||{}),D=[{name:"\u57FA\u7840",children:[{viewBox:[200,200],path:"M 0 0 L 200 0 L 200 200 L 0 200 Z",type:"rect"},{viewBox:[200,200],path:w({width:200,height:200}),type:"circle"},{viewBox:[200,200],path:"M 0,100 A 100,50 0 1 1 200,100 A 100,50 0 1 1 0,100 Z",type:"ellipse"},{viewBox:[200,200],path:"M 100,50 L 200,150 L 0,150 Z",type:"triangle"}]},{name:"\u77E9\u5F62",children:[{viewBox:[200,200],path:"M 50 0 L 150 0 Q 200 0 200 50 L 200 150 Q 200 200 150 200 L 50 200 Q 0 200 0 150 L 0 50 Q 0 0 50 0 Z"},{viewBox:[200,200],path:"M 0 150 L 0 0 L 150 0 L 200 50 L 200 200 L 50 200 Z"},{viewBox:[200,200],path:"M 0 200 L 0 0 L 150 0 L 200 50 L 200 200 Z"},{viewBox:[200,200],path:"M 0 50 L 50 0 L 150 0 L 200 50 L 200 200 L 0 200 Z"},{viewBox:[200,200],path:"M 0 0 L 150 0 Q 200 0 200 50 L 200 200 L 50 200 Q 0 200 0 150 L 0 0 Z"},{viewBox:[200,200],path:"M 0 0 L 150 0 Q 200 0 200 50 L 200 200 L 0 200 L 0 0 Z"},{viewBox:[200,200],path:"M 0 50 Q 0 0 50 0 L 150 0 Q 200 0 200 50 L 200 200 L 0 200 Z"}]},{name:"\u5E38\u89C4\u5F62\u72B6",children:[{viewBox:[200,200],path:d({width:200,height:200})},{viewBox:[200,200],path:u({width:200,height:200})},{viewBox:[200,200],path:g({width:200,height:200})},{viewBox:[200,200],path:m({width:200,height:200})},{viewBox:[200,200],path:v({width:200,height:200})},{viewBox:[200,200],path:B({width:200,height:200})},{viewBox:[200,200],path:P({width:200,height:200})},{viewBox:[200,200],path:Z({width:200,height:200})}]},{name:"\u5E38\u7528\u5F62\u72B6",children:[{viewBox:[200,200],path:"M 100 0 A 50 50 0 1 1 100 200 A 50 50 0 1 1 100 0 Z"},{viewBox:[200,200],path:"M 100 0 L 0 200 L 200 200 L 100 0 Z",pathFormula:"triangle"},{viewBox:[200,200],path:"M 0 0 L 0 200 L 200 200 Z"},{viewBox:[200,200],path:"M 50 0 L 200 0 L 150 200 L 0 200 L 50 0 Z",pathFormula:"parallelogramLeft"},{viewBox:[200,200],path:"M 0 0 L 150 0 L 200 200 L 50 200 L 0 0 Z",pathFormula:"parallelogramRight"},{viewBox:[200,200],path:"M 50 0 L 150 0 L 200 200 L 0 200 L 50 0 Z",pathFormula:"trapezoid"},{viewBox:[200,200],path:"M 100 0 L 0 100 L 100 200 L 200 100 L 100 0 Z"},{viewBox:[200,200],path:"M 100 0 L 0 50 L 0 200 L 200 200 L 200 50 L 100 0 Z",pathFormula:"bullet"},{viewBox:[200,200],path:"M 200 100 L 150 0 L 0 0 L 50 100 L 0 200 L 150 200 L 200 100 Z",pathFormula:"indicator"},{viewBox:[200,200],path:"M 0 200 A 50 100 0 1 1 200 200 L 0 200 Z"},{viewBox:[200,200],path:"M 40 20 A 100 100 0 1 0 200 100 L 100 100 L 40 20 Z"},{viewBox:[200,200],path:"M 100 0 A 100 100 102 1 0 200 100 L 100 100 L 100 0 Z"},{viewBox:[200,200],path:"M 160 20 A 100 100 0 1 0 200 100 L 100 100 L 160 20 Z"},{viewBox:[200,200],path:"M 100 0 A 100 100 102 1 0 200 100 L 100 0 Z"},{viewBox:[200,200],path:"M 100 0 A 100 100 102 1 0 200 100 L 200 0 L 100 0 Z"},{viewBox:[200,200],path:"M 0 0 L 200 0 Q 200 200 0 200 L 0 0 Z"},{viewBox:[200,200],path:"M 100 0 L 0 90 L 50 200 L 150 200 L 200 90 L 100 0 Z"},{viewBox:[200,200],path:"M 100 0 L 0 60 L 0 140 L 100 200 L 200 140 L 200 60 L 100 0 Z"},{viewBox:[200,200],path:"M 60 0 L 140 0 L 200 60 L 200 140 L 140 200 L 60 200 L 0 140 L 0 60 L 60 0 Z"},{viewBox:[200,200],path:"M 75 0 L 125 0 L 175 25 L 200 75 L 200 125 L 175 175 L 125 200 L 75 200 L 25 175 L 0 125 L 0 75 L 25 25 L 75 0 Z"},{viewBox:[200,200],path:"M 150 0 A 50 100 0 1 1 150 200 L 0 200 L 0 0 L 150 0 Z"},{viewBox:[200,200],path:"M 50 0 A 25 50 0 1 0 50 200 L 150 200 A 25 50 0 1 0 150 0 L 50 0 Z"},{viewBox:[200,200],path:"M 150 0 A 50 100 0 1 1 150 200 L 0 200 A 50 100 0 0 0 0 0 L 150 0 Z"},{viewBox:[200,200],path:"M 200 0 L 200 200 L 0 200 L 0 100 L 200 0 Z"},{viewBox:[200,200],path:"M 0 0 L 200 100 L 200 200 L 0 200 L 0 0 Z"},{viewBox:[200,200],path:"M 200 0 L 100 0 L 0 100 L 0 200 L 200 0 Z"},{viewBox:[200,200],path:"M 50 0 L 150 0 L 150 50 L 200 50 L 200 150 L 150 150 L 150 200 L 50 200 L 50 150 L 0 150 L 0 50 L 50 50 L 50 0 Z"},{viewBox:[200,200],path:"M 0 0 L 0 200 L 200 200 L 200 140 L 60 140 L 60 0 L 0 0 Z",pathFormula:"L"},{viewBox:[200,200],path:"M0 0 L200 0 L200 200 L0 200 L0 0 Z M50 50 L50 150 L150 150 L150 50 Z",pathFormula:"ringRect"},{viewBox:[200,200],path:"M0 100 A100 100 0 1 1 0 101 Z M150 100 A50 50 0 1 0 150 101 Z"},{viewBox:[200,200],path:"M 70 0 L 70 70 L 0 70 L 0 130 L 70 130 L 70 200 L 130 200 L 130 130 L 200 130 L 200 70 L 130 70 L 130 0 L 70 0 Z",pathFormula:"plus"},{viewBox:[200,200],path:"M 40 0 L 0 40 L 60 100 L 0 160 L 40 200 L 100 140 L 160 200 L 200 160 L 140 100 L 200 40 L 160 0 L 100 60 L 40 0 Z"},{viewBox:[200,200],path:"M 0 0 L 200 0 L 200 160 L 100 160 L 60 200 L 60 160 L 0 160 Z",pathFormula:"message"},{viewBox:[200,200],path:"M 0 40 Q 0 0 40 0 L 160 0 Q 200 0 200 40 L 200 120 Q 200 160 160 160 L 100 160 L 60 200 L 60 160 L 40 160 Q 0 160 0 120 L 0 40 Z",pathFormula:"roundMessage"},{viewBox:[200,200],path:"M 180 160 A 100 100 0 1 0 100 200 L 200 200 L 200 160 L 180 160 Z"},{viewBox:[200,200],path:"M 200 0 L 0 0 L 200 200 L 0 200 L 200 0 Z"},{viewBox:[200,200],path:"M 0 20 C 60 60 140 -40 200 20 L 200 180 C 140 140 60 240 0 180 L 0 20 Z"},{viewBox:[200,200],path:"M 0 20 C 40 -40 60 60 100 20 C 140 -40 160 60 200 20 L 200 180 C 140 240 160 140 100 180 C 40 240 60 140 0 180 L 0 20 Z"},{viewBox:[200,200],path:"M 100 0 Q 0 50 0 175 Q 100 225 200 175 Q 200 50 100 0 Z"},{viewBox:[200,200],path:"M 0 100 A 50 50 0 1 1 200 100 L 100 200 L 0 100 Z"},{viewBox:[200,200],path:"M 100 0 L 60 60 L 0 100 L 60 140 L 100 200 L 140 140 L 200 100 L 140 60 L 100 0 Z"},{viewBox:[200,200],path:"M 100 0 L 80 40 L 20 20 L 40 80 L 0 100 L 40 120 L 20 180 L 80 160 L 100 200 L 120 160 L 180 180 L 160 120 L 200 100 L 160 80 L 180 20 L 120 40 L 100 0 Z"}]}],_=[{path:"M 0 0 L 20 20",style:"solid",points:["",""],data:[{x:0,y:0},{x:200,y:0}]}],F=[{name:"\u76F4\u7EBF",children:[{path:"M 0 0 L 20 20",style:"solid",points:["",""],data:[{x:0,y:0},{x:200,y:0}]},{path:"M 0 0 L 20 20",style:"dashed",points:["",""],data:[{x:0,y:0},{x:200,y:0}]},{path:"M 0 0 L 20 20",style:"solid",points:["","arrow"],data:[{x:0,y:0},{x:200,y:0}]},{path:"M 0 0 L 20 20",style:"dashed",points:["","arrow"],data:[{x:0,y:0},{x:200,y:0}]},{path:"M 0 0 L 20 20",style:"solid",points:["","dot"],data:[{x:0,y:0},{x:200,y:0}]}]},{name:"\u6298\u7EBF\u3001\u66F2\u7EBF",children:[{path:"M 0 0 L 0 20 L 20 20",style:"solid",points:["","arrow"],isBroken:!0,data:[{x:0,y:0},{x:0,y:100},{x:200,y:100}]},{path:"M 0 0 Q 0 20 20 20",style:"solid",points:["","arrow"],isCurve:!0,data:[{x:0,y:0},{x:200,y:0}]},{path:"M 0 0 C 20 0 0 20 20 20",style:"solid",points:["","arrow"],isCubic:!0,data:[{x:0,y:0},{x:200,y:0}]}]}];export{A as a,E as b,y as c,D as d,_ as e,F as f};
@@ -0,0 +1,21 @@
1
+ import{a as m,b as v}from"./chunk-RVXI723F.js";import{c as p}from"./chunk-WFMCGQ5V.js";import{useState as L,useEffect as I}from"react";var C=768,x=()=>window.innerWidth<=C,h=e=>`
2
+ @media (max-width: ${C}px) {
3
+ ${e}
4
+ .ydesign-editor-mobile & {
5
+ ${e}
6
+ }
7
+ }
8
+ `,Y=()=>{let[e,o]=L(x());return I(()=>{let n=()=>{o(x())};return window.addEventListener("resize",n),()=>{window.removeEventListener("resize",n)}},[]),e};import{ColorPicker as N,Tooltip as $,Button as P,message as g}from"antd";import{CirclePlus as R}from"lucide-react";import{useState as F,useRef as M,useLayoutEffect as O}from"react";import B from"styled-components";import{OverflowList as A}from"react-overflow-list";import{Ellipsis as z}from"lucide-react";import{Popover as D,Button as W}from"antd";import{jsx as u}from"react/jsx-runtime";var H=B.div`
9
+ display: flex;
10
+ height: 50px;
11
+ align-items: center;
12
+ float: left;
13
+ overflow: hidden;
14
+ max-width: 100%;
15
+ box-sizing: border-box;
16
+ user-select: auto;
17
+
18
+ ${h(`
19
+ width: auto !important;
20
+ `)}
21
+ `,w=({type:e,usedItems:o,components:n})=>{let r=[];return Object.keys(n).forEach(t=>{t.toLowerCase().indexOf(e)===0&&t.toLowerCase()!==e&&(n[t]?o.includes(t)||r.push(t):console.error(`error: Toolbar has invalid React component "${t}"`))}),o.filter(t=>!!t).concat(r)},k=({items:e,itemRender:o})=>{let[n,r]=F(null),t=M(null),l=()=>{if(t.current===null)return;let i=t.current.parentElement;if(!i)return;let c=0;Array.from(i?.children||[]).forEach(a=>{a!==t.current&&(c+=a.offsetWidth)});let s=Math.max(20,i.offsetWidth-c-10);r(a=>a!==s?s:a)};return O(()=>{l();let i=t.current?.parentElement,c=i?.parentElement;if(window.ResizeObserver){let s=new ResizeObserver(l);i&&s.observe(i),c&&s.observe(c);let a=new MutationObserver(l);return i&&a.observe(i,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["style","class"]}),()=>{s.disconnect(),a.disconnect()}}else{let s=setInterval(l,100);return()=>clearInterval(s)}},[]),u(H,{ref:t,style:{width:n??"auto"},className:"bp5-navbar-group bp5-align-left overflow-hidden flex-shrink-0",children:n!==null&&u(A,{className:"gap-2 items-center w-full",collapseFrom:"end",items:e,minVisibleItems:0,itemRenderer:o,overflowRenderer:i=>u(D,{content:u("div",{style:{display:"flex",gap:6},children:i.map(c=>o(c))}),trigger:"click",placement:"bottom",children:u(W,{type:"text",size:"small",onMouseDownCapture:c=>{c.preventDefault()},children:u(z,{})})})},n)})};import{useState as G,useRef as E,useMemo as K}from"react";import{cssGradient2FabricGradient as U}from"@ydesign/core";async function T(e){return new Promise((o,n)=>{let r=new FileReader;r.readAsDataURL(e),r.onload=()=>o(r.result),r.onerror=t=>n(t)})}import{observer as b}from"mobx-react-lite";import{jsx as d,jsxs as y}from"react/jsx-runtime";var V=async e=>T(e),f=e=>e?typeof e=="string"?e:e.colorStops?JSON.stringify(e.colorStops):JSON.stringify(e):"",J=b(({store:e})=>{let o=e.backgroundColor,[n,r]=G(()=>m(o)),t=E(!1),l=E(f(o)),i=f(o);i!==l.current&&!t.current&&(l.current=i,r(m(o)));let c=K(()=>n,[f(n)]);return d($,{title:p("toolbar.backgroundColor"),children:d("div",{style:{height:32},children:d(N,{value:c,allowClear:!0,mode:["single","gradient"],onOpenChange:s=>{t.current=s,s||(l.current=f(o))},onChange:s=>{r(s)},onChangeComplete:s=>{let a=s.toCssString();if(a.includes("gradient")){let S=U(a);e.setBackgroundColor(S)}else e.setBackgroundColor(a)}})})})}),_=b(({store:e})=>{let o=async n=>{let{target:r}=n;if(!(!r.files||r.files.length===0)){g.loading("\u56FE\u7247\u4E0A\u4F20\u4E2D...",0);for(let t of r.files){let i={type:"image",src:await V(t)};e.editor?.objectsHandler.add(i)}r.value="",g.destroy(),g.success("\u56FE\u7247\u4E0A\u4F20\u6210\u529F")}};return d("div",{children:y("label",{htmlFor:"input-file",children:[y(P,{type:"text",styles:{root:{padding:"0 8px"}},onClick:()=>{document.querySelector("#input-file")?.click()},children:[d(R,{size:16})," ",p("toolbar.addImage")]}),d("input",{type:"file",id:"input-file",style:{display:"none"},onChange:o,multiple:!0,accept:"image/*"})]})})}),j=b(({store:e})=>d("div",{children:y(P,{type:"text",styles:{root:{padding:"0 8px"}},onClick:()=>{e.editor?.objectsHandler.add({originX:"left",originY:"top",fontSize:100,textAlign:"left",fill:v(),text:"Hello World",type:"textbox"})},children:[d(R,{size:16}),p("toolbar.addText")]})})),q={DefaultBackgroundPicker:J,DefaultAddImage:_,DefaultAddText:j},ve=({store:e,components:o})=>{let r=w({type:"text",usedItems:["DefaultBackgroundPicker","DefaultAddImage","DefaultAddText"],components:o});return d(k,{items:r,itemRender:t=>{let l=o[t]||q[t];return l&&d(l,{store:e},t)}})};export{h as a,Y as b,T as c,w as d,k as e,J as f,ve as g};
@@ -0,0 +1,151 @@
1
+ import{a as I,c as ne}from"./chunk-2AZQIJ4K.js";import{a as L}from"./chunk-EWOU5F3O.js";import{b as G,c as B}from"./chunk-5C2MNUBC.js";import{a as te,b as ie,e as oe}from"./chunk-EUTDQZKU.js";import{Modal as Be,Button as Ue,ColorPicker as Te,InputNumber as re,Select as Me,Tooltip as le,App as Re,theme as De}from"antd";import{Grid2X2 as Le,Star as We,ShoppingBag as $e,FileText as Ae,Presentation as Ee,Share2 as _e,Printer as Fe,ImagePlus as He,FolderPlus as i,LockKeyholeOpen as Ve,LockKeyhole as je}from"lucide-react";import{useRef as Oe,useState as u,useMemo as ce,useCallback as T}from"react";import A from"styled-components";import{App as ke,Modal as Se,Upload as se}from"antd";import{Inbox as Ce}from"lucide-react";import{useRef as Pe,useState as Ne}from"react";import{jsx as a,jsxs as U}from"react/jsx-runtime";var{Dragger:Ie}=se,ae=({visible:S,onClose:E})=>{let{message:b,modal:_}=ke.useApp(),[h,C]=Ne(!1),x=Pe(null),F=ne();return a(Se,{width:750,title:"\u4E0A\u4F20 PSD \u6587\u4EF6",open:S,onCancel:()=>{if(h){b.warning("\u6587\u4EF6\u6B63\u5728\u89E3\u6790\u4E2D\uFF0C\u8BF7\u7A0D\u5019...");return}E()},footer:null,mask:{closable:!h},styles:{body:{height:"calc(100% - 40px)",padding:"10px 0 0 0"},container:{height:500}},centered:!0,children:a("div",{style:{height:"100%"},children:U(Ie,{...{name:"file-psd",multiple:!1,accept:".psd",showUploadList:!1,beforeUpload(r){return r.name.toLowerCase().endsWith(".psd")?!0:(b.error("\u4EC5\u652F\u6301 .psd \u683C\u5F0F\u6587\u4EF6"),se.LIST_IGNORE)},customRequest(r){let{file:n,onSuccess:p,onError:s,onProgress:f}=r;C(!0),x.current=b.loading("PSD \u6587\u4EF6\u89E3\u6790\u4E2D\uFF0C\u8BF7\u7A0D\u5019...",0);let c=new FormData;c.append("file",n),I.post(ie().url,c,{headers:{"Content-Type":"multipart/form-data"},onUploadProgress(d){d.total&&f&&f({percent:Math.round(d.loaded/d.total*100)})}}).then(d=>{p?.(d)}).catch(d=>{s?.(d)})},async onChange(r){let{status:n}=r.file;if(console.log("info",r),n==="done"){x.current?.(),x.current=null,C(!1),b.success(`${r.file.name} \u89E3\u6790\u6210\u529F`);let p=r.file.response;console.log("PSD \u89E3\u6790\u7ED3\u679C:",p.result);let{thumbnailUrl:s,content:f,name:c,width:d,height:m,filename:V,parseUrl:v}=p.result,M={sourceResourcesId:crypto.randomUUID(),content:f,width:d,height:m,parseUrl:v,thumbnailUrl:s,filename:V,name:c};console.log("postRecord ---> ",M);let y=oe(M);console.log("postData",y);try{let w=await I.post(y.url,y.data);console.log("res ---> ",w.result);let j=w.result,P=`${F.urls.editorUrl}?id=${j.id}&type=record`;console.log("editUrl",P);let z=window.open(P,"_blank");(!z||z.closed)&&_.info({title:"\u5141\u8BB8\u663E\u793A\u5F39\u51FA\u7A97\u53E3",width:480,content:U("div",{style:{padding:"16px 0"},children:[a("p",{style:{marginBottom:8,color:"#666"},children:"\u4F60\u9700\u8981\u6388\u6743\u672C\u7AD9\u5728\u6D4F\u89C8\u5668\u6253\u5F00\u591A\u4E2A\u7A97\u53E3\u3002"}),U("div",{style:{marginBottom:12},children:[a("p",{children:a("b",{children:"\u7B2C1\u6B65"})}),a("p",{children:"\u70B9\u51FB\u6D4F\u89C8\u5668\u53F3\u4FA7\u9876\u90E8\u5F39\u51FA\u7684\u963B\u6B62\u7A0B\u5E8F\u56FE\u6807\u3002"})]}),U("div",{style:{marginBottom:12},children:[a("p",{children:a("b",{children:"\u7B2C2\u6B65"})}),a("p",{children:"\u70B9\u51FB\u59CB\u7EC8\u5141\u8BB8\u663E\u793A\u5F39\u51FA\u5F0F\u7A97\u53E3\u548C\u8FDB\u884C\u91CD\u5B9A\u5411\u3002"})]}),U("div",{style:{marginBottom:12},children:[a("p",{children:a("b",{children:"\u7B2C3\u6B65"})}),a("p",{children:"\u70B9\u51FB\u5B8C\u6210\u6309\u94AE\uFF0C\u5373\u53EF\u6B63\u5E38\u4F7F\u7528\u529F\u80FD\u5566~"})]})]}),okText:"\u6211\u77E5\u9053\u5566"})}catch(w){console.error(w)}}else if(n==="error"){x.current?.(),x.current=null,C(!1);let p=r.file.error?.message||"\u89E3\u6790\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5";b.error(p)}}},disabled:h,children:[a("p",{className:"flex items-center justify-center",children:a(Ce,{size:60})}),a("p",{className:"ant-upload-text",children:h?"\u89E3\u6790\u4E2D...":"\u62D6\u62FD\u6587\u4EF6\u5230\u6B64\u5904\u4E0A\u4F20\u6216\u70B9\u51FB\u4E0A\u4F20"}),a("p",{className:"ant-upload-hint",children:a("a",{href:"https://www.yuque.com/meitumcp/vvtts5/gfv8e5",target:"_blank",onClick:r=>{r.stopPropagation()},children:"PSD\u6587\u4EF6\u5BFC\u5165\u89C4\u8303"})})]})})})};import{Fragment as Ze,jsx as e,jsxs as l}from"react/jsx-runtime";var Xe=[{key:"all",label:"\u5168\u90E8",icon:Le},{key:"common",label:"\u5E38\u7528\u5C3A\u5BF8",icon:We},{key:"ecommerce",label:"\u7535\u5546\u7269\u6599",icon:$e},{key:"office",label:"\u884C\u653F\u529E\u516C",icon:Ae},{key:"presentation",label:"\u6F14\u793A\u6587\u7A3F",icon:Ee},{key:"social",label:"\u793E\u4EA4\u5A92\u4F53",icon:_e},{key:"print",label:"\u5370\u5237\u7269\u6599",icon:Fe}],de=[{key:"common",label:"\u5E38\u7528\u5C3A\u5BF8",sizes:[{icon:e(i,{size:24}),name:"\u7535\u5546\u4E3B\u56FE\uFF081:1\uFF09",desc:"1440x1440px",width:1440,height:1440,unit:"px"},{icon:e(i,{size:24}),name:"\u7535\u5546\u4E3B\u56FE\uFF081:1\uFF09",desc:"800x800px",width:800,height:800,unit:"px"},{icon:e(i,{size:24}),name:"\u624B\u673A\u6D77\u62A5",desc:"1242x2208px",width:1242,height:2208,unit:"px"},{icon:e(i,{size:24}),name:"\u5C0F\u7EA2\u4E66\u5C01\u9762",desc:"1242x1656px",width:1242,height:1656,unit:"px"},{icon:e(i,{size:24}),name:"\u7AD6\u7248\u89C6\u9891\u5C01\u9762",desc:"1080x1920px",width:1080,height:1920,unit:"px"},{icon:e(i,{size:24}),name:"PPT\uFF0816:9\uFF09",desc:"1920x1080px",width:1920,height:1080,unit:"px"}]},{key:"ecommerce",label:"\u7535\u5546\u7269\u6599",sizes:[{icon:e(i,{size:24}),name:"\u7535\u5546\u4E3B\u56FE\uFF081:1\uFF09",desc:"1440x1440px",width:1440,height:1440,unit:"px"},{icon:e(i,{size:24}),name:"\u7535\u5546\u4E3B\u56FE\uFF081:1\uFF09",desc:"800x800px",width:800,height:800,unit:"px"},{icon:e(i,{size:24}),name:"\u7535\u5546\u4E3B\u56FE\uFF083:4\uFF09",desc:"1440x1920px",width:1440,height:1920,unit:"px"},{icon:e(i,{size:24}),name:"\u7535\u5546\u4E3B\u56FE\uFF083:4\uFF09",desc:"750x1000px",width:750,height:1e3,unit:"px"},{icon:e(i,{size:24}),name:"\u76F4\u64AD\u95F4\u80CC\u666F",desc:"1242x2690px",width:1242,height:2690,unit:"px"},{icon:e(i,{size:24}),name:"\u7535\u5546\u8BE6\u60C5\u9875",desc:"750x1000px",width:750,height:1e3,unit:"px"},{icon:e(i,{size:24}),name:"\u7535\u5546\u7AD6\u7248\u6D77\u62A5",desc:"1200x1920px",width:1200,height:1920,unit:"px"}]},{key:"office",label:"\u884C\u653F\u529E\u516C",sizes:[{icon:e(i,{size:24}),name:"\u7B80\u5386",desc:"2480x3507px",width:2480,height:3507,unit:"px"},{icon:e(i,{size:24}),name:"\u5DE5\u724C\u5DE5\u4F5C\u8BC1",desc:"709x1087px",width:709,height:1087,unit:"px"},{icon:e(i,{size:24}),name:"\u5956\u72B6\u8BC1\u4E66",desc:"3437x2550px",width:3437,height:2550,unit:"px"}]},{key:"presentation",label:"\u6F14\u793A\u6587\u7A3F",sizes:[{icon:e(i,{size:24}),name:"PPT\uFF0816:9\uFF09",desc:"1920x1080px",width:1920,height:1080,unit:"px"},{icon:e(i,{size:24}),name:"PPT\uFF084:3\uFF09",desc:"1024x768px",width:1024,height:768,unit:"px"}]},{key:"social",label:"\u793E\u4EA4\u5A92\u4F53",sizes:[{icon:e(i,{size:24}),name:"\u624B\u673A\u6D77\u62A5",desc:"1242x2208px",width:1242,height:2208,unit:"px"},{icon:e(i,{size:24}),name:"\u624B\u673A\u5168\u5C4F\u6D77\u62A5",desc:"1242x2688px",width:1242,height:2688,unit:"px"},{icon:e(i,{size:24}),name:"\u7AD6\u7248\u89C6\u9891\u5C01\u9762",desc:"1080x1920px",width:1080,height:1920,unit:"px"},{icon:e(i,{size:24}),name:"\u6A2A\u7248\u89C6\u9891\u5C01\u9762",desc:"1920x1080px",width:1920,height:1080,unit:"px"},{icon:e(i,{size:24}),name:"\u5C0F\u7EA2\u4E66\u5C01\u9762",desc:"1242x1656px",width:1242,height:1656,unit:"px"},{icon:e(i,{size:24}),name:"\u6296\u97F3\u56FE\u6587\u5E26\u8D27",desc:"1242x1656px",width:1242,height:1656,unit:"px"},{icon:e(i,{size:24}),name:"\u516C\u4F17\u53F7\u9996\u56FE",desc:"900x383px",width:900,height:383,unit:"px"},{icon:e(i,{size:24}),name:"\u516C\u4F17\u53F7\u6B21\u56FE",desc:"900x800px",width:900,height:800,unit:"px"},{icon:e(i,{size:24}),name:"\u957F\u56FE\u6D77\u62A5",desc:"800x2000px",width:800,height:2e3,unit:"px"}]},{key:"print",label:"\u5370\u5237\u7269\u6599",sizes:[{icon:e(i,{size:24}),name:"\u4E00\u5BF8\u8BC1\u4EF6\u7167",desc:"23x35mm",width:25,height:35,unit:"mm"},{icon:e(i,{size:24}),name:"\u4E8C\u5BF8\u8BC1\u4EF6\u7167",desc:"35x53mm",width:35,height:53,unit:"mm"},{icon:e(i,{size:24}),name:"1.8\u7C73\u5C55\u67B6",desc:"80x180cm",width:80,height:180,unit:"cm"},{icon:e(i,{size:24}),name:"2m\u6613\u62C9\u5B9D",desc:"80x200cm",width:80,height:200,unit:"cm"},{icon:e(i,{size:24}),name:"\u540D\u7247",desc:"96x60mm",width:96,height:60,unit:"mm"},{icon:e(i,{size:24}),name:"\u4F18\u60E0\u5238",desc:"186x66mm",width:186,height:66,unit:"mm"},{icon:e(i,{size:24}),name:"\u4F20\u5355",desc:"216x291cm",width:216,height:291,unit:"cm"}]}],pe=A.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
+ `,qe=A.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
+ `,Ge=A.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
+ `,Ke=A.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
+ `,k=72,W=130,$=8e3,gt=({project:S,visible:E,onClose:b,onConfirm:_})=>{let{message:h,modal:C}=Re.useApp(),[x,F]=u("all"),H=Oe(null),{token:r}=De.useToken(),[n,p]=u(null),[s,f]=u(null),[c,d]=u("px"),[m,V]=u(!1),[v,M]=u(1),[y,w]=u("#ffffff"),[j,P]=u(!1),z=ce(()=>n?B({unitVal:n,dpi:k,unit:c}):0,[n,c]),O=ce(()=>s?B({unitVal:s,dpi:k,unit:c}):0,[s,c]),X=n!=null&&s!=null&&n>0&&s>0,R=X&&(z>$||O>$),D=X&&(z<W||O<W),q=!X||R||D,K=R?`\u8D85\u51FA\u753B\u5E03\u5C3A\u5BF8\u9650\u5236\uFF1A${$} * ${$} px`:D?`\u4F4E\u4E8E\u753B\u5E03\u5C3A\u5BF8\u9650\u5236\uFF1A${W} * ${W} px`:"",me=T(t=>{p(t),m&&t&&t>0&&f(Math.round(t/v))},[m,v]),he=T(t=>{f(t),m&&t&&t>0&&p(Math.round(t*v))},[m,v]),ge=T(()=>{!m&&n&&s&&n>0&&s>0&&M(n/s),V(t=>!t)},[m,n,s]),ue=T(t=>{if(n){let o=B({unitVal:n,dpi:k,unit:c});p(Math.round(G({px:o,dpi:k,unit:t,precious:0})))}if(s){let o=B({unitVal:s,dpi:k,unit:c});f(Math.round(G({px:o,dpi:k,unit:t,precious:0})))}d(t)},[n,s,c]),xe=T(()=>{if(q)return;let t=JSON.stringify({bg:{backgroundColor:y}}),o=new URLSearchParams({create:"",createEmptyPoster:"true",createInfo:t,height:String(s),unit:c,width:String(n)});console.log("params \u7684\u53C2\u6570 ---> ",o.toString()),console.log("project ",S.urls.editorUrl),window.open(`${S.urls.editorUrl}?${o.toString()}`,"_blank")},[q,y,O,z,c]),fe=t=>{F(t);let o=H.current;if(!o)return;let g=o.querySelector(`[data-category-id="${t}"]`);g&&o.scrollTo({top:g.offsetTop,behavior:"smooth"})},[ye,be]=u(()=>{let t={};return de.forEach(o=>{t[o.key]=o.sizes.length>6}),t});return l(Ze,{children:[l(Be,{title:"\u521B\u5EFA\u8BBE\u8BA1",open:E,onCancel:b,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,"--sidebar-active-bg":r.colorPrimaryBg,"--sidebar-hover-bg":r.colorPrimaryBgHover},children:Xe.map(t=>l("div",{"data-active":t.key===x,className:L("createrSideBarItem","flex h-[40px] px-2 mb-2 cursor-pointer rounded-md items-center hover:bg-[var(--sidebar-hover-bg)]",{"bg-[var(--sidebar-active-bg)] hover:bg-[var(--sidebar-active-bg)]":t.key===x}),onClick:()=>fe(t.key),children:[e(t.icon,{size:16,className:"ml-2"}),e("span",{className:"ml-2",children:t.label})]},t.key))}),e(qe,{children:e("div",{className:"scrollbars",style:{position:"relative",overflow:"hidden",width:"100%",height:"100%"},children:e("div",{ref:H,style:{position:"absolute",inset:0,overflow:"scroll"},children:l("div",{className:"createrContentInner",children:[e("div",{"data-category-id":"all"}),l("div",{className:"openBtns flex",children:[l(pe,{onClick:()=>{let t=document.createElement("input");t.type="file",t.accept="image/*",t.onchange=async()=>{let o=t.files?.[0];if(o)try{h.loading("\u6B63\u5728\u4E0A\u4F20...",0);let g=te(),N=new FormData;N.append("file",o);let Z=await I.post(g.url,N,{headers:{"Content-Type":"multipart/form-data"}});console.log("res",Z);let{url:J,width:Q,height:Y}=Z.result;console.log("url",J,Q,Y);let ve=encodeURIComponent(encodeURIComponent(J)),we=new URLSearchParams({createEmptyPoster:"true",width:String(Q),height:String(Y),unit:"px"});h.destroy();let ze=`${S.urls.editorUrl}/?${we.toString()}&open=${ve}`,ee=window.open(ze,"_blank");(!ee||ee.closed)&&C.info({title:"\u5141\u8BB8\u663E\u793A\u5F39\u51FA\u7A97\u53E3",width:480,content:l("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"}),l("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"})]}),l("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"})]}),l("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(g){h.destroy();let N=g?.message||"\u4E0A\u4F20\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5";h.error(N),console.error("\u4E0A\u4F20\u5931\u8D25:",N,g)}},t.click()},children:[e(He,{style:{color:r.colorPrimary}}),e("span",{children:"\u6253\u5F00\u56FE\u7247"})]}),e(le,{title:"\u4EC5\u652F\u6301psd\u683C\u5F0F\u6587\u4EF6",children:l(pe,{style:{marginLeft:12},onClick:()=>{P(!0),console.log("\u70B9\u51FB")},children:[e(i,{style:{color:r.colorPrimary}}),e("span",{children:"\u6253\u5F00PSD"})]})})]}),de.map(t=>l("div",{className:L("Widget categorySection","mt-6"),"data-category-id":t.key,"data-is-folded":ye[t.key]??!1,"data-is-multi-row":t.sizes.length>6,children:[l("div",{className:L("categoryHeader","flex items-center justify-between"),children:[e("div",{className:"categoryTitle text-sm font-semibold",children:t.label}),e("div",{className:"categoryFoldBtn flex items-center cursor-pointer",onClick:()=>be(o=>({...o,[t.key]:!1})),children:e("span",{className:"text-[#616366]",children:"\u67E5\u770B\u66F4\u591A"})})]}),t.key==="common"&&l(Ke,{children:[K&&e("div",{className:"sizeWarning",children:K}),l("div",{className:"Widget sizeInpueBox",children:[e("div",{className:"sizeInput",children:e(re,{prefix:"\u5BBD",value:n,min:0,precision:0,status:R||D?"error":void 0,onChange:me,styles:{actions:{opacity:1,width:24}},style:{width:"100%"}})}),e(le,{title:m?"\u89E3\u9501\u6BD4\u4F8B":"\u9501\u5B9A\u6BD4\u4F8B",children:e("div",{className:"linkIcon",style:{cursor:"pointer"},onClick:ge,children:m?e(je,{size:16}):e(Ve,{size:16})})}),e("div",{className:"sizeInput",children:e(re,{prefix:"\u9AD8",value:s,min:0,precision:0,status:R||D?"error":void 0,onChange:he,styles:{actions:{opacity:1,width:24}},style:{width:"100%"}})}),e("div",{className:"sizeUnitSelect",style:{width:98,marginLeft:12},children:e(Me,{value:c,style:{width:98},onChange:ue,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(Te,{mode:"single",format:"hex",value:y,onChange:o=>w(o.toHexString()),styles:{root:{width:98},body:{width:92}}})}),e(Ue,{type:"primary",disabled:q,style:{width:98,marginLeft:12},onClick:xe,children:"\u521B\u5EFA"})]}),e("ul",{className:"flex mt-4 flex-wrap gap-3",children:t.sizes.map((o,g)=>e("li",{style:{width:"calc((100% - 60px) / 6)",height:97},children:l(Ge,{children:[o.icon,e("div",{className:"canvasSizeName",children:o.name}),e("div",{className:"canvasSizeSize",children:e("span",{children:o.desc})}),e("div",{className:"canvasSizeMask",onClick:()=>{_({...o,bgColor:y})},children:e("button",{type:"button",children:"\u521B\u5EFA"})})]})},g))})]},t.key))]})})})})]}),e(ae,{visible:j,onClose:()=>P(!1)})]})};export{gt as a};
@@ -0,0 +1 @@
1
+ var s="http://219.151.185.37:9003",a=`${s}/api`,e=()=>s+"/api",r={fontList:()=>({url:`${e()}/fonts`}),templateList:()=>({url:`${e()}/templates/list`}),templateDetail:t=>({url:`${e()}/templates/detail/${t}`}),uploadImage:()=>({url:`${e()}/images/upload`}),psdParse:()=>({url:`${e()}/psd/parser`}),createRecord:t=>({method:"POST",url:`${e()}/record`,data:t}),recordDetail:t=>({url:`${e()}/record/${t}`}),resourcesDetail:t=>({method:"POST",url:`${e()}/resources/detail`,data:{type:"template",id:t}})};var n=()=>r.uploadImage(),l=()=>r.psdParse(),p=t=>r.resourcesDetail(t),i=t=>r.recordDetail(t),c=t=>r.createRecord(t),u=(t,o)=>{r[t]=o};export{n as a,l as b,p as c,i as d,c as e,u as f};
@@ -0,0 +1 @@
1
+ import{a as l,c as g,d as m,e as p}from"./chunk-YBC2DYJX.js";import{types as a,cast as b,flow as f,destroy as h,getSnapshot as E,onSnapshot as x}from"mobx-state-tree";async function u(e,t){let o=document.createElement("a"),i=URL.createObjectURL(e);o.href=i,o.download=t,document.body.appendChild(o),o.click(),setTimeout(function(){document.body.removeChild(o),window.URL.revokeObjectURL(i)},0)}import{observable as j,toJS as S}from"mobx";import{isEqual as F}from"es-toolkit/compat";var s=(e,t)=>{if(e?.objects)for(let o of e.objects){if(t(o)===!0)break;s(o,t)}},k=a.model("Font",{fontFamily:a.string,name:a.optional(a.string,""),url:a.optional(a.string,""),img:a.optional(a.string,""),styles:a.frozen()}).preProcessSnapshot(e=>Object.assign(Object.assign({},e),{fontFamily:e.fontFamily||e.name})),O=a.model("Store",{name:"yitu-design",token:"",workspaceId:"",width:1080,height:1080,scale:1,scaleToFit:1,unit:"px",dpi:72,bleed:0,bleedVisible:!1,rulesVisible:!1,openedSidePanel:"",selectedElementsIds:a.array(a.string),backgroundColor:a.optional(a.union(a.string,a.frozen()),"#fff"),fonts:a.array(k),editor:a.frozen(null),custom:a.frozen(),objects:a.array(a.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(o=>e.editor?.objectsHandler.findOneById(o))}})).views(e=>({get selectedShapes(){let t=[];return s({objects:e.selectedElements},o=>{o?.type!=="group"&&t.push(o)}),t},find(t){let o,i=e.editor?.customCanvas.canvas.getObjects();if(i)return s({objects:i},r=>{if(!o&&t(r))return o=r,!0}),o},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,o){e.backgroundColor=t,e.editor?.workareaHandler.setWorkareaBgColor(t,o)},set(t,o){e.editor?.objectsHandler.update(t,o?.id)},setUnit({unit:t,dpi:o}){e.unit=t||e.unit,e.dpi=o||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(o=>{e.editor?.objectsHandler.remove(o)})},setScale(t){e.scale=t},clone(){e.editor?.objectsHandler.clone()},addElement(t,o){return console.log("\u6DFB\u52A0json\u6570\u636E",t),e.editor?.objectsHandler.addJson(t,o)},setSize({width:t,height:o}){e.width=t,e.height=o,e.editor?.workareaHandler.setSize({width:t,height:o})},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,o){if(!e.editor)return;let i=e.editor.layerHandler.getEffectiveLayers(),r=t.map(n=>({id:n,index:i.findIndex(d=>d.id===n)}));r.sort((n,d)=>d.index-n.index);for(let{index:n}of r){if(n==-1)continue;let d=n<i.length-1&&i[n+1],c=t.indexOf(d?.id)>=0;n===i.length-1||c||o(n)}},_forEachElementDown(t,o){if(!e.editor)return;let i=e.editor.layerHandler.getEffectiveLayers(),r=t.map(n=>({id:n,index:i.findIndex(d=>d.id===n)}));r.sort((n,d)=>d.index-n.index);for(let{index:n}of r){if(n==-1)continue;let d=n>0&&i[n-1],c=t.indexOf(d?.id)>=0;n===0||c||o(n)}return!1}})).actions(e=>({canMoveElementsUp(t){let o=!1;return e._forEachElementUp(t,()=>{o=!0}),o},moveElementsUp(t){if(!e.editor)return;let o=e.editor.layerHandler.getEffectiveLayers();[...t].map(r=>({id:r,index:o.findIndex(n=>n.id===r)})).filter(r=>r.index!==-1).sort((r,n)=>n.index-r.index).map(r=>r.id).forEach(r=>{e.editor?.layerHandler.bringForward(r)}),e._triggerUpdate()},canMoveElementsTop(t){return this.canMoveElementsUp(t)},moveElementsTop(t){e.editor&&(t.forEach(o=>{e.editor?.layerHandler.bringToFront(o)}),e._triggerUpdate())},canMoveElementsDown(t){let o=!1;return e._forEachElementDown(t,()=>{o=!0}),o},moveElementsDown(t){if(!e.editor)return;let o=e.editor.layerHandler.getEffectiveLayers();[...t].map(r=>({id:r,index:o.findIndex(n=>n.id===r)})).filter(r=>r.index!==-1).sort((r,n)=>r.index-n.index).map(r=>r.id).forEach(r=>{e.editor?.layerHandler.sendBackwards(r)}),e._triggerUpdate()},canMoveElementsBottom(t){return this.canMoveElementsDown(t)},moveElementsBottom(t){e.editor&&(t.forEach(o=>{e.editor?.layerHandler.sendToBack(o)}),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:o,...i}=t||{multiplier:1},r=await e.editor.rendererHandler.toBlob(i);r&&u(r,o||"yitu."+i.format)},toJSON(){return e.editor?.rendererHandler.toJSON()},toObject(){return e.editor?.rendererHandler.toObject()},loadJSON:f(function*(t){if(!e.editor)return;let o=yield e.editor.sceneHandler.importFromJSON(t);o&&(e.width=o.width,e.height=o.height,e.backgroundColor=o.fill)}),clear(){}})).actions(e=>({removeFont(t){e.fonts.filter(o=>o.fontFamily===t).forEach(o=>{h(o)})},addFont(t){this.removeFont(t.fontFamily),e.fonts.push(t),this.loadFont(t.fontFamily)},async loadFont(t){let o=e.fonts.find(n=>n.fontFamily===t)||l.find(n=>n.fontFamily===t),r=[{fontStyle:"normal",fontWeight:"normal"},{fontStyle:"normal",fontWeight:"bold"}];return o?(o.styles&&(r=o.styles.map(n=>({fontStyle:n.fontStyle||"normal",fontWeight:n.fontWeight||"normal"}))),m(o)):p(t),Promise.all(r.map(n=>g(t,n.fontStyle,n.fontWeight)))}})).actions(e=>({on(t,o){if(t==="change"){let i=E(e.objects);return x(e.objects,r=>{let n=r;F(i,n)||(i=n,o(n))})}}})),y=j({token:"",workspaceId:""}),T=()=>S(y);function w({key:e,token:t,workspaceId:o}){return y={token:t??"",workspaceId:o??""},O.create({_key:e,token:t??"",workspaceId:o??""})}var z=w;export{s as a,k as b,O as c,T as d,w as e,z as f};