geoiq-frontend-ui-kit 2.0.3 → 2.0.4

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 (505) hide show
  1. package/dist/components/atoms/accordion/accordion.d.ts +1 -2
  2. package/dist/components/atoms/accordion/accordion.d.ts.map +1 -1
  3. package/dist/components/atoms/avatar/avatar.d.ts +1 -2
  4. package/dist/components/atoms/avatar/avatar.d.ts.map +1 -1
  5. package/dist/components/atoms/badge/badge.d.ts +2 -2
  6. package/dist/components/atoms/badge/badge.d.ts.map +1 -1
  7. package/dist/components/atoms/skeleton/skeleton.d.ts +1 -1
  8. package/dist/components/atoms/skeleton/skeleton.d.ts.map +1 -1
  9. package/dist/components/atoms/tooltip/tooltip.d.ts +2 -2
  10. package/dist/components/atoms/tooltip/tooltip.d.ts.map +1 -1
  11. package/dist/components/molecules/breadcrumb/breadcrumb-components.d.ts +2 -2
  12. package/dist/components/molecules/breadcrumb/breadcrumb.d.ts +1 -2
  13. package/dist/components/molecules/breadcrumb/breadcrumb.d.ts.map +1 -1
  14. package/dist/components/molecules/creatable-multi-combobox/creatable-multi-combobox.d.ts +1 -2
  15. package/dist/components/molecules/creatable-multi-combobox/creatable-multi-combobox.d.ts.map +1 -1
  16. package/dist/components/molecules/dropdown-menu/dropdown-menu-components.d.ts +1 -1
  17. package/dist/components/molecules/dropdown-menu/dropdown-menu.d.ts +1 -2
  18. package/dist/components/molecules/dropdown-menu/dropdown-menu.d.ts.map +1 -1
  19. package/dist/components/molecules/multi-combobox/index.d.ts +2 -2
  20. package/dist/components/molecules/multi-combobox/index.d.ts.map +1 -1
  21. package/dist/components/molecules/multi-select/index.d.ts +2 -2
  22. package/dist/components/molecules/multi-select/index.d.ts.map +1 -1
  23. package/dist/components/molecules/pagination/pagination-components.d.ts +4 -4
  24. package/dist/components/molecules/single-combobox/single-combobox.d.ts +2 -2
  25. package/dist/components/molecules/single-combobox/single-combobox.d.ts.map +1 -1
  26. package/dist/components/molecules/stepper/stepper-components.d.ts +1 -1
  27. package/dist/components/molecules/stepper/stepper-components.d.ts.map +1 -1
  28. package/dist/components/molecules/stepper/stepper.d.ts +1 -2
  29. package/dist/components/molecules/stepper/stepper.d.ts.map +1 -1
  30. package/dist/components/molecules/stepper/stepper.mock.d.ts +2 -2
  31. package/dist/components/molecules/stepper/stepper.mock.d.ts.map +1 -1
  32. package/dist/components/molecules/swatch-grid/swatch-grid.d.ts +1 -2
  33. package/dist/components/molecules/swatch-grid/swatch-grid.d.ts.map +1 -1
  34. package/dist/components/molecules/toast/assets/svgs/danger-icon.d.ts +1 -3
  35. package/dist/components/molecules/toast/assets/svgs/danger-icon.d.ts.map +1 -1
  36. package/dist/components/molecules/toast/assets/svgs/info-icon.d.ts +1 -3
  37. package/dist/components/molecules/toast/assets/svgs/info-icon.d.ts.map +1 -1
  38. package/dist/components/molecules/toast/assets/svgs/success-icon.d.ts +1 -3
  39. package/dist/components/molecules/toast/assets/svgs/success-icon.d.ts.map +1 -1
  40. package/dist/components/molecules/toast/assets/svgs/warning-icon.d.ts +1 -3
  41. package/dist/components/molecules/toast/assets/svgs/warning-icon.d.ts.map +1 -1
  42. package/dist/components/molecules/toast/toast-components.d.ts +1 -1
  43. package/dist/components/molecules/toast/toast.d.ts +1 -2
  44. package/dist/components/molecules/toast/toast.d.ts.map +1 -1
  45. package/dist/components/molecules/toggle-multi-select/index.d.ts +2 -2
  46. package/dist/components/molecules/toggle-multi-select/index.d.ts.map +1 -1
  47. package/dist/components/organisms/alert-dialog/alert-dialog-components.d.ts +2 -2
  48. package/dist/components/organisms/alert-dialog/alert-dialog.d.ts +1 -2
  49. package/dist/components/organisms/alert-dialog/alert-dialog.d.ts.map +1 -1
  50. package/dist/components/organisms/dialog/dialog-components.d.ts +2 -2
  51. package/dist/components/organisms/dialog/dialog.d.ts +1 -2
  52. package/dist/components/organisms/dialog/dialog.d.ts.map +1 -1
  53. package/dist/components/organisms/image-editor/components/color-picker.d.ts +1 -3
  54. package/dist/components/organisms/image-editor/components/color-picker.d.ts.map +1 -1
  55. package/dist/components/organisms/image-editor/components/layers-list.d.ts +1 -2
  56. package/dist/components/organisms/image-editor/components/layers-list.d.ts.map +1 -1
  57. package/dist/components/organisms/image-editor/components/line-session-bar.d.ts +20 -0
  58. package/dist/components/organisms/image-editor/components/line-session-bar.d.ts.map +1 -0
  59. package/dist/components/organisms/image-editor/components/panel-adjust.d.ts +1 -2
  60. package/dist/components/organisms/image-editor/components/panel-adjust.d.ts.map +1 -1
  61. package/dist/components/organisms/image-editor/components/panel-crop.d.ts +1 -2
  62. package/dist/components/organisms/image-editor/components/panel-crop.d.ts.map +1 -1
  63. package/dist/components/organisms/image-editor/components/panel-insert.d.ts +1 -2
  64. package/dist/components/organisms/image-editor/components/panel-insert.d.ts.map +1 -1
  65. package/dist/components/organisms/image-editor/components/panel-selected.d.ts +1 -2
  66. package/dist/components/organisms/image-editor/components/panel-selected.d.ts.map +1 -1
  67. package/dist/components/organisms/image-editor/components/panel.d.ts +1 -2
  68. package/dist/components/organisms/image-editor/components/panel.d.ts.map +1 -1
  69. package/dist/components/organisms/image-editor/components/ribbon.d.ts +1 -2
  70. package/dist/components/organisms/image-editor/components/ribbon.d.ts.map +1 -1
  71. package/dist/components/organisms/image-editor/components/saved-layers-list.d.ts +9 -0
  72. package/dist/components/organisms/image-editor/components/saved-layers-list.d.ts.map +1 -0
  73. package/dist/components/organisms/image-editor/components/status-bar.d.ts +1 -2
  74. package/dist/components/organisms/image-editor/components/status-bar.d.ts.map +1 -1
  75. package/dist/components/organisms/image-editor/image-editor-modal.d.ts +1 -2
  76. package/dist/components/organisms/image-editor/image-editor-modal.d.ts.map +1 -1
  77. package/dist/components/organisms/image-editor/image-editor.types.d.ts +73 -0
  78. package/dist/components/organisms/image-editor/image-editor.types.d.ts.map +1 -1
  79. package/dist/components/organisms/image-editor/use-image-editor.d.ts.map +1 -1
  80. package/dist/components/organisms/sheet/sheet-components.d.ts +2 -2
  81. package/dist/components/organisms/sheet/sheet.d.ts +1 -2
  82. package/dist/components/organisms/sheet/sheet.d.ts.map +1 -1
  83. package/dist/components/organisms/sidebar/sidebar.d.ts +1 -2
  84. package/dist/components/organisms/sidebar/sidebar.d.ts.map +1 -1
  85. package/dist/components/ui/agent-snippet-view/agent-snippet-view.d.ts +1 -1
  86. package/dist/components/ui/agent-snippet-view/agent-snippet-view.d.ts.map +1 -1
  87. package/dist/components/ui/map-marker-hover-card/components/map-cluster-hover-card.d.ts +1 -2
  88. package/dist/components/ui/map-marker-hover-card/components/map-cluster-hover-card.d.ts.map +1 -1
  89. package/dist/components/ui/map-marker-hover-card/components/map-point-hover-card.d.ts +1 -2
  90. package/dist/components/ui/map-marker-hover-card/components/map-point-hover-card.d.ts.map +1 -1
  91. package/dist/components/ui/map-marker-hover-card/map-marker-hover-card.d.ts +1 -2
  92. package/dist/components/ui/map-marker-hover-card/map-marker-hover-card.d.ts.map +1 -1
  93. package/dist/components/ui/star-score/star-score.d.ts +1 -2
  94. package/dist/components/ui/star-score/star-score.d.ts.map +1 -1
  95. package/dist/components/unstyled/calendar/calendar.d.ts +1 -1
  96. package/dist/components/unstyled/calendar/calendar.d.ts.map +1 -1
  97. package/dist/components/unstyled/command/index.d.ts +2 -2
  98. package/dist/components/unstyled/command/index.d.ts.map +1 -1
  99. package/dist/components/unstyled/date-picker/date-picker.d.ts +2 -2
  100. package/dist/components/unstyled/date-picker/date-picker.d.ts.map +1 -1
  101. package/dist/components/unstyled/hover-card/hover-card.d.ts +1 -2
  102. package/dist/components/unstyled/hover-card/hover-card.d.ts.map +1 -1
  103. package/dist/components/unstyled/popover/popover.d.ts +1 -2
  104. package/dist/components/unstyled/popover/popover.d.ts.map +1 -1
  105. package/dist/components/unstyled/table/table.d.ts +2 -2
  106. package/dist/components/unstyled/table/table.d.ts.map +1 -1
  107. package/dist/index.es.js +88 -88
  108. package/dist/{index10.es.js → index.es10.js} +3 -3
  109. package/dist/{index10.es.js.map → index.es10.js.map} +1 -1
  110. package/dist/index.es100.js +152 -0
  111. package/dist/index.es100.js.map +1 -0
  112. package/dist/{index101.es.js → index.es101.js} +1 -1
  113. package/dist/{index101.es.js.map → index.es101.js.map} +1 -1
  114. package/dist/{index136.es.js → index.es102.js} +1 -1
  115. package/dist/{index136.es.js.map → index.es102.js.map} +1 -1
  116. package/dist/{index133.es.js → index.es103.js} +1 -1
  117. package/dist/{index133.es.js.map → index.es103.js.map} +1 -1
  118. package/dist/{index134.es.js → index.es104.js} +1 -1
  119. package/dist/{index134.es.js.map → index.es104.js.map} +1 -1
  120. package/dist/{index135.es.js → index.es105.js} +3 -3
  121. package/dist/{index135.es.js.map → index.es105.js.map} +1 -1
  122. package/dist/{index97.es.js → index.es106.js} +1 -1
  123. package/dist/index.es106.js.map +1 -0
  124. package/dist/{index107.es.js → index.es107.js} +5 -5
  125. package/dist/{index107.es.js.map → index.es107.js.map} +1 -1
  126. package/dist/{index99.es.js → index.es108.js} +1 -1
  127. package/dist/index.es108.js.map +1 -0
  128. package/dist/{index103.es.js → index.es109.js} +2 -2
  129. package/dist/{index103.es.js.map → index.es109.js.map} +1 -1
  130. package/dist/{index11.es.js → index.es11.js} +4 -4
  131. package/dist/{index11.es.js.map → index.es11.js.map} +1 -1
  132. package/dist/{index115.es.js → index.es110.js} +2 -2
  133. package/dist/{index115.es.js.map → index.es110.js.map} +1 -1
  134. package/dist/{index116.es.js → index.es111.js} +6 -6
  135. package/dist/{index116.es.js.map → index.es111.js.map} +1 -1
  136. package/dist/{index98.es.js → index.es112.js} +1 -1
  137. package/dist/index.es112.js.map +1 -0
  138. package/dist/{index106.es.js → index.es113.js} +1 -1
  139. package/dist/{index106.es.js.map → index.es113.js.map} +1 -1
  140. package/dist/{index132.es.js → index.es114.js} +3 -3
  141. package/dist/{index132.es.js.map → index.es114.js.map} +1 -1
  142. package/dist/{index130.es.js → index.es115.js} +3 -3
  143. package/dist/{index130.es.js.map → index.es115.js.map} +1 -1
  144. package/dist/{index128.es.js → index.es116.js} +1 -1
  145. package/dist/{index128.es.js.map → index.es116.js.map} +1 -1
  146. package/dist/{index129.es.js → index.es117.js} +5 -5
  147. package/dist/{index129.es.js.map → index.es117.js.map} +1 -1
  148. package/dist/{index108.es.js → index.es118.js} +1 -1
  149. package/dist/{index108.es.js.map → index.es118.js.map} +1 -1
  150. package/dist/{index105.es.js → index.es119.js} +1 -1
  151. package/dist/{index105.es.js.map → index.es119.js.map} +1 -1
  152. package/dist/{index12.es.js → index.es12.js} +3 -3
  153. package/dist/{index12.es.js.map → index.es12.js.map} +1 -1
  154. package/dist/{index121.es.js → index.es120.js} +4 -4
  155. package/dist/{index121.es.js.map → index.es120.js.map} +1 -1
  156. package/dist/{index122.es.js → index.es121.js} +3 -3
  157. package/dist/{index122.es.js.map → index.es121.js.map} +1 -1
  158. package/dist/{index123.es.js → index.es122.js} +3 -3
  159. package/dist/{index123.es.js.map → index.es122.js.map} +1 -1
  160. package/dist/{index124.es.js → index.es123.js} +3 -3
  161. package/dist/{index124.es.js.map → index.es123.js.map} +1 -1
  162. package/dist/{index125.es.js → index.es124.js} +10 -10
  163. package/dist/{index125.es.js.map → index.es124.js.map} +1 -1
  164. package/dist/{index126.es.js → index.es125.js} +10 -10
  165. package/dist/{index126.es.js.map → index.es125.js.map} +1 -1
  166. package/dist/{index127.es.js → index.es126.js} +5 -5
  167. package/dist/{index127.es.js.map → index.es126.js.map} +1 -1
  168. package/dist/{index110.es.js → index.es127.js} +4 -4
  169. package/dist/{index110.es.js.map → index.es127.js.map} +1 -1
  170. package/dist/{index111.es.js → index.es128.js} +4 -4
  171. package/dist/{index111.es.js.map → index.es128.js.map} +1 -1
  172. package/dist/{index112.es.js → index.es129.js} +5 -5
  173. package/dist/{index112.es.js.map → index.es129.js.map} +1 -1
  174. package/dist/{index13.es.js → index.es13.js} +3 -3
  175. package/dist/{index13.es.js.map → index.es13.js.map} +1 -1
  176. package/dist/{index113.es.js → index.es130.js} +2 -2
  177. package/dist/{index113.es.js.map → index.es130.js.map} +1 -1
  178. package/dist/{index114.es.js → index.es131.js} +3 -3
  179. package/dist/{index114.es.js.map → index.es131.js.map} +1 -1
  180. package/dist/{index109.es.js → index.es132.js} +1 -1
  181. package/dist/{index109.es.js.map → index.es132.js.map} +1 -1
  182. package/dist/{index100.es.js → index.es133.js} +1 -1
  183. package/dist/{index100.es.js.map → index.es133.js.map} +1 -1
  184. package/dist/{index102.es.js → index.es134.js} +2 -2
  185. package/dist/{index102.es.js.map → index.es134.js.map} +1 -1
  186. package/dist/{index104.es.js → index.es135.js} +1 -1
  187. package/dist/{index104.es.js.map → index.es135.js.map} +1 -1
  188. package/dist/{index131.es.js → index.es136.js} +5 -5
  189. package/dist/{index131.es.js.map → index.es136.js.map} +1 -1
  190. package/dist/{index143.es.js → index.es137.js} +1 -1
  191. package/dist/{index143.es.js.map → index.es137.js.map} +1 -1
  192. package/dist/{index144.es.js → index.es138.js} +12 -11
  193. package/dist/index.es138.js.map +1 -0
  194. package/dist/{index145.es.js → index.es139.js} +3 -3
  195. package/dist/{index145.es.js.map → index.es139.js.map} +1 -1
  196. package/dist/{index14.es.js → index.es14.js} +2 -2
  197. package/dist/{index14.es.js.map → index.es14.js.map} +1 -1
  198. package/dist/{index146.es.js → index.es140.js} +2 -2
  199. package/dist/{index146.es.js.map → index.es140.js.map} +1 -1
  200. package/dist/index.es141.js +77 -0
  201. package/dist/index.es141.js.map +1 -0
  202. package/dist/{index147.es.js → index.es142.js} +1 -1
  203. package/dist/{index147.es.js.map → index.es142.js.map} +1 -1
  204. package/dist/{index148.es.js → index.es143.js} +1 -1
  205. package/dist/{index148.es.js.map → index.es143.js.map} +1 -1
  206. package/dist/{index149.es.js → index.es144.js} +10 -7
  207. package/dist/index.es144.js.map +1 -0
  208. package/dist/index.es145.js +408 -0
  209. package/dist/index.es145.js.map +1 -0
  210. package/dist/{index151.es.js → index.es146.js} +16 -12
  211. package/dist/index.es146.js.map +1 -0
  212. package/dist/{index152.es.js → index.es147.js} +5 -5
  213. package/dist/{index152.es.js.map → index.es147.js.map} +1 -1
  214. package/dist/{index153.es.js → index.es148.js} +17 -16
  215. package/dist/index.es148.js.map +1 -0
  216. package/dist/{index154.es.js → index.es149.js} +2 -2
  217. package/dist/{index154.es.js.map → index.es149.js.map} +1 -1
  218. package/dist/{index15.es.js → index.es15.js} +3 -3
  219. package/dist/{index15.es.js.map → index.es15.js.map} +1 -1
  220. package/dist/{index155.es.js → index.es150.js} +4 -4
  221. package/dist/{index155.es.js.map → index.es150.js.map} +1 -1
  222. package/dist/index.es151.js +215 -0
  223. package/dist/index.es151.js.map +1 -0
  224. package/dist/{index157.es.js → index.es152.js} +5 -5
  225. package/dist/{index157.es.js.map → index.es152.js.map} +1 -1
  226. package/dist/index.es153.js +147 -0
  227. package/dist/index.es153.js.map +1 -0
  228. package/dist/index.es154.js +50 -0
  229. package/dist/index.es154.js.map +1 -0
  230. package/dist/index.es155.js +358 -0
  231. package/dist/index.es155.js.map +1 -0
  232. package/dist/{index137.es.js → index.es156.js} +2 -2
  233. package/dist/{index137.es.js.map → index.es156.js.map} +1 -1
  234. package/dist/{index138.es.js → index.es157.js} +1 -1
  235. package/dist/{index138.es.js.map → index.es157.js.map} +1 -1
  236. package/dist/{index159.es.js → index.es158.js} +1 -1
  237. package/dist/{index159.es.js.map → index.es158.js.map} +1 -1
  238. package/dist/{index139.es.js → index.es159.js} +3 -3
  239. package/dist/{index139.es.js.map → index.es159.js.map} +1 -1
  240. package/dist/{index16.es.js → index.es16.js} +8 -8
  241. package/dist/{index16.es.js.map → index.es16.js.map} +1 -1
  242. package/dist/{index140.es.js → index.es160.js} +1 -1
  243. package/dist/{index140.es.js.map → index.es160.js.map} +1 -1
  244. package/dist/{index141.es.js → index.es161.js} +1 -1
  245. package/dist/{index141.es.js.map → index.es161.js.map} +1 -1
  246. package/dist/{index142.es.js → index.es162.js} +1 -1
  247. package/dist/{index142.es.js.map → index.es162.js.map} +1 -1
  248. package/dist/{index160.es.js → index.es163.js} +1 -1
  249. package/dist/{index160.es.js.map → index.es163.js.map} +1 -1
  250. package/dist/{index161.es.js → index.es164.js} +1 -1
  251. package/dist/{index161.es.js.map → index.es164.js.map} +1 -1
  252. package/dist/{index162.es.js → index.es165.js} +1 -1
  253. package/dist/{index162.es.js.map → index.es165.js.map} +1 -1
  254. package/dist/{index164.es.js → index.es166.js} +2 -2
  255. package/dist/{index164.es.js.map → index.es166.js.map} +1 -1
  256. package/dist/{index165.es.js → index.es167.js} +2 -2
  257. package/dist/{index165.es.js.map → index.es167.js.map} +1 -1
  258. package/dist/{index166.es.js → index.es168.js} +4 -4
  259. package/dist/{index166.es.js.map → index.es168.js.map} +1 -1
  260. package/dist/{index167.es.js → index.es169.js} +4 -4
  261. package/dist/{index167.es.js.map → index.es169.js.map} +1 -1
  262. package/dist/{index17.es.js → index.es17.js} +3 -3
  263. package/dist/{index17.es.js.map → index.es17.js.map} +1 -1
  264. package/dist/index.es170.js +101 -0
  265. package/dist/index.es170.js.map +1 -0
  266. package/dist/index.es171.js +259 -0
  267. package/dist/index.es171.js.map +1 -0
  268. package/dist/index.es172.js +66 -0
  269. package/dist/index.es172.js.map +1 -0
  270. package/dist/{index170.es.js → index.es173.js} +19 -19
  271. package/dist/{index170.es.js.map → index.es173.js.map} +1 -1
  272. package/dist/{index171.es.js → index.es174.js} +4 -4
  273. package/dist/{index171.es.js.map → index.es174.js.map} +1 -1
  274. package/dist/{index172.es.js → index.es175.js} +2 -2
  275. package/dist/{index172.es.js.map → index.es175.js.map} +1 -1
  276. package/dist/{index180.es.js → index.es176.js} +1 -1
  277. package/dist/{index180.es.js.map → index.es176.js.map} +1 -1
  278. package/dist/{index181.es.js → index.es177.js} +2 -2
  279. package/dist/{index181.es.js.map → index.es177.js.map} +1 -1
  280. package/dist/{index173.es.js → index.es178.js} +6 -6
  281. package/dist/{index173.es.js.map → index.es178.js.map} +1 -1
  282. package/dist/{index174.es.js → index.es179.js} +16 -17
  283. package/dist/{index174.es.js.map → index.es179.js.map} +1 -1
  284. package/dist/{index18.es.js → index.es18.js} +2 -2
  285. package/dist/{index18.es.js.map → index.es18.js.map} +1 -1
  286. package/dist/{index175.es.js → index.es180.js} +26 -27
  287. package/dist/{index175.es.js.map → index.es180.js.map} +1 -1
  288. package/dist/{index176.es.js → index.es181.js} +12 -13
  289. package/dist/{index176.es.js.map → index.es181.js.map} +1 -1
  290. package/dist/{index177.es.js → index.es182.js} +5 -5
  291. package/dist/{index177.es.js.map → index.es182.js.map} +1 -1
  292. package/dist/{index178.es.js → index.es183.js} +26 -27
  293. package/dist/{index178.es.js.map → index.es183.js.map} +1 -1
  294. package/dist/{index179.es.js → index.es184.js} +29 -30
  295. package/dist/{index179.es.js.map → index.es184.js.map} +1 -1
  296. package/dist/{index182.es.js → index.es185.js} +1 -1
  297. package/dist/{index182.es.js.map → index.es185.js.map} +1 -1
  298. package/dist/{index19.es.js → index.es19.js} +4 -4
  299. package/dist/{index19.es.js.map → index.es19.js.map} +1 -1
  300. package/dist/{index2.es.js → index.es2.js} +5 -5
  301. package/dist/{index2.es.js.map → index.es2.js.map} +1 -1
  302. package/dist/{index20.es.js → index.es20.js} +5 -5
  303. package/dist/{index20.es.js.map → index.es20.js.map} +1 -1
  304. package/dist/{index21.es.js → index.es21.js} +6 -6
  305. package/dist/{index21.es.js.map → index.es21.js.map} +1 -1
  306. package/dist/{index22.es.js → index.es22.js} +2 -2
  307. package/dist/{index22.es.js.map → index.es22.js.map} +1 -1
  308. package/dist/{index23.es.js → index.es23.js} +7 -7
  309. package/dist/{index23.es.js.map → index.es23.js.map} +1 -1
  310. package/dist/{index24.es.js → index.es24.js} +7 -7
  311. package/dist/{index24.es.js.map → index.es24.js.map} +1 -1
  312. package/dist/{index25.es.js → index.es25.js} +3 -3
  313. package/dist/{index25.es.js.map → index.es25.js.map} +1 -1
  314. package/dist/{index26.es.js → index.es26.js} +2 -2
  315. package/dist/{index26.es.js.map → index.es26.js.map} +1 -1
  316. package/dist/{index27.es.js → index.es27.js} +7 -7
  317. package/dist/{index27.es.js.map → index.es27.js.map} +1 -1
  318. package/dist/{index28.es.js → index.es28.js} +9 -9
  319. package/dist/{index28.es.js.map → index.es28.js.map} +1 -1
  320. package/dist/{index29.es.js → index.es29.js} +5 -5
  321. package/dist/{index29.es.js.map → index.es29.js.map} +1 -1
  322. package/dist/{index3.es.js → index.es3.js} +3 -3
  323. package/dist/{index3.es.js.map → index.es3.js.map} +1 -1
  324. package/dist/{index30.es.js → index.es30.js} +3 -3
  325. package/dist/{index30.es.js.map → index.es30.js.map} +1 -1
  326. package/dist/{index31.es.js → index.es31.js} +1 -1
  327. package/dist/{index31.es.js.map → index.es31.js.map} +1 -1
  328. package/dist/{index32.es.js → index.es32.js} +2 -2
  329. package/dist/{index32.es.js.map → index.es32.js.map} +1 -1
  330. package/dist/{index33.es.js → index.es33.js} +3 -3
  331. package/dist/{index33.es.js.map → index.es33.js.map} +1 -1
  332. package/dist/{index34.es.js → index.es34.js} +5 -5
  333. package/dist/{index34.es.js.map → index.es34.js.map} +1 -1
  334. package/dist/{index35.es.js → index.es35.js} +6 -6
  335. package/dist/{index35.es.js.map → index.es35.js.map} +1 -1
  336. package/dist/{index36.es.js → index.es36.js} +5 -5
  337. package/dist/{index36.es.js.map → index.es36.js.map} +1 -1
  338. package/dist/{index37.es.js → index.es37.js} +6 -6
  339. package/dist/{index37.es.js.map → index.es37.js.map} +1 -1
  340. package/dist/{index38.es.js → index.es38.js} +2 -2
  341. package/dist/{index38.es.js.map → index.es38.js.map} +1 -1
  342. package/dist/{index39.es.js → index.es39.js} +3 -3
  343. package/dist/{index39.es.js.map → index.es39.js.map} +1 -1
  344. package/dist/{index4.es.js → index.es4.js} +2 -2
  345. package/dist/{index4.es.js.map → index.es4.js.map} +1 -1
  346. package/dist/{index40.es.js → index.es40.js} +4 -4
  347. package/dist/{index40.es.js.map → index.es40.js.map} +1 -1
  348. package/dist/{index41.es.js → index.es41.js} +5 -5
  349. package/dist/{index41.es.js.map → index.es41.js.map} +1 -1
  350. package/dist/{index42.es.js → index.es42.js} +4 -4
  351. package/dist/{index42.es.js.map → index.es42.js.map} +1 -1
  352. package/dist/{index43.es.js → index.es43.js} +2 -2
  353. package/dist/{index43.es.js.map → index.es43.js.map} +1 -1
  354. package/dist/{index44.es.js → index.es44.js} +2 -2
  355. package/dist/{index44.es.js.map → index.es44.js.map} +1 -1
  356. package/dist/index.es45.js +69 -0
  357. package/dist/index.es45.js.map +1 -0
  358. package/dist/{index46.es.js → index.es46.js} +9 -9
  359. package/dist/{index46.es.js.map → index.es46.js.map} +1 -1
  360. package/dist/{index47.es.js → index.es47.js} +7 -7
  361. package/dist/{index47.es.js.map → index.es47.js.map} +1 -1
  362. package/dist/{index48.es.js → index.es48.js} +10 -10
  363. package/dist/{index48.es.js.map → index.es48.js.map} +1 -1
  364. package/dist/{index49.es.js → index.es49.js} +2 -2
  365. package/dist/{index49.es.js.map → index.es49.js.map} +1 -1
  366. package/dist/{index5.es.js → index.es5.js} +2 -2
  367. package/dist/{index5.es.js.map → index.es5.js.map} +1 -1
  368. package/dist/{index50.es.js → index.es50.js} +1 -1
  369. package/dist/{index50.es.js.map → index.es50.js.map} +1 -1
  370. package/dist/{index51.es.js → index.es51.js} +2 -2
  371. package/dist/{index51.es.js.map → index.es51.js.map} +1 -1
  372. package/dist/{index52.es.js → index.es52.js} +3 -3
  373. package/dist/{index52.es.js.map → index.es52.js.map} +1 -1
  374. package/dist/{index53.es.js → index.es53.js} +7 -7
  375. package/dist/{index53.es.js.map → index.es53.js.map} +1 -1
  376. package/dist/{index54.es.js → index.es54.js} +4 -4
  377. package/dist/{index54.es.js.map → index.es54.js.map} +1 -1
  378. package/dist/{index55.es.js → index.es55.js} +5 -5
  379. package/dist/{index55.es.js.map → index.es55.js.map} +1 -1
  380. package/dist/{index56.es.js → index.es56.js} +3 -3
  381. package/dist/{index56.es.js.map → index.es56.js.map} +1 -1
  382. package/dist/{index57.es.js → index.es57.js} +9 -9
  383. package/dist/{index57.es.js.map → index.es57.js.map} +1 -1
  384. package/dist/{index58.es.js → index.es58.js} +3 -4
  385. package/dist/{index58.es.js.map → index.es58.js.map} +1 -1
  386. package/dist/{index59.es.js → index.es59.js} +2 -2
  387. package/dist/{index59.es.js.map → index.es59.js.map} +1 -1
  388. package/dist/{index6.es.js → index.es6.js} +2 -2
  389. package/dist/{index6.es.js.map → index.es6.js.map} +1 -1
  390. package/dist/{index60.es.js → index.es60.js} +3 -3
  391. package/dist/{index60.es.js.map → index.es60.js.map} +1 -1
  392. package/dist/{index61.es.js → index.es61.js} +2 -2
  393. package/dist/{index61.es.js.map → index.es61.js.map} +1 -1
  394. package/dist/{index62.es.js → index.es62.js} +2 -2
  395. package/dist/{index62.es.js.map → index.es62.js.map} +1 -1
  396. package/dist/{index63.es.js → index.es63.js} +2 -2
  397. package/dist/{index63.es.js.map → index.es63.js.map} +1 -1
  398. package/dist/{index64.es.js → index.es64.js} +3 -3
  399. package/dist/{index64.es.js.map → index.es64.js.map} +1 -1
  400. package/dist/{index65.es.js → index.es65.js} +3 -3
  401. package/dist/{index65.es.js.map → index.es65.js.map} +1 -1
  402. package/dist/{index66.es.js → index.es66.js} +2 -2
  403. package/dist/{index66.es.js.map → index.es66.js.map} +1 -1
  404. package/dist/{index67.es.js → index.es67.js} +3 -3
  405. package/dist/{index67.es.js.map → index.es67.js.map} +1 -1
  406. package/dist/{index68.es.js → index.es68.js} +3 -3
  407. package/dist/{index68.es.js.map → index.es68.js.map} +1 -1
  408. package/dist/{index69.es.js → index.es69.js} +6 -6
  409. package/dist/{index69.es.js.map → index.es69.js.map} +1 -1
  410. package/dist/{index7.es.js → index.es7.js} +2 -2
  411. package/dist/{index7.es.js.map → index.es7.js.map} +1 -1
  412. package/dist/{index70.es.js → index.es70.js} +6 -6
  413. package/dist/{index70.es.js.map → index.es70.js.map} +1 -1
  414. package/dist/{index71.es.js → index.es71.js} +4 -4
  415. package/dist/{index71.es.js.map → index.es71.js.map} +1 -1
  416. package/dist/{index72.es.js → index.es72.js} +8 -8
  417. package/dist/{index72.es.js.map → index.es72.js.map} +1 -1
  418. package/dist/{index73.es.js → index.es73.js} +5 -5
  419. package/dist/{index73.es.js.map → index.es73.js.map} +1 -1
  420. package/dist/{index74.es.js → index.es74.js} +1 -1
  421. package/dist/{index74.es.js.map → index.es74.js.map} +1 -1
  422. package/dist/{index75.es.js → index.es75.js} +1 -1
  423. package/dist/{index75.es.js.map → index.es75.js.map} +1 -1
  424. package/dist/{index76.es.js → index.es76.js} +1 -1
  425. package/dist/{index76.es.js.map → index.es76.js.map} +1 -1
  426. package/dist/{index77.es.js → index.es77.js} +1 -1
  427. package/dist/{index77.es.js.map → index.es77.js.map} +1 -1
  428. package/dist/{index78.es.js → index.es78.js} +2 -2
  429. package/dist/{index78.es.js.map → index.es78.js.map} +1 -1
  430. package/dist/{index79.es.js → index.es79.js} +1 -1
  431. package/dist/{index79.es.js.map → index.es79.js.map} +1 -1
  432. package/dist/{index8.es.js → index.es8.js} +3 -3
  433. package/dist/{index8.es.js.map → index.es8.js.map} +1 -1
  434. package/dist/{index80.es.js → index.es80.js} +3 -3
  435. package/dist/{index80.es.js.map → index.es80.js.map} +1 -1
  436. package/dist/{index81.es.js → index.es81.js} +4 -4
  437. package/dist/{index81.es.js.map → index.es81.js.map} +1 -1
  438. package/dist/{index82.es.js → index.es82.js} +1 -1
  439. package/dist/{index82.es.js.map → index.es82.js.map} +1 -1
  440. package/dist/{index83.es.js → index.es83.js} +1 -1
  441. package/dist/{index83.es.js.map → index.es83.js.map} +1 -1
  442. package/dist/{index84.es.js.map → index.es84.js.map} +1 -1
  443. package/dist/{index85.es.js → index.es85.js} +2 -2
  444. package/dist/{index85.es.js.map → index.es85.js.map} +1 -1
  445. package/dist/{index86.es.js → index.es86.js} +2 -2
  446. package/dist/{index86.es.js.map → index.es86.js.map} +1 -1
  447. package/dist/{index87.es.js → index.es87.js} +1 -1
  448. package/dist/{index87.es.js.map → index.es87.js.map} +1 -1
  449. package/dist/index.es88.js +5 -0
  450. package/dist/index.es88.js.map +1 -0
  451. package/dist/{index89.es.js → index.es89.js} +1 -1
  452. package/dist/{index89.es.js.map → index.es89.js.map} +1 -1
  453. package/dist/{index9.es.js → index.es9.js} +4 -4
  454. package/dist/{index9.es.js.map → index.es9.js.map} +1 -1
  455. package/dist/{index90.es.js → index.es90.js} +2 -2
  456. package/dist/{index90.es.js.map → index.es90.js.map} +1 -1
  457. package/dist/{index91.es.js → index.es91.js} +3 -3
  458. package/dist/{index91.es.js.map → index.es91.js.map} +1 -1
  459. package/dist/{index92.es.js → index.es92.js} +1 -1
  460. package/dist/{index92.es.js.map → index.es92.js.map} +1 -1
  461. package/dist/{index93.es.js → index.es93.js} +1 -1
  462. package/dist/{index93.es.js.map → index.es93.js.map} +1 -1
  463. package/dist/{index94.es.js → index.es94.js} +1 -1
  464. package/dist/{index94.es.js.map → index.es94.js.map} +1 -1
  465. package/dist/{index95.es.js → index.es95.js} +1 -1
  466. package/dist/{index95.es.js.map → index.es95.js.map} +1 -1
  467. package/dist/{index96.es.js → index.es96.js} +1 -1
  468. package/dist/{index96.es.js.map → index.es96.js.map} +1 -1
  469. package/dist/{index117.es.js → index.es97.js} +1 -1
  470. package/dist/index.es97.js.map +1 -0
  471. package/dist/{index118.es.js → index.es98.js} +24 -23
  472. package/dist/index.es98.js.map +1 -0
  473. package/dist/{index119.es.js → index.es99.js} +1 -1
  474. package/dist/index.es99.js.map +1 -0
  475. package/dist/styles.css +72 -11
  476. package/package.json +1 -1
  477. package/dist/index117.es.js.map +0 -1
  478. package/dist/index118.es.js.map +0 -1
  479. package/dist/index119.es.js.map +0 -1
  480. package/dist/index120.es.js +0 -105
  481. package/dist/index120.es.js.map +0 -1
  482. package/dist/index144.es.js.map +0 -1
  483. package/dist/index149.es.js.map +0 -1
  484. package/dist/index150.es.js +0 -325
  485. package/dist/index150.es.js.map +0 -1
  486. package/dist/index151.es.js.map +0 -1
  487. package/dist/index153.es.js.map +0 -1
  488. package/dist/index156.es.js +0 -146
  489. package/dist/index156.es.js.map +0 -1
  490. package/dist/index158.es.js +0 -50
  491. package/dist/index158.es.js.map +0 -1
  492. package/dist/index163.es.js +0 -216
  493. package/dist/index163.es.js.map +0 -1
  494. package/dist/index168.es.js +0 -94
  495. package/dist/index168.es.js.map +0 -1
  496. package/dist/index169.es.js +0 -120
  497. package/dist/index169.es.js.map +0 -1
  498. package/dist/index45.es.js +0 -67
  499. package/dist/index45.es.js.map +0 -1
  500. package/dist/index88.es.js +0 -5
  501. package/dist/index88.es.js.map +0 -1
  502. package/dist/index97.es.js.map +0 -1
  503. package/dist/index98.es.js.map +0 -1
  504. package/dist/index99.es.js.map +0 -1
  505. package/dist/{index84.es.js → index.es84.js} +1 -1
@@ -0,0 +1,77 @@
1
+ import { Spline as r, CornerUpLeft as c, Check as m, X as p } from "lucide-react";
2
+ import e from "react";
3
+ function u({ ui: a, engine: t }) {
4
+ if (!a.poly?.active) return null;
5
+ const { pointCount: n, canFinish: l, canClose: i } = a.poly;
6
+ return /* @__PURE__ */ e.createElement(
7
+ "div",
8
+ {
9
+ className: "pointer-events-none absolute inset-x-0 bottom-3 z-20 flex justify-center px-3",
10
+ role: "toolbar",
11
+ "aria-label": "Multi-point line controls"
12
+ },
13
+ /* @__PURE__ */ e.createElement("div", { className: "pointer-events-auto flex max-w-full items-center gap-1 overflow-x-auto rounded-xl bg-dark-2/95 p-1.5 shadow-lg backdrop-blur" }, /* @__PURE__ */ e.createElement("span", { className: "flex shrink-0 items-center gap-1.5 px-2 text-xs font-medium text-white/70" }, /* @__PURE__ */ e.createElement(r, { className: "h-3.5 w-3.5" }), n, " ", n === 1 ? "point" : "points"), /* @__PURE__ */ e.createElement("span", { className: "h-6 w-px shrink-0 bg-white/15" }), /* @__PURE__ */ e.createElement(
14
+ o,
15
+ {
16
+ onClick: t.undoLinePoint,
17
+ icon: /* @__PURE__ */ e.createElement(c, { className: "h-4 w-4" }),
18
+ label: "Undo point"
19
+ }
20
+ ), /* @__PURE__ */ e.createElement(
21
+ o,
22
+ {
23
+ onClick: t.closeLine,
24
+ icon: /* @__PURE__ */ e.createElement(r, { className: "h-4 w-4" }),
25
+ label: "Close shape",
26
+ disabled: !i
27
+ }
28
+ ), /* @__PURE__ */ e.createElement(
29
+ o,
30
+ {
31
+ onClick: t.finishLine,
32
+ icon: /* @__PURE__ */ e.createElement(m, { className: "h-4 w-4" }),
33
+ label: "Done",
34
+ disabled: !l,
35
+ primary: !0
36
+ }
37
+ ), /* @__PURE__ */ e.createElement(
38
+ o,
39
+ {
40
+ onClick: t.cancelLine,
41
+ icon: /* @__PURE__ */ e.createElement(p, { className: "h-4 w-4" }),
42
+ label: "Cancel"
43
+ }
44
+ ))
45
+ );
46
+ }
47
+ function o({
48
+ onClick: a,
49
+ icon: t,
50
+ label: n,
51
+ disabled: l,
52
+ primary: i
53
+ }) {
54
+ return /* @__PURE__ */ e.createElement(
55
+ "button",
56
+ {
57
+ type: "button",
58
+ onPointerDown: (s) => s.stopPropagation(),
59
+ onClick: (s) => {
60
+ s.stopPropagation(), a();
61
+ },
62
+ disabled: l,
63
+ "aria-label": n,
64
+ className: [
65
+ "flex min-h-9 shrink-0 items-center gap-1.5 rounded-lg px-2.5 text-xs font-medium transition-colors",
66
+ "disabled:pointer-events-none disabled:opacity-40",
67
+ i ? "bg-rest-p1 text-white hover:bg-hover-p1" : "text-white/85 hover:bg-white/10"
68
+ ].join(" ")
69
+ },
70
+ t,
71
+ /* @__PURE__ */ e.createElement("span", { className: "hidden sm:inline" }, n)
72
+ );
73
+ }
74
+ export {
75
+ u as LineSessionBar
76
+ };
77
+ //# sourceMappingURL=index.es141.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es141.js","sources":["../src/components/organisms/image-editor/components/line-session-bar.tsx"],"sourcesContent":["import { Check, CornerUpLeft, Spline, X } from 'lucide-react'\nimport React from 'react'\n\nimport { ImageEditorEngine, ImageEditorUiState } from '../image-editor.types'\n\ninterface LineSessionBarProps {\n ui: ImageEditorUiState\n engine: ImageEditorEngine\n}\n\n/**\n * On-screen controls for a live multi-point line.\n *\n * Touch has no Shift, Backspace, Enter or Escape, double-tap is unreliable\n * (and often zooms), and there is no hover to preview with -- so on a phone\n * these buttons are the *only* way to undo a corner or finish a line. They\n * show on every device rather than only small screens, because the same\n * ambiguity (\"how do I stop drawing?\") exists with a mouse.\n *\n * Rendered over the stage, bottom-centre, clear of the toolbar and panel.\n */\nexport function LineSessionBar({ ui, engine }: LineSessionBarProps) {\n if (!ui.poly?.active) return null\n const { pointCount, canFinish, canClose } = ui.poly\n\n return (\n <div\n className=\"pointer-events-none absolute inset-x-0 bottom-3 z-20 flex justify-center px-3\"\n role=\"toolbar\"\n aria-label=\"Multi-point line controls\"\n >\n <div className=\"pointer-events-auto flex max-w-full items-center gap-1 overflow-x-auto rounded-xl bg-dark-2/95 p-1.5 shadow-lg backdrop-blur\">\n <span className=\"flex shrink-0 items-center gap-1.5 px-2 text-xs font-medium text-white/70\">\n <Spline className=\"h-3.5 w-3.5\" />\n {pointCount} {pointCount === 1 ? 'point' : 'points'}\n </span>\n\n <span className=\"h-6 w-px shrink-0 bg-white/15\" />\n\n <SessionButton\n onClick={engine.undoLinePoint}\n icon={<CornerUpLeft className=\"h-4 w-4\" />}\n label=\"Undo point\"\n />\n <SessionButton\n onClick={engine.closeLine}\n icon={<Spline className=\"h-4 w-4\" />}\n label=\"Close shape\"\n disabled={!canClose}\n />\n <SessionButton\n onClick={engine.finishLine}\n icon={<Check className=\"h-4 w-4\" />}\n label=\"Done\"\n disabled={!canFinish}\n primary\n />\n <SessionButton\n onClick={engine.cancelLine}\n icon={<X className=\"h-4 w-4\" />}\n label=\"Cancel\"\n />\n </div>\n </div>\n )\n}\n\ninterface SessionButtonProps {\n onClick: () => void\n icon: React.ReactNode\n label: string\n disabled?: boolean\n primary?: boolean\n}\n\nfunction SessionButton({\n onClick,\n icon,\n label,\n disabled,\n primary,\n}: SessionButtonProps) {\n return (\n <button\n type=\"button\"\n // Pointer events would reach the canvas underneath and place a stray\n // point, so the press is stopped here before it can bubble to the stage.\n onPointerDown={(e) => e.stopPropagation()}\n onClick={(e) => {\n e.stopPropagation()\n onClick()\n }}\n disabled={disabled}\n aria-label={label}\n className={[\n 'flex min-h-9 shrink-0 items-center gap-1.5 rounded-lg px-2.5 text-xs font-medium transition-colors',\n 'disabled:pointer-events-none disabled:opacity-40',\n primary\n ? 'bg-rest-p1 text-white hover:bg-hover-p1'\n : 'text-white/85 hover:bg-white/10',\n ].join(' ')}\n >\n {icon}\n <span className=\"hidden sm:inline\">{label}</span>\n </button>\n )\n}\n"],"names":["LineSessionBar","ui","engine","pointCount","canFinish","canClose","React","Spline","SessionButton","CornerUpLeft","Check","X","onClick","icon","label","disabled","primary","e"],"mappings":";;AAqBO,SAASA,EAAe,EAAE,IAAAC,GAAI,QAAAC,KAA+B;AAClE,MAAI,CAACD,EAAG,MAAM,OAAQ,QAAO;AAC7B,QAAM,EAAE,YAAAE,GAAY,WAAAC,GAAW,UAAAC,EAAA,IAAaJ,EAAG;AAE/C,SACEK,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,MAAK;AAAA,MACL,cAAW;AAAA,IAAA;AAAA,IAEXA,gBAAAA,EAAA,cAAC,OAAA,EAAI,WAAU,+HAAA,GACbA,gBAAAA,EAAA,cAAC,UAAK,WAAU,4EAAA,GACdA,gBAAAA,EAAA,cAACC,GAAA,EAAO,WAAU,cAAA,CAAc,GAC/BJ,GAAW,KAAEA,MAAe,IAAI,UAAU,QAC7C,GAEAG,gBAAAA,EAAA,cAAC,QAAA,EAAK,WAAU,gCAAA,CAAgC,GAEhDA,gBAAAA,EAAA;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,SAASN,EAAO;AAAA,QAChB,MAAMI,gBAAAA,EAAA,cAACG,GAAA,EAAa,WAAU,WAAU;AAAA,QACxC,OAAM;AAAA,MAAA;AAAA,IAAA,GAERH,gBAAAA,EAAA;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,SAASN,EAAO;AAAA,QAChB,MAAMI,gBAAAA,EAAA,cAACC,GAAA,EAAO,WAAU,WAAU;AAAA,QAClC,OAAM;AAAA,QACN,UAAU,CAACF;AAAA,MAAA;AAAA,IAAA,GAEbC,gBAAAA,EAAA;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,SAASN,EAAO;AAAA,QAChB,MAAMI,gBAAAA,EAAA,cAACI,GAAA,EAAM,WAAU,WAAU;AAAA,QACjC,OAAM;AAAA,QACN,UAAU,CAACN;AAAA,QACX,SAAO;AAAA,MAAA;AAAA,IAAA,GAETE,gBAAAA,EAAA;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,SAASN,EAAO;AAAA,QAChB,MAAMI,gBAAAA,EAAA,cAACK,GAAA,EAAE,WAAU,WAAU;AAAA,QAC7B,OAAM;AAAA,MAAA;AAAA,IAAA,CAEV;AAAA,EAAA;AAGN;AAUA,SAASH,EAAc;AAAA,EACrB,SAAAI;AAAA,EACA,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC;AACF,GAAuB;AACrB,SACEV,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MAGL,eAAe,CAACW,MAAMA,EAAE,gBAAA;AAAA,MACxB,SAAS,CAACA,MAAM;AACd,QAAAA,EAAE,gBAAA,GACFL,EAAA;AAAA,MACF;AAAA,MACA,UAAAG;AAAA,MACA,cAAYD;AAAA,MACZ,WAAW;AAAA,QACT;AAAA,QACA;AAAA,QACAE,IACI,4CACA;AAAA,MAAA,EACJ,KAAK,GAAG;AAAA,IAAA;AAAA,IAETH;AAAA,IACDP,gBAAAA,EAAA,cAAC,QAAA,EAAK,WAAU,mBAAA,GAAoBQ,CAAM;AAAA,EAAA;AAGhD;"}
@@ -5,4 +5,4 @@ function r({ ui: t }) {
5
5
  export {
6
6
  r as StatusBar
7
7
  };
8
- //# sourceMappingURL=index147.es.js.map
8
+ //# sourceMappingURL=index.es142.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index147.es.js","sources":["../src/components/organisms/image-editor/components/status-bar.tsx"],"sourcesContent":["import React from 'react'\n\nimport { ImageEditorUiState } from '../image-editor.types'\n\nexport function StatusBar({ ui }: { ui: ImageEditorUiState }) {\n return (\n <div className=\"flex h-[30px] shrink-0 items-center gap-4 border-t border-neutral-1 bg-light-3 px-4 text-xs text-light-4\">\n <span className=\"flex items-center gap-1.5\">\n <span className=\"inline-block h-1.5 w-1.5 rounded-full bg-rest-p1\" />\n {ui.statusText}\n </span>\n <span>{ui.dims}</span>\n </div>\n )\n}\n"],"names":["StatusBar","ui","React"],"mappings":";AAIO,SAASA,EAAU,EAAE,IAAAC,KAAkC;AAC5D,SACEC,gBAAAA,EAAA,cAAC,SAAI,WAAU,2GAAA,mCACZ,QAAA,EAAK,WAAU,+BACdA,gBAAAA,EAAA,cAAC,QAAA,EAAK,WAAU,mDAAA,CAAmD,GAClED,EAAG,UACN,mCACC,QAAA,MAAMA,EAAG,IAAK,CACjB;AAEJ;"}
1
+ {"version":3,"file":"index.es142.js","sources":["../src/components/organisms/image-editor/components/status-bar.tsx"],"sourcesContent":["import React from 'react'\n\nimport { ImageEditorUiState } from '../image-editor.types'\n\nexport function StatusBar({ ui }: { ui: ImageEditorUiState }) {\n return (\n <div className=\"flex h-[30px] shrink-0 items-center gap-4 border-t border-neutral-1 bg-light-3 px-4 text-xs text-light-4\">\n <span className=\"flex items-center gap-1.5\">\n <span className=\"inline-block h-1.5 w-1.5 rounded-full bg-rest-p1\" />\n {ui.statusText}\n </span>\n <span>{ui.dims}</span>\n </div>\n )\n}\n"],"names":["StatusBar","ui","React"],"mappings":";AAIO,SAASA,EAAU,EAAE,IAAAC,KAAkC;AAC5D,SACEC,gBAAAA,EAAA,cAAC,SAAI,WAAU,2GAAA,mCACZ,QAAA,EAAK,WAAU,+BACdA,gBAAAA,EAAA,cAAC,QAAA,EAAK,WAAU,mDAAA,CAAmD,GAClED,EAAG,UACN,mCACC,QAAA,MAAMA,EAAG,IAAK,CACjB;AAEJ;"}
@@ -56,4 +56,4 @@ export {
56
56
  n as SWATCHES,
57
57
  e as VERSION
58
58
  };
59
- //# sourceMappingURL=index148.es.js.map
59
+ //# sourceMappingURL=index.es143.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index148.es.js","sources":["../src/components/organisms/image-editor/engine/constants.js"],"sourcesContent":["export const VERSION = '1.0.0'\n\nexport const FILTERS = [\n { id: 'none', name: 'Original' },\n { id: 'grayscale', name: 'B & W' },\n { id: 'vivid', name: 'Vivid' },\n { id: 'cool', name: 'Cool' },\n { id: 'warm', name: 'Warm' },\n { id: 'vintage', name: 'Vintage' },\n { id: 'fade', name: 'Fade' },\n { id: 'noir', name: 'Noir' },\n]\nexport const FILTER_CSS = {\n none: '',\n grayscale: 'grayscale(1) contrast(1.05)',\n vivid: 'saturate(1.7) contrast(1.15)',\n cool: 'hue-rotate(200deg) saturate(1.2)',\n warm: 'sepia(.35) saturate(1.3) brightness(1.05)',\n vintage: 'sepia(.5) contrast(.9) brightness(1.05) saturate(1.2)',\n fade: 'contrast(.82) brightness(1.12) saturate(.85)',\n noir: 'grayscale(1) contrast(1.4) brightness(.92)',\n}\nexport const SWATCHES = [\n '#d24b2f',\n '#2f5fd2',\n '#e8b423',\n '#2fa84f',\n '#111111',\n '#ffffff',\n '#8e44ad',\n '#ff5da2',\n]\nexport const SHAPES = [\n { id: 'rect', name: 'Rectangle' },\n { id: 'ellipse', name: 'Ellipse' },\n { id: 'circle', name: 'Circle' },\n { id: 'line', name: 'Line' },\n { id: 'dashedLine', name: 'Dashed line' },\n { id: 'arrow', name: 'Arrow' },\n { id: 'dashedArrow', name: 'Dashed arrow' },\n { id: 'doubleArrow', name: 'Double arrow' },\n { id: 'dashedDoubleArrow', name: 'Dashed double arrow' },\n]\nexport const FONTS = [\n { label: 'Serif', value: 'Iowan Old Style, Georgia, serif' },\n { label: 'Sans', value: 'Avenir Next, Segoe UI, sans-serif' },\n { label: 'Mono', value: 'Courier New, monospace' },\n { label: 'Impact', value: 'Impact, sans-serif' },\n]\nexport const CROP_RATIOS = [\n { label: 'Freeform', value: 'free' },\n { label: 'Square 1:1', value: '1' },\n { label: '4:3', value: '1.3333' },\n { label: '16:9', value: '1.7777' },\n { label: '3:4 portrait', value: '0.75' },\n]\n"],"names":["VERSION","FILTERS","FILTER_CSS","SWATCHES","SHAPES","FONTS","CROP_RATIOS"],"mappings":"AAAY,MAACA,IAAU,SAEVC,IAAU;AAAA,EACrB,EAAE,IAAI,QAAQ,MAAM,WAAU;AAAA,EAC9B,EAAE,IAAI,aAAa,MAAM,QAAO;AAAA,EAChC,EAAE,IAAI,SAAS,MAAM,QAAO;AAAA,EAC5B,EAAE,IAAI,QAAQ,MAAM,OAAM;AAAA,EAC1B,EAAE,IAAI,QAAQ,MAAM,OAAM;AAAA,EAC1B,EAAE,IAAI,WAAW,MAAM,UAAS;AAAA,EAChC,EAAE,IAAI,QAAQ,MAAM,OAAM;AAAA,EAC1B,EAAE,IAAI,QAAQ,MAAM,OAAM;AAC5B,GACaC,IAAa;AAAA,EACxB,MAAM;AAAA,EACN,WAAW;AAAA,EACX,OAAO;AAAA,EACP,MAAM;AAAA,EACN,MAAM;AAAA,EACN,SAAS;AAAA,EACT,MAAM;AAAA,EACN,MAAM;AACR,GACaC,IAAW;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GACaC,IAAS;AAAA,EACpB,EAAE,IAAI,QAAQ,MAAM,YAAW;AAAA,EAC/B,EAAE,IAAI,WAAW,MAAM,UAAS;AAAA,EAChC,EAAE,IAAI,UAAU,MAAM,SAAQ;AAAA,EAC9B,EAAE,IAAI,QAAQ,MAAM,OAAM;AAAA,EAC1B,EAAE,IAAI,cAAc,MAAM,cAAa;AAAA,EACvC,EAAE,IAAI,SAAS,MAAM,QAAO;AAAA,EAC5B,EAAE,IAAI,eAAe,MAAM,eAAc;AAAA,EACzC,EAAE,IAAI,eAAe,MAAM,eAAc;AAAA,EACzC,EAAE,IAAI,qBAAqB,MAAM,sBAAqB;AACxD,GACaC,IAAQ;AAAA,EACnB,EAAE,OAAO,SAAS,OAAO,kCAAiC;AAAA,EAC1D,EAAE,OAAO,QAAQ,OAAO,oCAAmC;AAAA,EAC3D,EAAE,OAAO,QAAQ,OAAO,yBAAwB;AAAA,EAChD,EAAE,OAAO,UAAU,OAAO,qBAAoB;AAChD,GACaC,IAAc;AAAA,EACzB,EAAE,OAAO,YAAY,OAAO,OAAM;AAAA,EAClC,EAAE,OAAO,cAAc,OAAO,IAAG;AAAA,EACjC,EAAE,OAAO,OAAO,OAAO,SAAQ;AAAA,EAC/B,EAAE,OAAO,QAAQ,OAAO,SAAQ;AAAA,EAChC,EAAE,OAAO,gBAAgB,OAAO,OAAM;AACxC;"}
1
+ {"version":3,"file":"index.es143.js","sources":["../src/components/organisms/image-editor/engine/constants.js"],"sourcesContent":["export const VERSION = '1.0.0'\n\nexport const FILTERS = [\n { id: 'none', name: 'Original' },\n { id: 'grayscale', name: 'B & W' },\n { id: 'vivid', name: 'Vivid' },\n { id: 'cool', name: 'Cool' },\n { id: 'warm', name: 'Warm' },\n { id: 'vintage', name: 'Vintage' },\n { id: 'fade', name: 'Fade' },\n { id: 'noir', name: 'Noir' },\n]\nexport const FILTER_CSS = {\n none: '',\n grayscale: 'grayscale(1) contrast(1.05)',\n vivid: 'saturate(1.7) contrast(1.15)',\n cool: 'hue-rotate(200deg) saturate(1.2)',\n warm: 'sepia(.35) saturate(1.3) brightness(1.05)',\n vintage: 'sepia(.5) contrast(.9) brightness(1.05) saturate(1.2)',\n fade: 'contrast(.82) brightness(1.12) saturate(.85)',\n noir: 'grayscale(1) contrast(1.4) brightness(.92)',\n}\nexport const SWATCHES = [\n '#d24b2f',\n '#2f5fd2',\n '#e8b423',\n '#2fa84f',\n '#111111',\n '#ffffff',\n '#8e44ad',\n '#ff5da2',\n]\nexport const SHAPES = [\n { id: 'rect', name: 'Rectangle' },\n { id: 'ellipse', name: 'Ellipse' },\n { id: 'circle', name: 'Circle' },\n { id: 'line', name: 'Line' },\n { id: 'dashedLine', name: 'Dashed line' },\n { id: 'arrow', name: 'Arrow' },\n { id: 'dashedArrow', name: 'Dashed arrow' },\n { id: 'doubleArrow', name: 'Double arrow' },\n { id: 'dashedDoubleArrow', name: 'Dashed double arrow' },\n]\nexport const FONTS = [\n { label: 'Serif', value: 'Iowan Old Style, Georgia, serif' },\n { label: 'Sans', value: 'Avenir Next, Segoe UI, sans-serif' },\n { label: 'Mono', value: 'Courier New, monospace' },\n { label: 'Impact', value: 'Impact, sans-serif' },\n]\nexport const CROP_RATIOS = [\n { label: 'Freeform', value: 'free' },\n { label: 'Square 1:1', value: '1' },\n { label: '4:3', value: '1.3333' },\n { label: '16:9', value: '1.7777' },\n { label: '3:4 portrait', value: '0.75' },\n]\n"],"names":["VERSION","FILTERS","FILTER_CSS","SWATCHES","SHAPES","FONTS","CROP_RATIOS"],"mappings":"AAAY,MAACA,IAAU,SAEVC,IAAU;AAAA,EACrB,EAAE,IAAI,QAAQ,MAAM,WAAU;AAAA,EAC9B,EAAE,IAAI,aAAa,MAAM,QAAO;AAAA,EAChC,EAAE,IAAI,SAAS,MAAM,QAAO;AAAA,EAC5B,EAAE,IAAI,QAAQ,MAAM,OAAM;AAAA,EAC1B,EAAE,IAAI,QAAQ,MAAM,OAAM;AAAA,EAC1B,EAAE,IAAI,WAAW,MAAM,UAAS;AAAA,EAChC,EAAE,IAAI,QAAQ,MAAM,OAAM;AAAA,EAC1B,EAAE,IAAI,QAAQ,MAAM,OAAM;AAC5B,GACaC,IAAa;AAAA,EACxB,MAAM;AAAA,EACN,WAAW;AAAA,EACX,OAAO;AAAA,EACP,MAAM;AAAA,EACN,MAAM;AAAA,EACN,SAAS;AAAA,EACT,MAAM;AAAA,EACN,MAAM;AACR,GACaC,IAAW;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GACaC,IAAS;AAAA,EACpB,EAAE,IAAI,QAAQ,MAAM,YAAW;AAAA,EAC/B,EAAE,IAAI,WAAW,MAAM,UAAS;AAAA,EAChC,EAAE,IAAI,UAAU,MAAM,SAAQ;AAAA,EAC9B,EAAE,IAAI,QAAQ,MAAM,OAAM;AAAA,EAC1B,EAAE,IAAI,cAAc,MAAM,cAAa;AAAA,EACvC,EAAE,IAAI,SAAS,MAAM,QAAO;AAAA,EAC5B,EAAE,IAAI,eAAe,MAAM,eAAc;AAAA,EACzC,EAAE,IAAI,eAAe,MAAM,eAAc;AAAA,EACzC,EAAE,IAAI,qBAAqB,MAAM,sBAAqB;AACxD,GACaC,IAAQ;AAAA,EACnB,EAAE,OAAO,SAAS,OAAO,kCAAiC;AAAA,EAC1D,EAAE,OAAO,QAAQ,OAAO,oCAAmC;AAAA,EAC3D,EAAE,OAAO,QAAQ,OAAO,yBAAwB;AAAA,EAChD,EAAE,OAAO,UAAU,OAAO,qBAAoB;AAChD,GACaC,IAAc;AAAA,EACzB,EAAE,OAAO,YAAY,OAAO,OAAM;AAAA,EAClC,EAAE,OAAO,cAAc,OAAO,IAAG;AAAA,EACjC,EAAE,OAAO,OAAO,OAAO,SAAQ;AAAA,EAC/B,EAAE,OAAO,QAAQ,OAAO,SAAQ;AAAA,EAChC,EAAE,OAAO,gBAAgB,OAAO,OAAM;AACxC;"}
@@ -1,4 +1,4 @@
1
- import { FONTS as a, VERSION as i } from "./index148.es.js";
1
+ import { FONTS as a, VERSION as i } from "./index.es143.js";
2
2
  const d = 30;
3
3
  function o() {
4
4
  const e = document.createElement("canvas");
@@ -8,6 +8,7 @@ function g(e) {
8
8
  return {
9
9
  config: e,
10
10
  stickers: e.stickers || [],
11
+ savedLayers: [],
11
12
  listeners: { open: [], close: [], save: [], change: [], load: [] },
12
13
  notify: () => {
13
14
  },
@@ -23,6 +24,7 @@ function g(e) {
23
24
  zoom: 1,
24
25
  fitScale: 1,
25
26
  selectedShapeType: "rect",
27
+ multiPointMode: !1,
26
28
  shapeFill: "stroke",
27
29
  shapeWidth: 6,
28
30
  brushSize: 8,
@@ -67,6 +69,7 @@ function g(e) {
67
69
  activePointerId: null,
68
70
  pendingShape: null,
69
71
  pendingStroke: null,
72
+ pendingPoly: null,
70
73
  cropRect: null,
71
74
  cropStart: null,
72
75
  isOpenFlag: !1
@@ -82,12 +85,12 @@ function s(e, n, l) {
82
85
  });
83
86
  }
84
87
  function h(e) {
85
- s(e, "change", { state: u(e) }), e.notify();
88
+ e.listeners.change.length && s(e, "change", { state: u(e) }), e.notify();
86
89
  }
87
- function S(e) {
90
+ function f(e) {
88
91
  return e.selectedId != null ? e.layers.find((n) => n.id === e.selectedId) : null;
89
92
  }
90
- function f(e) {
93
+ function S(e) {
91
94
  e.adj.brightness = 100, e.adj.contrast = 100, e.adj.saturate = 100, e.adj.sepia = 0, e.adj.blur = 0, e.adj.hue = 0, e.adj.filter = "none";
92
95
  }
93
96
  function u(e) {
@@ -113,8 +116,8 @@ export {
113
116
  s as emit,
114
117
  h as emitChange,
115
118
  o as emptySourceCanvas,
116
- S as getSel,
119
+ f as getSel,
117
120
  u as getState,
118
- f as resetAdjValues
121
+ S as resetAdjValues
119
122
  };
120
- //# sourceMappingURL=index149.es.js.map
123
+ //# sourceMappingURL=index.es144.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es144.js","sources":["../src/components/organisms/image-editor/engine/state.js"],"sourcesContent":["import { FONTS, VERSION } from './constants.js'\n\nexport const MAX_HISTORY = 30\n\nexport function emptySourceCanvas() {\n const c = document.createElement('canvas')\n c.width = 0\n c.height = 0\n return c\n}\n\nexport function createState(config) {\n return {\n config,\n stickers: config.stickers || [],\n savedLayers: [],\n listeners: { open: [], close: [], save: [], change: [], load: [] },\n notify: () => {},\n\n sourceCanvas: emptySourceCanvas(),\n originalCanvas: null,\n layers: [],\n selectedId: null,\n nextId: 1,\n undoStack: [],\n redoStack: [],\n\n mode: 'select',\n viewScale: 1,\n zoom: 1,\n fitScale: 1,\n selectedShapeType: 'rect',\n multiPointMode: false,\n shapeFill: 'stroke',\n shapeWidth: 6,\n brushSize: 8,\n brushStyle: 'round',\n textFont: FONTS[0].value,\n textSize: 64,\n textColor: '#111111',\n shapeColor: '#111111',\n drawColor: '#111111',\n cropRatio: 'free',\n isSaving: false,\n isLoadingImage: false,\n statusText: 'Ready',\n adj: {\n brightness: 100,\n contrast: 100,\n saturate: 100,\n sepia: 0,\n blur: 0,\n hue: 0,\n filter: 'none',\n },\n stickerImageCache: new Map(),\n\n canvasEl: null,\n overlayEl: null,\n textEditorEl: null,\n stageEl: null,\n ctx: null,\n octx: null,\n mounted: false,\n\n editingLayer: null,\n editingSelectAll: false,\n\n dragMode: null,\n dragStart: null,\n dragOrig: null,\n dragRect: null,\n resizeCorner: null,\n resizeAnchor: null,\n resizeCenter: null,\n resizeAnchorWorld: null,\n rotateStart: null,\n activePointerId: null,\n pendingShape: null,\n pendingStroke: null,\n pendingPoly: null,\n cropRect: null,\n cropStart: null,\n\n isOpenFlag: false,\n }\n}\n\nexport function emit(state, ev, payload) {\n ;(state.listeners[ev] || []).forEach((fn) => {\n try {\n fn(payload)\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(e)\n }\n })\n}\n\nexport function emitChange(state) {\n if (state.listeners.change.length) {\n emit(state, 'change', { state: getState(state) })\n }\n state.notify()\n}\n\nexport function getSel(state) {\n return state.selectedId != null\n ? state.layers.find((l) => l.id === state.selectedId)\n : null\n}\n\nexport function resetAdjValues(state) {\n state.adj.brightness = 100\n state.adj.contrast = 100\n state.adj.saturate = 100\n state.adj.sepia = 0\n state.adj.blur = 0\n state.adj.hue = 0\n state.adj.filter = 'none'\n}\n\nexport function getState(state) {\n if (!state.sourceCanvas.width) return null\n return {\n version: VERSION,\n image: state.sourceCanvas.toDataURL('image/png'),\n width: state.sourceCanvas.width,\n height: state.sourceCanvas.height,\n adjustments: { ...state.adj },\n layers: JSON.parse(\n JSON.stringify(\n state.layers.map((L) => {\n const c = { ...L }\n delete c._editing\n return c\n })\n )\n ),\n }\n}\n"],"names":["MAX_HISTORY","emptySourceCanvas","c","createState","config","FONTS","emit","state","ev","payload","fn","e","emitChange","getState","getSel","l","resetAdjValues","VERSION","L"],"mappings":";AAEY,MAACA,IAAc;AAEpB,SAASC,IAAoB;AAClC,QAAMC,IAAI,SAAS,cAAc,QAAQ;AACzC,SAAAA,EAAE,QAAQ,GACVA,EAAE,SAAS,GACJA;AACT;AAEO,SAASC,EAAYC,GAAQ;AAClC,SAAO;AAAA,IACL,QAAAA;AAAA,IACA,UAAUA,EAAO,YAAY,CAAA;AAAA,IAC7B,aAAa,CAAA;AAAA,IACb,WAAW,EAAE,MAAM,CAAA,GAAI,OAAO,CAAA,GAAI,MAAM,CAAA,GAAI,QAAQ,IAAI,MAAM,CAAA,EAAE;AAAA,IAChE,QAAQ,MAAM;AAAA,IAAC;AAAA,IAEf,cAAcH,EAAiB;AAAA,IAC/B,gBAAgB;AAAA,IAChB,QAAQ,CAAA;AAAA,IACR,YAAY;AAAA,IACZ,QAAQ;AAAA,IACR,WAAW,CAAA;AAAA,IACX,WAAW,CAAA;AAAA,IAEX,MAAM;AAAA,IACN,WAAW;AAAA,IACX,MAAM;AAAA,IACN,UAAU;AAAA,IACV,mBAAmB;AAAA,IACnB,gBAAgB;AAAA,IAChB,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,UAAUI,EAAM,CAAC,EAAE;AAAA,IACnB,UAAU;AAAA,IACV,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,WAAW;AAAA,IACX,WAAW;AAAA,IACX,UAAU;AAAA,IACV,gBAAgB;AAAA,IAChB,YAAY;AAAA,IACZ,KAAK;AAAA,MACH,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,UAAU;AAAA,MACV,OAAO;AAAA,MACP,MAAM;AAAA,MACN,KAAK;AAAA,MACL,QAAQ;AAAA,IACd;AAAA,IACI,mBAAmB,oBAAI,IAAG;AAAA,IAE1B,UAAU;AAAA,IACV,WAAW;AAAA,IACX,cAAc;AAAA,IACd,SAAS;AAAA,IACT,KAAK;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,IAET,cAAc;AAAA,IACd,kBAAkB;AAAA,IAElB,UAAU;AAAA,IACV,WAAW;AAAA,IACX,UAAU;AAAA,IACV,UAAU;AAAA,IACV,cAAc;AAAA,IACd,cAAc;AAAA,IACd,cAAc;AAAA,IACd,mBAAmB;AAAA,IACnB,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,cAAc;AAAA,IACd,eAAe;AAAA,IACf,aAAa;AAAA,IACb,UAAU;AAAA,IACV,WAAW;AAAA,IAEX,YAAY;AAAA,EAChB;AACA;AAEO,SAASC,EAAKC,GAAOC,GAAIC,GAAS;AACtC,GAACF,EAAM,UAAUC,CAAE,KAAK,CAAA,GAAI,QAAQ,CAACE,MAAO;AAC3C,QAAI;AACF,MAAAA,EAAGD,CAAO;AAAA,IACZ,SAASE,GAAG;AAEV,cAAQ,MAAMA,CAAC;AAAA,IACjB;AAAA,EACF,CAAC;AACH;AAEO,SAASC,EAAWL,GAAO;AAChC,EAAIA,EAAM,UAAU,OAAO,UACzBD,EAAKC,GAAO,UAAU,EAAE,OAAOM,EAASN,CAAK,EAAC,CAAE,GAElDA,EAAM,OAAM;AACd;AAEO,SAASO,EAAOP,GAAO;AAC5B,SAAOA,EAAM,cAAc,OACvBA,EAAM,OAAO,KAAK,CAACQ,MAAMA,EAAE,OAAOR,EAAM,UAAU,IAClD;AACN;AAEO,SAASS,EAAeT,GAAO;AACpC,EAAAA,EAAM,IAAI,aAAa,KACvBA,EAAM,IAAI,WAAW,KACrBA,EAAM,IAAI,WAAW,KACrBA,EAAM,IAAI,QAAQ,GAClBA,EAAM,IAAI,OAAO,GACjBA,EAAM,IAAI,MAAM,GAChBA,EAAM,IAAI,SAAS;AACrB;AAEO,SAASM,EAASN,GAAO;AAC9B,SAAKA,EAAM,aAAa,QACjB;AAAA,IACL,SAASU;AAAA,IACT,OAAOV,EAAM,aAAa,UAAU,WAAW;AAAA,IAC/C,OAAOA,EAAM,aAAa;AAAA,IAC1B,QAAQA,EAAM,aAAa;AAAA,IAC3B,aAAa,EAAE,GAAGA,EAAM,IAAG;AAAA,IAC3B,QAAQ,KAAK;AAAA,MACX,KAAK;AAAA,QACHA,EAAM,OAAO,IAAI,CAACW,MAAM;AACtB,gBAAMhB,IAAI,EAAE,GAAGgB,EAAC;AAChB,wBAAOhB,EAAE,UACFA;AAAA,QACT,CAAC;AAAA,MACT;AAAA,IACA;AAAA,EACA,IAhBwC;AAiBxC;"}
@@ -0,0 +1,408 @@
1
+ import { supportsContextFilter as H } from "./index.es165.js";
2
+ import { FILTER_CSS as _ } from "./index.es143.js";
3
+ function O(t) {
4
+ const { adj: e } = t;
5
+ let n = `brightness(${e.brightness}%) contrast(${e.contrast}%) saturate(${e.saturate}%) sepia(${e.sepia}%) blur(${e.blur}px) hue-rotate(${e.hue}deg)`;
6
+ return e.filter !== "none" && (n += " " + _[e.filter]), n.trim();
7
+ }
8
+ const W = 0.25, $ = 4, E = 1.25;
9
+ function I(t) {
10
+ const n = Math.min(
11
+ (t.stageEl.clientWidth - 48) / t.sourceCanvas.width,
12
+ (t.stageEl.clientHeight - 48) / t.sourceCanvas.height,
13
+ 1
14
+ );
15
+ t.fitScale = n;
16
+ const o = n * t.zoom;
17
+ t.viewScale = o;
18
+ const r = Math.round(t.sourceCanvas.width * o), a = Math.round(t.sourceCanvas.height * o);
19
+ t.canvasEl.style.width = t.overlayEl.style.width = r + "px", t.canvasEl.style.height = t.overlayEl.style.height = a + "px";
20
+ }
21
+ function g(t, e) {
22
+ if (t.zoom = Math.min($, Math.max(W, e)), !t.mounted || !t.sourceCanvas.width) {
23
+ t.notify();
24
+ return;
25
+ }
26
+ I(t), C(t), t.notify();
27
+ }
28
+ function oe(t) {
29
+ g(t, t.zoom * E);
30
+ }
31
+ function ie(t) {
32
+ g(t, t.zoom / E);
33
+ }
34
+ function ae(t) {
35
+ g(t, 1);
36
+ }
37
+ function le(t) {
38
+ t.canvasEl.width = t.overlayEl.width = t.sourceCanvas.width, t.canvasEl.height = t.overlayEl.height = t.sourceCanvas.height, I(t);
39
+ }
40
+ function B(t) {
41
+ const { ctx: e, canvasEl: n, sourceCanvas: o } = t;
42
+ e.clearRect(0, 0, n.width, n.height);
43
+ const r = O(t);
44
+ if (H()) {
45
+ n.style.filter = "", e.filter = r, e.drawImage(o, 0, 0), e.filter = "none";
46
+ return;
47
+ }
48
+ n.style.filter = r, e.drawImage(o, 0, 0);
49
+ }
50
+ function re(t) {
51
+ !t.mounted || !t.sourceCanvas.width || (B(t), C(t));
52
+ }
53
+ const m = 1.1;
54
+ function P(t, e) {
55
+ t.octx.font = `${e.size}px ${e.font}`;
56
+ const n = Math.max(e.boxWidth, 1), o = [];
57
+ return e.text.split(`
58
+ `).forEach((r) => {
59
+ const a = r.split(" ");
60
+ let i = "";
61
+ a.forEach((l) => {
62
+ const s = i ? i + " " + l : l;
63
+ i && t.octx.measureText(s).width > n ? (o.push(i), i = l) : i = s;
64
+ }), o.push(i);
65
+ }), o;
66
+ }
67
+ function y(t, e) {
68
+ if (e.type === "text") {
69
+ const n = P(t, e);
70
+ return {
71
+ x: e.x,
72
+ y: e.y,
73
+ w: e.boxWidth,
74
+ h: n.length * e.size * m
75
+ };
76
+ }
77
+ if (e.type === "shape" && G(e)) {
78
+ let n = 1 / 0, o = 1 / 0, r = -1 / 0, a = -1 / 0;
79
+ e.points.forEach((l) => {
80
+ n = Math.min(n, l.x), o = Math.min(o, l.y), r = Math.max(r, l.x), a = Math.max(a, l.y);
81
+ });
82
+ const i = (e.width || 6) / 2;
83
+ return { x: n - i, y: o - i, w: r - n + i * 2, h: a - o + i * 2 };
84
+ }
85
+ if (e.type === "shape" || e.type === "sticker")
86
+ return {
87
+ x: Math.min(e.x, e.x + e.w),
88
+ y: Math.min(e.y, e.y + e.h),
89
+ w: Math.abs(e.w),
90
+ h: Math.abs(e.h)
91
+ };
92
+ if (e.type === "stroke") {
93
+ let n = 1 / 0, o = 1 / 0, r = -1 / 0, a = -1 / 0;
94
+ e.points.forEach((l) => {
95
+ n = Math.min(n, l.x), o = Math.min(o, l.y), r = Math.max(r, l.x), a = Math.max(a, l.y);
96
+ });
97
+ const i = e.width / 2;
98
+ return { x: n - i, y: o - i, w: r - n + i * 2, h: a - o + i * 2 };
99
+ }
100
+ return { x: 0, y: 0, w: 0, h: 0 };
101
+ }
102
+ function se(t, e) {
103
+ if (e.type !== "text") return;
104
+ const n = t.sourceCanvas.height - e.y;
105
+ for (; e.size > 10 && y(t, e).h > n && n > 0; )
106
+ e.size -= 1;
107
+ }
108
+ function he(t, e) {
109
+ if (e.type !== "text") return;
110
+ const n = t.sourceCanvas.width - e.x;
111
+ e.boxWidth = Math.round(Math.max(20, Math.min(e.boxWidth, n)));
112
+ }
113
+ function A(t) {
114
+ return [
115
+ { corner: "tl", x: t.x, y: t.y },
116
+ { corner: "tr", x: t.x + t.w, y: t.y },
117
+ { corner: "bl", x: t.x, y: t.y + t.h },
118
+ { corner: "br", x: t.x + t.w, y: t.y + t.h }
119
+ ];
120
+ }
121
+ const b = [
122
+ "line",
123
+ "dashedLine",
124
+ "arrow",
125
+ "dashedArrow",
126
+ "doubleArrow",
127
+ "dashedDoubleArrow"
128
+ ], N = ["dashedLine", "dashedArrow", "dashedDoubleArrow"], fe = ["line", "dashedLine"], F = {
129
+ arrow: ["end"],
130
+ dashedArrow: ["end"],
131
+ doubleArrow: ["end", "start"],
132
+ dashedDoubleArrow: ["end", "start"]
133
+ }, U = 10, T = 42;
134
+ function Z(t) {
135
+ return t.points && t.points.length >= 2 ? t.points : [
136
+ { x: t.x, y: t.y },
137
+ { x: t.x + t.w, y: t.y + t.h }
138
+ ];
139
+ }
140
+ function G(t) {
141
+ return !!(t.points && t.points.length >= 2);
142
+ }
143
+ function q(t, e, n) {
144
+ const o = e && t.length > 2 ? t.concat([t[0]]) : t;
145
+ let r = 0;
146
+ const a = [];
147
+ for (let l = 0; l < o.length - 1; l++) {
148
+ const s = Math.hypot(o[l + 1].x - o[l].x, o[l + 1].y - o[l].y);
149
+ a.push(s), r += s;
150
+ }
151
+ if (!r) return { x: o[0].x, y: o[0].y, angle: 0 };
152
+ let i = r * Math.min(Math.max(n, 0), 1);
153
+ for (let l = 0; l < a.length; l++) {
154
+ if (i <= a[l] || l === a.length - 1) {
155
+ const s = a[l] ? i / a[l] : 0;
156
+ return {
157
+ x: o[l].x + (o[l + 1].x - o[l].x) * s,
158
+ y: o[l].y + (o[l + 1].y - o[l].y) * s,
159
+ angle: Math.atan2(o[l + 1].y - o[l].y, o[l + 1].x - o[l].x)
160
+ };
161
+ }
162
+ i -= a[l];
163
+ }
164
+ return { x: o[0].x, y: o[0].y, angle: 0 };
165
+ }
166
+ function J(t, e, n) {
167
+ if (!e.label) return;
168
+ const o = e.labelSize || T, r = q(n, e.closed, e.labelPos ?? 0.5), a = e.labelRotate !== !1, i = e.labelSide === "below" ? -1 : 1, l = e.labelOffset ?? U, s = (e.width || 6) / 2 + l;
169
+ let h = a ? r.angle : 0, c = !1;
170
+ a && (h > Math.PI / 2 || h < -Math.PI / 2) && (h += Math.PI, c = !0);
171
+ const f = i * (c ? -1 : 1), d = Math.sin(r.angle) * s * f, u = -Math.cos(r.angle) * s * f;
172
+ t.save(), t.translate(r.x + d, r.y + u), t.rotate(h), t.font = `${o}px ${e.labelFont || "Avenir Next, Segoe UI, sans-serif"}`, t.fillStyle = e.labelColor || e.color, t.textAlign = "center", t.textBaseline = i === 1 ? "bottom" : "top", t.setLineDash([]), t.shadowColor = "rgba(0,0,0,.25)", t.shadowBlur = o * 0.08, t.fillText(e.label, 0, 0), t.restore();
173
+ }
174
+ function V(t) {
175
+ const e = Math.max(1, t || 1);
176
+ return [Math.max(6, e * 2.5), Math.max(4, e * 1.75)];
177
+ }
178
+ function v(t, e, n, o, r) {
179
+ t.beginPath(), t.moveTo(e, n), t.lineTo(
180
+ e - r * Math.cos(o - Math.PI / 6),
181
+ n - r * Math.sin(o - Math.PI / 6)
182
+ ), t.moveTo(e, n), t.lineTo(
183
+ e - r * Math.cos(o + Math.PI / 6),
184
+ n - r * Math.sin(o + Math.PI / 6)
185
+ ), t.stroke();
186
+ }
187
+ function p(t, e, n) {
188
+ if (!e.label) return;
189
+ const o = e.labelSize || T;
190
+ t.save(), t.font = `${o}px ${e.labelFont || "Avenir Next, Segoe UI, sans-serif"}`, t.fillStyle = e.labelColor || j(e), t.textAlign = "center", t.textBaseline = "middle", t.setLineDash([]);
191
+ const r = Math.max(20, Math.abs(n.w) - o * 0.6), a = [];
192
+ let i = "";
193
+ e.label.split(/\s+/).forEach((c) => {
194
+ const f = i ? i + " " + c : c;
195
+ t.measureText(f).width > r && i ? (a.push(i), i = c) : i = f;
196
+ }), i && a.push(i);
197
+ const l = o * m, s = n.x + n.w / 2 + (e.labelDx || 0), h = n.y + n.h / 2 + (e.labelDy || 0) - (a.length - 1) * l / 2;
198
+ a.forEach((c, f) => t.fillText(c, s, h + f * l)), t.restore();
199
+ }
200
+ function j(t) {
201
+ if (t.fill !== "fill") return t.color;
202
+ const e = (t.color || "#111111").replace("#", "");
203
+ if (e.length < 6) return "#ffffff";
204
+ const n = parseInt(e.slice(0, 2), 16), o = parseInt(e.slice(2, 4), 16), r = parseInt(e.slice(4, 6), 16);
205
+ return 0.299 * n + 0.587 * o + 0.114 * r > 150 ? "#111111" : "#ffffff";
206
+ }
207
+ const K = 26, Q = 6;
208
+ function x(t, e) {
209
+ const n = y(t, e);
210
+ return { x: n.x + n.w / 2, y: n.y + n.h / 2 };
211
+ }
212
+ function M(t, e, n) {
213
+ if (!n) return { x: t.x, y: t.y };
214
+ const o = n * Math.PI / 180, r = Math.cos(o), a = Math.sin(o), i = t.x - e.x, l = t.y - e.y;
215
+ return { x: e.x + i * r - l * a, y: e.y + i * a + l * r };
216
+ }
217
+ function ce(t, e, n, o) {
218
+ const r = e.rotation || 0;
219
+ if (!r) {
220
+ o();
221
+ return;
222
+ }
223
+ const a = M(n, x(t, e), r);
224
+ o();
225
+ const i = M(n, x(t, e), r);
226
+ e.x += a.x - i.x, e.y += a.y - i.y;
227
+ }
228
+ function X(t, e, n) {
229
+ return M(n, x(t, e), -(e.rotation || 0));
230
+ }
231
+ function k(t, e) {
232
+ const n = y(t, e);
233
+ return {
234
+ x: n.x + n.w / 2,
235
+ y: n.y + n.h + K / t.viewScale
236
+ };
237
+ }
238
+ function Y(t, e) {
239
+ const n = k(t, e);
240
+ return M(n, x(t, e), e.rotation || 0);
241
+ }
242
+ function ye(t, e, n) {
243
+ const o = Y(t, n);
244
+ return Math.hypot(e.x - o.x, e.y - o.y) <= 14 / t.viewScale;
245
+ }
246
+ function xe(t, e, n) {
247
+ if (n.type === "stroke") return null;
248
+ const o = 12 / t.viewScale, r = X(t, n, e);
249
+ if (n.type === "shape" && b.includes(n.shape)) {
250
+ const s = [
251
+ { corner: "start", x: n.x, y: n.y },
252
+ { corner: "end", x: n.x + n.w, y: n.y + n.h }
253
+ ].find(
254
+ (h) => Math.abs(r.x - h.x) < o && Math.abs(r.y - h.y) < o
255
+ );
256
+ return s ? s.corner : null;
257
+ }
258
+ const a = y(t, n), i = A(a).find(
259
+ (l) => Math.abs(r.x - l.x) < o && Math.abs(r.y - l.y) < o
260
+ );
261
+ return i ? i.corner : null;
262
+ }
263
+ function S(t, e, n) {
264
+ if (!n._editing) {
265
+ if (e.save(), n.type !== "stroke" || n.rotation) {
266
+ const o = y(t, n), r = o.x + o.w / 2, a = o.y + o.h / 2;
267
+ e.translate(r, a), n.rotation && e.rotate(n.rotation * Math.PI / 180), (n.flipH || n.flipV) && e.scale(n.flipH ? -1 : 1, n.flipV ? -1 : 1), e.translate(-r, -a);
268
+ }
269
+ if (n.type === "text") {
270
+ e.font = `${n.size}px ${n.font}`, e.fillStyle = n.color, e.textBaseline = "top", e.shadowColor = "rgba(0,0,0,.22)", e.shadowBlur = n.size * 0.05, e.shadowOffsetY = n.size * 0.02;
271
+ const o = n.size * m;
272
+ P(t, n).forEach((r, a) => {
273
+ e.fillText(r, n.x, n.y + a * o);
274
+ });
275
+ } else if (n.type === "shape") {
276
+ e.strokeStyle = n.color, e.fillStyle = n.color, e.lineWidth = n.width, e.lineCap = "round", e.lineJoin = "round";
277
+ const o = n.x, r = n.y, a = n.w, i = n.h, l = { x: o, y: r, w: a, h: i };
278
+ if (n.shape === "rect")
279
+ n.fill === "fill" ? e.fillRect(o, r, a, i) : e.strokeRect(o, r, a, i), p(e, n, l);
280
+ else if (n.shape === "ellipse")
281
+ e.beginPath(), e.ellipse(
282
+ o + a / 2,
283
+ r + i / 2,
284
+ Math.abs(a / 2),
285
+ Math.abs(i / 2),
286
+ 0,
287
+ 0,
288
+ Math.PI * 2
289
+ ), n.fill === "fill" ? e.fill() : e.stroke(), p(e, n, l);
290
+ else if (n.shape === "circle") {
291
+ const s = Math.min(Math.abs(a), Math.abs(i)) / 2;
292
+ e.beginPath(), e.arc(o + a / 2, r + i / 2, s, 0, Math.PI * 2), n.fill === "fill" ? e.fill() : e.stroke(), p(e, n, {
293
+ x: o + a / 2 - s,
294
+ y: r + i / 2 - s,
295
+ w: s * 2,
296
+ h: s * 2
297
+ });
298
+ } else if (b.includes(n.shape)) {
299
+ const s = Z(n), h = N.includes(n.shape);
300
+ if (h && (e.lineCap = "butt", e.setLineDash(V(n.width))), e.beginPath(), s.forEach(
301
+ (c, f) => f === 0 ? e.moveTo(c.x, c.y) : e.lineTo(c.x, c.y)
302
+ ), n.closed && s.length > 2 && e.closePath(), n.closed && s.length > 2 && n.fill === "fill" && (e.setLineDash([]), e.fill()), e.stroke(), h && (e.setLineDash([]), e.lineCap = "round"), !n.closed) {
303
+ const c = Math.max(14, n.width * 3), f = s[0], d = s[1], u = s[s.length - 2], w = s[s.length - 1], R = Math.atan2(w.y - u.y, w.x - u.x), z = Math.atan2(f.y - d.y, f.x - d.x);
304
+ (F[n.shape] || []).forEach((D) => {
305
+ D === "end" ? v(e, w.x, w.y, R, c) : v(e, f.x, f.y, z, c);
306
+ });
307
+ }
308
+ n.closed && s.length > 2 ? p(e, n, y(t, n)) : J(e, n, s);
309
+ }
310
+ } else if (n.type === "stroke")
311
+ e.strokeStyle = n.color, e.lineWidth = n.width, e.lineCap = "round", e.lineJoin = "round", e.globalAlpha = n.style === "highlight" ? 0.35 : 1, e.beginPath(), n.points.forEach(
312
+ (o, r) => r === 0 ? e.moveTo(o.x, o.y) : e.lineTo(o.x, o.y)
313
+ ), n.points.length === 1 && e.lineTo(n.points[0].x + 0.1, n.points[0].y + 0.1), e.stroke();
314
+ else if (n.type === "sticker") {
315
+ const o = t.stickerImageCache.get(n.src);
316
+ o && o.complete && o.naturalWidth && e.drawImage(o, n.x, n.y, n.w, n.h);
317
+ }
318
+ e.restore();
319
+ }
320
+ }
321
+ function L(t) {
322
+ return {
323
+ x: Math.min(t.x, t.x + t.w),
324
+ y: Math.min(t.y, t.y + t.h),
325
+ w: Math.abs(t.w),
326
+ h: Math.abs(t.h)
327
+ };
328
+ }
329
+ function ee(t) {
330
+ const { cropRect: e, overlayEl: n, octx: o, sourceCanvas: r } = t;
331
+ if (!e) return;
332
+ const a = L(e), i = n.width, l = n.height;
333
+ o.save(), o.fillStyle = "rgba(0,0,0,.45)", o.fillRect(0, 0, i, Math.max(0, a.y)), o.fillRect(0, Math.min(l, a.y + a.h), i, Math.max(0, l - (a.y + a.h))), o.fillRect(0, a.y, Math.max(0, a.x), a.h), o.fillRect(Math.min(i, a.x + a.w), a.y, Math.max(0, i - (a.x + a.w)), a.h), o.strokeStyle = "#fff", o.lineWidth = Math.max(1, r.width / 500), o.setLineDash([8, 6]), o.strokeRect(a.x, a.y, a.w, a.h), o.restore();
334
+ }
335
+ function C(t) {
336
+ const { octx: e, overlayEl: n, layers: o, mode: r, selectedId: a } = t;
337
+ if (e.clearRect(0, 0, n.width, n.height), o.forEach((i) => {
338
+ try {
339
+ S(t, e, i);
340
+ } catch (l) {
341
+ console.error("[image-editor] failed to paint layer", i.id, i.type, l);
342
+ }
343
+ }), r === "select" && a != null) {
344
+ const i = o.find((l) => l.id === a);
345
+ if (i) {
346
+ const l = y(t, i);
347
+ if (e.save(), i.rotation) {
348
+ const h = x(t, i);
349
+ e.translate(h.x, h.y), e.rotate(i.rotation * Math.PI / 180), e.translate(-h.x, -h.y);
350
+ }
351
+ if (e.strokeStyle = "#2f5fd2", e.lineWidth = Math.max(1.2, 1.5 / t.viewScale), e.setLineDash([6 / t.viewScale, 4 / t.viewScale]), e.strokeRect(l.x - 4, l.y - 4, l.w + 8, l.h + 8), e.setLineDash([]), i.type !== "stroke") {
352
+ const h = 9 / t.viewScale;
353
+ e.fillStyle = "#fff", e.strokeStyle = "#2f5fd2", (i.type === "shape" && b.includes(i.shape) ? [
354
+ { x: i.x, y: i.y },
355
+ { x: i.x + i.w, y: i.y + i.h }
356
+ ] : A(l)).forEach((f) => {
357
+ e.fillRect(f.x - h / 2, f.y - h / 2, h, h), e.strokeRect(f.x - h / 2, f.y - h / 2, h, h);
358
+ });
359
+ }
360
+ const s = k(t, i);
361
+ e.strokeStyle = "#2f5fd2", e.fillStyle = "#fff", e.beginPath(), e.moveTo(s.x, l.y + l.h + 4), e.lineTo(s.x, s.y), e.stroke(), e.beginPath(), e.arc(
362
+ s.x,
363
+ s.y,
364
+ Q / t.viewScale,
365
+ 0,
366
+ Math.PI * 2
367
+ ), e.fill(), e.stroke(), e.restore();
368
+ }
369
+ }
370
+ t.pendingShape && S(t, e, t.pendingShape), r === "crop" && t.cropRect && ee(t);
371
+ }
372
+ export {
373
+ T as DEFAULT_LABEL_SIZE,
374
+ b as DIRECTIONAL_SHAPES,
375
+ U as LABEL_GAP,
376
+ fe as MULTI_POINT_SHAPES,
377
+ m as TEXT_LINE_HEIGHT,
378
+ $ as ZOOM_MAX,
379
+ W as ZOOM_MIN,
380
+ g as applyZoom,
381
+ O as baseFilter,
382
+ he as clampBoxWidth,
383
+ se as clampTextSize,
384
+ A as cornerPoints,
385
+ Z as directionalPoints,
386
+ ee as drawCropOverlay,
387
+ I as fitStage,
388
+ G as isMultiPoint,
389
+ ce as keepingFixed,
390
+ y as layerBounds,
391
+ x as layerCenter,
392
+ L as normRect,
393
+ xe as onResizeHandle,
394
+ ye as onRotateHandle,
395
+ S as paintLayer,
396
+ q as pathPointAt,
397
+ re as render,
398
+ B as renderBase,
399
+ C as renderOverlay,
400
+ M as rotatePoint,
401
+ le as syncCanvasSize,
402
+ X as toLayerSpace,
403
+ P as wrapTextLines,
404
+ oe as zoomIn,
405
+ ie as zoomOut,
406
+ ae as zoomToFit
407
+ };
408
+ //# sourceMappingURL=index.es145.js.map