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
@@ -2,4 +2,4 @@ var _ = /* @__PURE__ */ ((I) => (I.SHORT_TEXT = "short-text", I.EMAIL = "email",
2
2
  export {
3
3
  _ as FormFieldType
4
4
  };
5
- //# sourceMappingURL=index142.es.js.map
5
+ //# sourceMappingURL=index.es162.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index142.es.js","sources":["../src/components/ui/form-renderer/form.enums.ts"],"sourcesContent":["export enum FormFieldType {\n // Text fields\n SHORT_TEXT = 'short-text',\n EMAIL = 'email',\n LONG_TEXT = 'long-text',\n // Number fields\n NUMBER = 'number',\n MOBILE_NUMBER = 'mobile-number',\n DATE_PICKER = 'date-picker',\n\n // Selection fields\n SINGLE_COMBOBOX = 'single-combobox',\n CREATABLE_MULTI_COMBOBOX = 'creatable-multi-combobox',\n MULTI_COMBOBOX = 'multi-combobox',\n RADIO_GROUP = 'radio-group',\n RADIO_GROUP_WITH_OPTIONAL_INPUT = 'radio-group-with-optional-input',\n CHECKBOX_GROUP = 'checkbox-group',\n\n // Upload fields\n SINGLE_IMAGE_PICKER = 'single-image-picker',\n MULTI_IMAGE_PICKER = 'multi-image-picker',\n TAGGABLE_MULTI_IMAGE_PICKER = 'taggable-multi-image-picker',\n SINGLE_VIDEO_PICKER = 'single-video-picker',\n MULTI_VIDEO_PICKER = 'multi-video-picker',\n SINGLE_VIDEO_PICKER_WITH_INPUT = 'single-video-picker-with-input',\n TAGGABLE_MULTI_IMAGE_PICKER_WITH_INPUT = 'taggable-multi-image-picker-with-input',\n\n REPEATABLE_GROUP_FIELD = 'repeatable-group-field',\n}\n"],"names":["FormFieldType"],"mappings":"AAAO,IAAKA,sBAAAA,OAEVA,EAAA,aAAa,cACbA,EAAA,QAAQ,SACRA,EAAA,YAAY,aAEZA,EAAA,SAAS,UACTA,EAAA,gBAAgB,iBAChBA,EAAA,cAAc,eAGdA,EAAA,kBAAkB,mBAClBA,EAAA,2BAA2B,4BAC3BA,EAAA,iBAAiB,kBACjBA,EAAA,cAAc,eACdA,EAAA,kCAAkC,mCAClCA,EAAA,iBAAiB,kBAGjBA,EAAA,sBAAsB,uBACtBA,EAAA,qBAAqB,sBACrBA,EAAA,8BAA8B,+BAC9BA,EAAA,sBAAsB,uBACtBA,EAAA,qBAAqB,sBACrBA,EAAA,iCAAiC,kCACjCA,EAAA,yCAAyC,0CAEzCA,EAAA,yBAAyB,0BA3BfA,IAAAA,KAAA,CAAA,CAAA;"}
1
+ {"version":3,"file":"index.es162.js","sources":["../src/components/ui/form-renderer/form.enums.ts"],"sourcesContent":["export enum FormFieldType {\n // Text fields\n SHORT_TEXT = 'short-text',\n EMAIL = 'email',\n LONG_TEXT = 'long-text',\n // Number fields\n NUMBER = 'number',\n MOBILE_NUMBER = 'mobile-number',\n DATE_PICKER = 'date-picker',\n\n // Selection fields\n SINGLE_COMBOBOX = 'single-combobox',\n CREATABLE_MULTI_COMBOBOX = 'creatable-multi-combobox',\n MULTI_COMBOBOX = 'multi-combobox',\n RADIO_GROUP = 'radio-group',\n RADIO_GROUP_WITH_OPTIONAL_INPUT = 'radio-group-with-optional-input',\n CHECKBOX_GROUP = 'checkbox-group',\n\n // Upload fields\n SINGLE_IMAGE_PICKER = 'single-image-picker',\n MULTI_IMAGE_PICKER = 'multi-image-picker',\n TAGGABLE_MULTI_IMAGE_PICKER = 'taggable-multi-image-picker',\n SINGLE_VIDEO_PICKER = 'single-video-picker',\n MULTI_VIDEO_PICKER = 'multi-video-picker',\n SINGLE_VIDEO_PICKER_WITH_INPUT = 'single-video-picker-with-input',\n TAGGABLE_MULTI_IMAGE_PICKER_WITH_INPUT = 'taggable-multi-image-picker-with-input',\n\n REPEATABLE_GROUP_FIELD = 'repeatable-group-field',\n}\n"],"names":["FormFieldType"],"mappings":"AAAO,IAAKA,sBAAAA,OAEVA,EAAA,aAAa,cACbA,EAAA,QAAQ,SACRA,EAAA,YAAY,aAEZA,EAAA,SAAS,UACTA,EAAA,gBAAgB,iBAChBA,EAAA,cAAc,eAGdA,EAAA,kBAAkB,mBAClBA,EAAA,2BAA2B,4BAC3BA,EAAA,iBAAiB,kBACjBA,EAAA,cAAc,eACdA,EAAA,kCAAkC,mCAClCA,EAAA,iBAAiB,kBAGjBA,EAAA,sBAAsB,uBACtBA,EAAA,qBAAqB,sBACrBA,EAAA,8BAA8B,+BAC9BA,EAAA,sBAAsB,uBACtBA,EAAA,qBAAqB,sBACrBA,EAAA,iCAAiC,kCACjCA,EAAA,yCAAyC,0CAEzCA,EAAA,yBAAyB,0BA3BfA,IAAAA,KAAA,CAAA,CAAA;"}
@@ -2,4 +2,4 @@ const a = "Plus Jakarta Sans";
2
2
  export {
3
3
  a as FONT_FAMILY
4
4
  };
5
- //# sourceMappingURL=index160.es.js.map
5
+ //# sourceMappingURL=index.es163.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index160.es.js","sources":["../src/lib/constants.ts"],"sourcesContent":["export const FONT_FAMILY = 'Plus Jakarta Sans'\n"],"names":["FONT_FAMILY"],"mappings":"AAAO,MAAMA,IAAc;"}
1
+ {"version":3,"file":"index.es163.js","sources":["../src/lib/constants.ts"],"sourcesContent":["export const FONT_FAMILY = 'Plus Jakarta Sans'\n"],"names":["FONT_FAMILY"],"mappings":"AAAO,MAAMA,IAAc;"}
@@ -25,4 +25,4 @@ export {
25
25
  t as trendBoxStyles,
26
26
  s as trendValueStyles
27
27
  };
28
- //# sourceMappingURL=index161.es.js.map
28
+ //# sourceMappingURL=index.es164.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index161.es.js","sources":["../src/components/ui/report-snippet-view/report-snippet-view-style.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nexport const trendBoxStyles = cva(\n 'w-auto min-w-[50px] h-5 flex items-center justify-center gap-2 px-1 py-0.5 rounded-[4px]',\n {\n variants: {\n trend: {\n '1': 'bg-success-1 border border-success-1',\n '-1': 'bg-danger-1 border border-danger-1',\n '0': '',\n null: '',\n },\n },\n }\n)\n\nexport const trendValueStyles = cva('text-sm', {\n variants: {\n trend: {\n '1': 'text-success-1',\n '-1': 'text-danger-1',\n '0': '',\n null: '',\n },\n },\n})\n"],"names":["trendBoxStyles","cva","trendValueStyles"],"mappings":";AAEO,MAAMA,IAAiBC;AAAA,EAC5B;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,OAAO;AAAA,QACL,GAAK;AAAA,QACL,MAAM;AAAA,QACN,GAAK;AAAA,QACL,MAAM;AAAA,MAAA;AAAA,IACR;AAAA,EACF;AAEJ,GAEaC,IAAmBD,EAAI,WAAW;AAAA,EAC7C,UAAU;AAAA,IACR,OAAO;AAAA,MACL,GAAK;AAAA,MACL,MAAM;AAAA,MACN,GAAK;AAAA,MACL,MAAM;AAAA,IAAA;AAAA,EACR;AAEJ,CAAC;"}
1
+ {"version":3,"file":"index.es164.js","sources":["../src/components/ui/report-snippet-view/report-snippet-view-style.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nexport const trendBoxStyles = cva(\n 'w-auto min-w-[50px] h-5 flex items-center justify-center gap-2 px-1 py-0.5 rounded-[4px]',\n {\n variants: {\n trend: {\n '1': 'bg-success-1 border border-success-1',\n '-1': 'bg-danger-1 border border-danger-1',\n '0': '',\n null: '',\n },\n },\n }\n)\n\nexport const trendValueStyles = cva('text-sm', {\n variants: {\n trend: {\n '1': 'text-success-1',\n '-1': 'text-danger-1',\n '0': '',\n null: '',\n },\n },\n})\n"],"names":["trendBoxStyles","cva","trendValueStyles"],"mappings":";AAEO,MAAMA,IAAiBC;AAAA,EAC5B;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,OAAO;AAAA,QACL,GAAK;AAAA,QACL,MAAM;AAAA,QACN,GAAK;AAAA,QACL,MAAM;AAAA,MAAA;AAAA,IACR;AAAA,EACF;AAEJ,GAEaC,IAAmBD,EAAI,WAAW;AAAA,EAC7C,UAAU;AAAA,IACR,OAAO;AAAA,MACL,GAAK;AAAA,MACL,MAAM;AAAA,MACN,GAAK;AAAA,MACL,MAAM;AAAA,IAAA;AAAA,EACR;AAEJ,CAAC;"}
@@ -91,4 +91,4 @@ export {
91
91
  v as rasterizeWithFilter,
92
92
  d as supportsContextFilter
93
93
  };
94
- //# sourceMappingURL=index162.es.js.map
94
+ //# sourceMappingURL=index.es165.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index162.es.js","sources":["../src/components/organisms/image-editor/engine/canvas-filter.js"],"sourcesContent":["let contextFilterSupport = null\n\nexport function supportsContextFilter() {\n if (contextFilterSupport !== null) return contextFilterSupport\n if (typeof document === 'undefined') return false\n const ctx = document.createElement('canvas').getContext('2d')\n contextFilterSupport = !!ctx && 'filter' in ctx\n return contextFilterSupport\n}\n\nfunction escapeXml(value) {\n return String(value)\n .replace(/&/g, '&amp;')\n .replace(/</g, '&lt;')\n .replace(/>/g, '&gt;')\n .replace(/\"/g, '&quot;')\n}\n\nfunction toAmount(raw) {\n const value = parseFloat(raw)\n if (Number.isNaN(value)) return null\n return raw.trim().endsWith('%') ? value / 100 : value\n}\n\nfunction componentTransfer(slope, intercept) {\n const fn = ['R', 'G', 'B']\n .map(\n (c) =>\n `<feFunc${c} type=\"linear\" slope=\"${slope}\" intercept=\"${intercept}\"/>`\n )\n .join('')\n return `<feComponentTransfer>${fn}</feComponentTransfer>`\n}\n\nfunction sepiaMatrix(amount) {\n const r = 1 - amount\n const m = [\n 0.393 + 0.607 * r,\n 0.769 - 0.769 * r,\n 0.189 - 0.189 * r,\n 0,\n 0,\n 0.349 - 0.349 * r,\n 0.686 + 0.314 * r,\n 0.168 - 0.168 * r,\n 0,\n 0,\n 0.272 - 0.272 * r,\n 0.534 - 0.534 * r,\n 0.131 + 0.869 * r,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n ]\n return `<feColorMatrix type=\"matrix\" values=\"${m.join(' ')}\"/>`\n}\n\nfunction toSvgPrimitives(filter) {\n const primitives = []\n const re = /([a-zA-Z-]+)\\(([^)]*)\\)/g\n let match\n\n while ((match = re.exec(filter)) !== null) {\n const name = match[1].toLowerCase()\n const amount = toAmount(match[2])\n if (amount === null) continue\n\n switch (name) {\n case 'brightness':\n primitives.push(componentTransfer(amount, 0))\n break\n case 'contrast':\n primitives.push(componentTransfer(amount, -0.5 * amount + 0.5))\n break\n case 'saturate':\n primitives.push(`<feColorMatrix type=\"saturate\" values=\"${amount}\"/>`)\n break\n case 'grayscale':\n primitives.push(\n `<feColorMatrix type=\"saturate\" values=\"${1 - amount}\"/>`\n )\n break\n case 'sepia':\n primitives.push(sepiaMatrix(amount))\n break\n case 'hue-rotate':\n primitives.push(`<feColorMatrix type=\"hueRotate\" values=\"${amount}\"/>`)\n break\n case 'blur':\n if (amount > 0) {\n primitives.push(`<feGaussianBlur stdDeviation=\"${amount}\"/>`)\n }\n break\n default:\n break\n }\n }\n\n return primitives\n}\n\nexport function rasterizeWithFilter(sourceCanvas, filter) {\n return new Promise((resolve, reject) => {\n const primitives = toSvgPrimitives(filter)\n if (!primitives.length) {\n reject(new Error('no translatable filter primitives'))\n return\n }\n\n const { width, height } = sourceCanvas\n const href = sourceCanvas.toDataURL('image/png')\n const svg =\n `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"${width}\" height=\"${height}\">` +\n `<filter id=\"f\" color-interpolation-filters=\"sRGB\" ` +\n `x=\"0\" y=\"0\" width=\"100%\" height=\"100%\">${primitives.join('')}</filter>` +\n `<image href=\"${escapeXml(href)}\" width=\"${width}\" height=\"${height}\" ` +\n `filter=\"url(#f)\"/>` +\n `</svg>`\n\n const img = new Image()\n img.onload = () => resolve(img)\n img.onerror = () => reject(new Error('filter rasterisation failed'))\n img.src = 'data:image/svg+xml;charset=utf-8,' + encodeURIComponent(svg)\n })\n}\n"],"names":["contextFilterSupport","supportsContextFilter","ctx","escapeXml","value","toAmount","raw","componentTransfer","slope","intercept","c","sepiaMatrix","amount","r","toSvgPrimitives","filter","primitives","re","match","name","rasterizeWithFilter","sourceCanvas","resolve","reject","width","height","href","svg","img"],"mappings":"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"}
1
+ {"version":3,"file":"index.es165.js","sources":["../src/components/organisms/image-editor/engine/canvas-filter.js"],"sourcesContent":["let contextFilterSupport = null\n\nexport function supportsContextFilter() {\n if (contextFilterSupport !== null) return contextFilterSupport\n if (typeof document === 'undefined') return false\n const ctx = document.createElement('canvas').getContext('2d')\n contextFilterSupport = !!ctx && 'filter' in ctx\n return contextFilterSupport\n}\n\nfunction escapeXml(value) {\n return String(value)\n .replace(/&/g, '&amp;')\n .replace(/</g, '&lt;')\n .replace(/>/g, '&gt;')\n .replace(/\"/g, '&quot;')\n}\n\nfunction toAmount(raw) {\n const value = parseFloat(raw)\n if (Number.isNaN(value)) return null\n return raw.trim().endsWith('%') ? value / 100 : value\n}\n\nfunction componentTransfer(slope, intercept) {\n const fn = ['R', 'G', 'B']\n .map(\n (c) =>\n `<feFunc${c} type=\"linear\" slope=\"${slope}\" intercept=\"${intercept}\"/>`\n )\n .join('')\n return `<feComponentTransfer>${fn}</feComponentTransfer>`\n}\n\nfunction sepiaMatrix(amount) {\n const r = 1 - amount\n const m = [\n 0.393 + 0.607 * r,\n 0.769 - 0.769 * r,\n 0.189 - 0.189 * r,\n 0,\n 0,\n 0.349 - 0.349 * r,\n 0.686 + 0.314 * r,\n 0.168 - 0.168 * r,\n 0,\n 0,\n 0.272 - 0.272 * r,\n 0.534 - 0.534 * r,\n 0.131 + 0.869 * r,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n ]\n return `<feColorMatrix type=\"matrix\" values=\"${m.join(' ')}\"/>`\n}\n\nfunction toSvgPrimitives(filter) {\n const primitives = []\n const re = /([a-zA-Z-]+)\\(([^)]*)\\)/g\n let match\n\n while ((match = re.exec(filter)) !== null) {\n const name = match[1].toLowerCase()\n const amount = toAmount(match[2])\n if (amount === null) continue\n\n switch (name) {\n case 'brightness':\n primitives.push(componentTransfer(amount, 0))\n break\n case 'contrast':\n primitives.push(componentTransfer(amount, -0.5 * amount + 0.5))\n break\n case 'saturate':\n primitives.push(`<feColorMatrix type=\"saturate\" values=\"${amount}\"/>`)\n break\n case 'grayscale':\n primitives.push(\n `<feColorMatrix type=\"saturate\" values=\"${1 - amount}\"/>`\n )\n break\n case 'sepia':\n primitives.push(sepiaMatrix(amount))\n break\n case 'hue-rotate':\n primitives.push(`<feColorMatrix type=\"hueRotate\" values=\"${amount}\"/>`)\n break\n case 'blur':\n if (amount > 0) {\n primitives.push(`<feGaussianBlur stdDeviation=\"${amount}\"/>`)\n }\n break\n default:\n break\n }\n }\n\n return primitives\n}\n\nexport function rasterizeWithFilter(sourceCanvas, filter) {\n return new Promise((resolve, reject) => {\n const primitives = toSvgPrimitives(filter)\n if (!primitives.length) {\n reject(new Error('no translatable filter primitives'))\n return\n }\n\n const { width, height } = sourceCanvas\n const href = sourceCanvas.toDataURL('image/png')\n const svg =\n `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"${width}\" height=\"${height}\">` +\n `<filter id=\"f\" color-interpolation-filters=\"sRGB\" ` +\n `x=\"0\" y=\"0\" width=\"100%\" height=\"100%\">${primitives.join('')}</filter>` +\n `<image href=\"${escapeXml(href)}\" width=\"${width}\" height=\"${height}\" ` +\n `filter=\"url(#f)\"/>` +\n `</svg>`\n\n const img = new Image()\n img.onload = () => resolve(img)\n img.onerror = () => reject(new Error('filter rasterisation failed'))\n img.src = 'data:image/svg+xml;charset=utf-8,' + encodeURIComponent(svg)\n })\n}\n"],"names":["contextFilterSupport","supportsContextFilter","ctx","escapeXml","value","toAmount","raw","componentTransfer","slope","intercept","c","sepiaMatrix","amount","r","toSvgPrimitives","filter","primitives","re","match","name","rasterizeWithFilter","sourceCanvas","resolve","reject","width","height","href","svg","img"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { applyZoom as m, renderOverlay as x } from "./index150.es.js";
1
+ import { applyZoom as m, renderOverlay as x } from "./index.es145.js";
2
2
  function f(n) {
3
3
  const [r, i] = n;
4
4
  return { x: (r.x + i.x) / 2, y: (r.y + i.y) / 2 };
@@ -54,4 +54,4 @@ export {
54
54
  h as panPointerUp,
55
55
  I as resetPan
56
56
  };
57
- //# sourceMappingURL=index164.es.js.map
57
+ //# sourceMappingURL=index.es166.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index164.es.js","sources":["../src/components/organisms/image-editor/engine/touch-pan.js"],"sourcesContent":["import { applyZoom, renderOverlay } from './rendering.js'\n\nfunction midpoint(points) {\n const [a, b] = points\n return { x: (a.x + b.x) / 2, y: (a.y + b.y) / 2 }\n}\n\nfunction distance(points) {\n const [a, b] = points\n return Math.hypot(a.x - b.x, a.y - b.y)\n}\n\nfunction cancelActiveDrag(state) {\n if (!state.dragMode) return\n state.pendingStroke = null\n state.pendingShape = null\n state.dragMode = null\n if (\n state.activePointerId != null &&\n state.overlayEl?.hasPointerCapture?.(state.activePointerId)\n ) {\n state.overlayEl.releasePointerCapture(state.activePointerId)\n }\n state.activePointerId = null\n renderOverlay(state)\n state.notify()\n}\n\nfunction baseline(state) {\n const points = [...state.panPointers.values()].slice(0, 2)\n if (points.length !== 2) return null\n const mid = midpoint(points)\n return { x: mid.x, y: mid.y, distance: distance(points) }\n}\n\nfunction cancelFrame(state) {\n if (state.panFrame == null) return\n cancelAnimationFrame(state.panFrame)\n state.panFrame = null\n}\n\nfunction applyGesture(state) {\n const points = [...state.panPointers.values()].slice(0, 2)\n if (points.length !== 2 || !state.panLast || !state.stageEl) return\n\n const stage = state.stageEl\n const mid = midpoint(points)\n const dist = distance(points)\n const rect = stage.getBoundingClientRect()\n const localX = mid.x - rect.left\n const localY = mid.y - rect.top\n\n if (state.panLast.distance > 0 && dist > 0) {\n const ratio = dist / state.panLast.distance\n if (Math.abs(ratio - 1) > 0.005) {\n const previousScale = state.viewScale\n applyZoom(state, state.zoom * ratio)\n const scaled = state.viewScale / previousScale\n if (scaled !== 1) {\n stage.scrollLeft = (stage.scrollLeft + localX) * scaled - localX\n stage.scrollTop = (stage.scrollTop + localY) * scaled - localY\n }\n }\n }\n\n stage.scrollLeft -= mid.x - state.panLast.x\n stage.scrollTop -= mid.y - state.panLast.y\n state.panLast = { x: mid.x, y: mid.y, distance: dist }\n}\n\nexport function panPointerDown(state, e) {\n if (e.pointerType === 'mouse') return false\n state.panPointers ??= new Map()\n state.panPointers.set(e.pointerId, { x: e.clientX, y: e.clientY })\n if (!state.stageEl || state.panPointers.size < 2) return false\n\n cancelActiveDrag(state)\n state.panLast = baseline(state)\n return true\n}\n\nexport function panPointerMove(state, e) {\n if (!state.panPointers?.has(e.pointerId)) return false\n state.panPointers.set(e.pointerId, { x: e.clientX, y: e.clientY })\n if (state.panPointers.size < 2 || !state.panLast || !state.stageEl) {\n return false\n }\n\n if (state.panFrame == null) {\n state.panFrame = requestAnimationFrame(() => {\n state.panFrame = null\n applyGesture(state)\n })\n }\n return true\n}\n\nexport function panPointerUp(state, e) {\n if (!state.panPointers) return\n if (state.panFrame != null) {\n cancelFrame(state)\n applyGesture(state)\n }\n state.panPointers.delete(e.pointerId)\n state.panLast = state.panPointers.size >= 2 ? baseline(state) : null\n}\n\nexport function resetPan(state) {\n cancelFrame(state)\n state.panPointers?.clear()\n state.panLast = null\n}\n"],"names":["midpoint","points","a","b","distance","cancelActiveDrag","state","renderOverlay","baseline","mid","cancelFrame","applyGesture","stage","dist","rect","localX","localY","ratio","previousScale","applyZoom","scaled","panPointerDown","e","panPointerMove","panPointerUp","resetPan"],"mappings":"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"}
1
+ {"version":3,"file":"index.es166.js","sources":["../src/components/organisms/image-editor/engine/touch-pan.js"],"sourcesContent":["import { applyZoom, renderOverlay } from './rendering.js'\n\nfunction midpoint(points) {\n const [a, b] = points\n return { x: (a.x + b.x) / 2, y: (a.y + b.y) / 2 }\n}\n\nfunction distance(points) {\n const [a, b] = points\n return Math.hypot(a.x - b.x, a.y - b.y)\n}\n\nfunction cancelActiveDrag(state) {\n if (!state.dragMode) return\n state.pendingStroke = null\n state.pendingShape = null\n state.dragMode = null\n if (\n state.activePointerId != null &&\n state.overlayEl?.hasPointerCapture?.(state.activePointerId)\n ) {\n state.overlayEl.releasePointerCapture(state.activePointerId)\n }\n state.activePointerId = null\n renderOverlay(state)\n state.notify()\n}\n\nfunction baseline(state) {\n const points = [...state.panPointers.values()].slice(0, 2)\n if (points.length !== 2) return null\n const mid = midpoint(points)\n return { x: mid.x, y: mid.y, distance: distance(points) }\n}\n\nfunction cancelFrame(state) {\n if (state.panFrame == null) return\n cancelAnimationFrame(state.panFrame)\n state.panFrame = null\n}\n\nfunction applyGesture(state) {\n const points = [...state.panPointers.values()].slice(0, 2)\n if (points.length !== 2 || !state.panLast || !state.stageEl) return\n\n const stage = state.stageEl\n const mid = midpoint(points)\n const dist = distance(points)\n const rect = stage.getBoundingClientRect()\n const localX = mid.x - rect.left\n const localY = mid.y - rect.top\n\n if (state.panLast.distance > 0 && dist > 0) {\n const ratio = dist / state.panLast.distance\n if (Math.abs(ratio - 1) > 0.005) {\n const previousScale = state.viewScale\n applyZoom(state, state.zoom * ratio)\n const scaled = state.viewScale / previousScale\n if (scaled !== 1) {\n stage.scrollLeft = (stage.scrollLeft + localX) * scaled - localX\n stage.scrollTop = (stage.scrollTop + localY) * scaled - localY\n }\n }\n }\n\n stage.scrollLeft -= mid.x - state.panLast.x\n stage.scrollTop -= mid.y - state.panLast.y\n state.panLast = { x: mid.x, y: mid.y, distance: dist }\n}\n\nexport function panPointerDown(state, e) {\n if (e.pointerType === 'mouse') return false\n state.panPointers ??= new Map()\n state.panPointers.set(e.pointerId, { x: e.clientX, y: e.clientY })\n if (!state.stageEl || state.panPointers.size < 2) return false\n\n cancelActiveDrag(state)\n state.panLast = baseline(state)\n return true\n}\n\nexport function panPointerMove(state, e) {\n if (!state.panPointers?.has(e.pointerId)) return false\n state.panPointers.set(e.pointerId, { x: e.clientX, y: e.clientY })\n if (state.panPointers.size < 2 || !state.panLast || !state.stageEl) {\n return false\n }\n\n if (state.panFrame == null) {\n state.panFrame = requestAnimationFrame(() => {\n state.panFrame = null\n applyGesture(state)\n })\n }\n return true\n}\n\nexport function panPointerUp(state, e) {\n if (!state.panPointers) return\n if (state.panFrame != null) {\n cancelFrame(state)\n applyGesture(state)\n }\n state.panPointers.delete(e.pointerId)\n state.panLast = state.panPointers.size >= 2 ? baseline(state) : null\n}\n\nexport function resetPan(state) {\n cancelFrame(state)\n state.panPointers?.clear()\n state.panLast = null\n}\n"],"names":["midpoint","points","a","b","distance","cancelActiveDrag","state","renderOverlay","baseline","mid","cancelFrame","applyGesture","stage","dist","rect","localX","localY","ratio","previousScale","applyZoom","scaled","panPointerDown","e","panPointerMove","panPointerUp","resetPan"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { X as s, Type as n, Sticker as c, Shapes as m } from "lucide-react";
2
2
  import e from "react";
3
- import { cn as i } from "./index89.es.js";
3
+ import { cn as i } from "./index.es89.js";
4
4
  function o(t) {
5
5
  return t === "text" ? /* @__PURE__ */ e.createElement(n, { className: "h-3.5 w-3.5 shrink-0 text-light-4" }) : t === "sticker" ? /* @__PURE__ */ e.createElement(c, { className: "h-3.5 w-3.5 shrink-0 text-light-4" }) : /* @__PURE__ */ e.createElement(m, { className: "h-3.5 w-3.5 shrink-0 text-light-4" });
6
6
  }
@@ -36,4 +36,4 @@ function h({ ui: t, engine: a }) {
36
36
  export {
37
37
  h as LayersList
38
38
  };
39
- //# sourceMappingURL=index165.es.js.map
39
+ //# sourceMappingURL=index.es167.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index165.es.js","sources":["../src/components/organisms/image-editor/components/layers-list.tsx"],"sourcesContent":["import { Shapes, Sticker, Type, X } from 'lucide-react'\nimport React from 'react'\n\nimport { cn } from '@/lib/utils'\n\nimport { ImageEditorEngine, ImageEditorUiState } from '../image-editor.types'\n\ninterface LayersListProps {\n ui: ImageEditorUiState\n engine: ImageEditorEngine\n}\n\nfunction layerIcon(type: string) {\n if (type === 'text')\n return <Type className=\"h-3.5 w-3.5 shrink-0 text-light-4\" />\n if (type === 'sticker')\n return <Sticker className=\"h-3.5 w-3.5 shrink-0 text-light-4\" />\n return <Shapes className=\"h-3.5 w-3.5 shrink-0 text-light-4\" />\n}\n\nexport function LayersList({ ui, engine }: LayersListProps) {\n return (\n <div>\n <div className=\"my-3.5 h-px bg-neutral-1\" />\n <div className=\"mb-2 flex items-center justify-between text-xs text-light-4\">\n <span>Layers</span>\n <span>{ui.layers.length || ''}</span>\n </div>\n {!ui.layers.length ? (\n <p className=\"text-xs italic text-light-4\">\n No layers yet. Use Text, Draw, or Shape.\n </p>\n ) : (\n <div className=\"flex flex-col gap-1.5\">\n {[...ui.layers].reverse().map((l) => (\n <div\n key={l.id}\n className={cn(\n 'flex items-center gap-2 rounded-lg border border-neutral-1 bg-white px-2.5 py-1.5 text-xs cursor-pointer',\n ui.selected?.id === l.id && 'border-rest-p1 ring-1 ring-rest-p1'\n )}\n onClick={() => {\n if (ui.mode !== 'select') engine.setMode('select')\n engine.selectLayer(l.id)\n }}\n >\n {layerIcon(l.type)}\n <span className=\"flex-1 truncate\">{l.name}</span>\n <button\n type=\"button\"\n title=\"Delete\"\n onClick={(e) => {\n e.stopPropagation()\n engine.deleteLayer(l.id)\n }}\n className=\"text-light-4 hover:text-danger-1\"\n >\n <X className=\"h-3.5 w-3.5\" />\n </button>\n </div>\n ))}\n </div>\n )}\n </div>\n )\n}\n"],"names":["layerIcon","type","React","Type","Sticker","Shapes","LayersList","ui","engine","l","cn","e","X"],"mappings":";;;AAYA,SAASA,EAAUC,GAAc;AAC/B,SAAIA,MAAS,SACJC,gBAAAA,EAAA,cAACC,GAAA,EAAK,WAAU,oCAAA,CAAoC,IACzDF,MAAS,YACJC,gBAAAA,EAAA,cAACE,GAAA,EAAQ,WAAU,oCAAA,CAAoC,IACzDF,gBAAAA,EAAA,cAACG,GAAA,EAAO,WAAU,oCAAA,CAAoC;AAC/D;AAEO,SAASC,EAAW,EAAE,IAAAC,GAAI,QAAAC,KAA2B;AAC1D,SACEN,gBAAAA,EAAA,cAAC,aACCA,gBAAAA,EAAA,cAAC,OAAA,EAAI,WAAU,2BAAA,CAA2B,mCACzC,OAAA,EAAI,WAAU,iEACbA,gBAAAA,EAAA,cAAC,QAAA,MAAK,QAAM,GACZA,gBAAAA,EAAA,cAAC,cAAMK,EAAG,OAAO,UAAU,EAAG,CAChC,GACEA,EAAG,OAAO,SAKVL,gBAAAA,EAAA,cAAC,OAAA,EAAI,WAAU,wBAAA,GACZ,CAAC,GAAGK,EAAG,MAAM,EAAE,QAAA,EAAU,IAAI,CAACE,MAC7BP,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAKO,EAAE;AAAA,MACP,WAAWC;AAAA,QACT;AAAA,QACAH,EAAG,UAAU,OAAOE,EAAE,MAAM;AAAA,MAAA;AAAA,MAE9B,SAAS,MAAM;AACb,QAAIF,EAAG,SAAS,YAAUC,EAAO,QAAQ,QAAQ,GACjDA,EAAO,YAAYC,EAAE,EAAE;AAAA,MACzB;AAAA,IAAA;AAAA,IAECT,EAAUS,EAAE,IAAI;AAAA,IACjBP,gBAAAA,EAAA,cAAC,QAAA,EAAK,WAAU,kBAAA,GAAmBO,EAAE,IAAK;AAAA,IAC1CP,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,OAAM;AAAA,QACN,SAAS,CAACS,MAAM;AACd,UAAAA,EAAE,gBAAA,GACFH,EAAO,YAAYC,EAAE,EAAE;AAAA,QACzB;AAAA,QACA,WAAU;AAAA,MAAA;AAAA,MAEVP,gBAAAA,EAAA,cAACU,GAAA,EAAE,WAAU,cAAA,CAAc;AAAA,IAAA;AAAA,EAC7B,CAEH,CACH,IAhCAV,gBAAAA,EAAA,cAAC,KAAA,EAAE,WAAU,8BAAA,GAA8B,0CAE3C,CAgCJ;AAEJ;"}
1
+ {"version":3,"file":"index.es167.js","sources":["../src/components/organisms/image-editor/components/layers-list.tsx"],"sourcesContent":["import { Shapes, Sticker, Type, X } from 'lucide-react'\nimport React from 'react'\n\nimport { cn } from '@/lib/utils'\n\nimport { ImageEditorEngine, ImageEditorUiState } from '../image-editor.types'\n\ninterface LayersListProps {\n ui: ImageEditorUiState\n engine: ImageEditorEngine\n}\n\nfunction layerIcon(type: string) {\n if (type === 'text')\n return <Type className=\"h-3.5 w-3.5 shrink-0 text-light-4\" />\n if (type === 'sticker')\n return <Sticker className=\"h-3.5 w-3.5 shrink-0 text-light-4\" />\n return <Shapes className=\"h-3.5 w-3.5 shrink-0 text-light-4\" />\n}\n\nexport function LayersList({ ui, engine }: LayersListProps) {\n return (\n <div>\n <div className=\"my-3.5 h-px bg-neutral-1\" />\n <div className=\"mb-2 flex items-center justify-between text-xs text-light-4\">\n <span>Layers</span>\n <span>{ui.layers.length || ''}</span>\n </div>\n {!ui.layers.length ? (\n <p className=\"text-xs italic text-light-4\">\n No layers yet. Use Text, Draw, or Shape.\n </p>\n ) : (\n <div className=\"flex flex-col gap-1.5\">\n {[...ui.layers].reverse().map((l) => (\n <div\n key={l.id}\n className={cn(\n 'flex items-center gap-2 rounded-lg border border-neutral-1 bg-white px-2.5 py-1.5 text-xs cursor-pointer',\n ui.selected?.id === l.id && 'border-rest-p1 ring-1 ring-rest-p1'\n )}\n onClick={() => {\n if (ui.mode !== 'select') engine.setMode('select')\n engine.selectLayer(l.id)\n }}\n >\n {layerIcon(l.type)}\n <span className=\"flex-1 truncate\">{l.name}</span>\n <button\n type=\"button\"\n title=\"Delete\"\n onClick={(e) => {\n e.stopPropagation()\n engine.deleteLayer(l.id)\n }}\n className=\"text-light-4 hover:text-danger-1\"\n >\n <X className=\"h-3.5 w-3.5\" />\n </button>\n </div>\n ))}\n </div>\n )}\n </div>\n )\n}\n"],"names":["layerIcon","type","React","Type","Sticker","Shapes","LayersList","ui","engine","l","cn","e","X"],"mappings":";;;AAYA,SAASA,EAAUC,GAAc;AAC/B,SAAIA,MAAS,SACJC,gBAAAA,EAAA,cAACC,GAAA,EAAK,WAAU,oCAAA,CAAoC,IACzDF,MAAS,YACJC,gBAAAA,EAAA,cAACE,GAAA,EAAQ,WAAU,oCAAA,CAAoC,IACzDF,gBAAAA,EAAA,cAACG,GAAA,EAAO,WAAU,oCAAA,CAAoC;AAC/D;AAEO,SAASC,EAAW,EAAE,IAAAC,GAAI,QAAAC,KAA2B;AAC1D,SACEN,gBAAAA,EAAA,cAAC,aACCA,gBAAAA,EAAA,cAAC,OAAA,EAAI,WAAU,2BAAA,CAA2B,mCACzC,OAAA,EAAI,WAAU,iEACbA,gBAAAA,EAAA,cAAC,QAAA,MAAK,QAAM,GACZA,gBAAAA,EAAA,cAAC,cAAMK,EAAG,OAAO,UAAU,EAAG,CAChC,GACEA,EAAG,OAAO,SAKVL,gBAAAA,EAAA,cAAC,OAAA,EAAI,WAAU,wBAAA,GACZ,CAAC,GAAGK,EAAG,MAAM,EAAE,QAAA,EAAU,IAAI,CAACE,MAC7BP,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAKO,EAAE;AAAA,MACP,WAAWC;AAAA,QACT;AAAA,QACAH,EAAG,UAAU,OAAOE,EAAE,MAAM;AAAA,MAAA;AAAA,MAE9B,SAAS,MAAM;AACb,QAAIF,EAAG,SAAS,YAAUC,EAAO,QAAQ,QAAQ,GACjDA,EAAO,YAAYC,EAAE,EAAE;AAAA,MACzB;AAAA,IAAA;AAAA,IAECT,EAAUS,EAAE,IAAI;AAAA,IACjBP,gBAAAA,EAAA,cAAC,QAAA,EAAK,WAAU,kBAAA,GAAmBO,EAAE,IAAK;AAAA,IAC1CP,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,OAAM;AAAA,QACN,SAAS,CAACS,MAAM;AACd,UAAAA,EAAE,gBAAA,GACFH,EAAO,YAAYC,EAAE,EAAE;AAAA,QACzB;AAAA,QACA,WAAU;AAAA,MAAA;AAAA,MAEVP,gBAAAA,EAAA,cAACU,GAAA,EAAE,WAAU,cAAA,CAAc;AAAA,IAAA;AAAA,EAC7B,CAEH,CACH,IAhCAV,gBAAAA,EAAA,cAAC,KAAA,EAAE,WAAU,8BAAA,GAA8B,0CAE3C,CAgCJ;AAEJ;"}
@@ -1,7 +1,7 @@
1
1
  import t from "react";
2
- import { Slider as i } from "./index30.es.js";
3
- import { SwatchGrid as n } from "./index38.es.js";
4
- import { FILTERS as r } from "./index148.es.js";
2
+ import { Slider as i } from "./index.es30.js";
3
+ import { SwatchGrid as n } from "./index.es38.js";
4
+ import { FILTERS as r } from "./index.es143.js";
5
5
  const s = [
6
6
  { key: "brightness", label: "Brightness", suffix: "%", min: 0, max: 200 },
7
7
  { key: "contrast", label: "Contrast", suffix: "%", min: 0, max: 200 },
@@ -33,4 +33,4 @@ function o({ adjustments: a, engine: l }) {
33
33
  export {
34
34
  o as PanelAdjust
35
35
  };
36
- //# sourceMappingURL=index166.es.js.map
36
+ //# sourceMappingURL=index.es168.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index166.es.js","sources":["../src/components/organisms/image-editor/components/panel-adjust.tsx"],"sourcesContent":["import React from 'react'\n\nimport { Slider } from '@/components/molecules/slider'\nimport { SwatchGrid } from '@/components/molecules/swatch-grid'\n\nimport {\n ImageEditorAdjustments,\n ImageEditorEngine,\n} from '../image-editor.types'\nimport { FILTERS } from '../picture-studio-engine'\n\nconst SLIDERS: {\n key: Exclude<keyof ImageEditorAdjustments, 'filter'>\n label: string\n suffix: string\n min: number\n max: number\n}[] = [\n { key: 'brightness', label: 'Brightness', suffix: '%', min: 0, max: 200 },\n { key: 'contrast', label: 'Contrast', suffix: '%', min: 0, max: 200 },\n { key: 'saturate', label: 'Saturation', suffix: '%', min: 0, max: 200 },\n { key: 'sepia', label: 'Warmth', suffix: '%', min: 0, max: 100 },\n { key: 'blur', label: 'Blur', suffix: 'px', min: 0, max: 12 },\n { key: 'hue', label: 'Hue', suffix: '°', min: 0, max: 360 },\n]\n\ninterface PanelAdjustProps {\n adjustments: ImageEditorAdjustments\n engine: ImageEditorEngine\n}\n\nexport function PanelAdjust({ adjustments, engine }: PanelAdjustProps) {\n return (\n <div>\n {SLIDERS.map((s) => (\n <div key={s.key} className=\"mb-3\">\n <div className=\"mb-1 flex justify-between text-xs\">\n <span>{s.label}</span>\n <span className=\"tabular-nums text-light-4\">\n {adjustments[s.key]}\n {s.suffix}\n </span>\n </div>\n <Slider\n min={s.min}\n max={s.max}\n step={1}\n value={[adjustments[s.key]]}\n onValueChange={([v]) => engine.setAdjustment(s.key, v)}\n />\n </div>\n ))}\n <div className=\"my-3.5 h-px bg-neutral-1\" />\n <span className=\"mb-2 block text-xs text-light-4\">Artistic filters</span>\n <SwatchGrid\n columns={2}\n value={adjustments.filter}\n onSelect={(id) => engine.setFilter(id)}\n items={FILTERS.map((f) => ({ value: f.id, label: f.name }))}\n />\n </div>\n )\n}\n"],"names":["SLIDERS","PanelAdjust","adjustments","engine","React","s","Slider","v","SwatchGrid","id","FILTERS","f"],"mappings":";;;;AAWA,MAAMA,IAMA;AAAA,EACJ,EAAE,KAAK,cAAc,OAAO,cAAc,QAAQ,KAAK,KAAK,GAAG,KAAK,IAAA;AAAA,EACpE,EAAE,KAAK,YAAY,OAAO,YAAY,QAAQ,KAAK,KAAK,GAAG,KAAK,IAAA;AAAA,EAChE,EAAE,KAAK,YAAY,OAAO,cAAc,QAAQ,KAAK,KAAK,GAAG,KAAK,IAAA;AAAA,EAClE,EAAE,KAAK,SAAS,OAAO,UAAU,QAAQ,KAAK,KAAK,GAAG,KAAK,IAAA;AAAA,EAC3D,EAAE,KAAK,QAAQ,OAAO,QAAQ,QAAQ,MAAM,KAAK,GAAG,KAAK,GAAA;AAAA,EACzD,EAAE,KAAK,OAAO,OAAO,OAAO,QAAQ,KAAK,KAAK,GAAG,KAAK,IAAA;AACxD;AAOO,SAASC,EAAY,EAAE,aAAAC,GAAa,QAAAC,KAA4B;AACrE,SACEC,gBAAAA,EAAA,cAAC,OAAA,MACEJ,EAAQ,IAAI,CAACK,MACZD,gBAAAA,EAAA,cAAC,OAAA,EAAI,KAAKC,EAAE,KAAK,WAAU,OAAA,mCACxB,OAAA,EAAI,WAAU,oCAAA,GACbD,gBAAAA,EAAA,cAAC,QAAA,MAAMC,EAAE,KAAM,mCACd,QAAA,EAAK,WAAU,4BAAA,GACbH,EAAYG,EAAE,GAAG,GACjBA,EAAE,MACL,CACF,GACAD,gBAAAA,EAAA;AAAA,IAACE;AAAA,IAAA;AAAA,MACC,KAAKD,EAAE;AAAA,MACP,KAAKA,EAAE;AAAA,MACP,MAAM;AAAA,MACN,OAAO,CAACH,EAAYG,EAAE,GAAG,CAAC;AAAA,MAC1B,eAAe,CAAC,CAACE,CAAC,MAAMJ,EAAO,cAAcE,EAAE,KAAKE,CAAC;AAAA,IAAA;AAAA,EAAA,CAEzD,CACD,GACDH,gBAAAA,EAAA,cAAC,OAAA,EAAI,WAAU,4BAA2B,GAC1CA,gBAAAA,EAAA,cAAC,QAAA,EAAK,WAAU,kCAAA,GAAkC,kBAAgB,GAClEA,gBAAAA,EAAA;AAAA,IAACI;AAAA,IAAA;AAAA,MACC,SAAS;AAAA,MACT,OAAON,EAAY;AAAA,MACnB,UAAU,CAACO,MAAON,EAAO,UAAUM,CAAE;AAAA,MACrC,OAAOC,EAAQ,IAAI,CAACC,OAAO,EAAE,OAAOA,EAAE,IAAI,OAAOA,EAAE,KAAA,EAAO;AAAA,IAAA;AAAA,EAAA,CAE9D;AAEJ;"}
1
+ {"version":3,"file":"index.es168.js","sources":["../src/components/organisms/image-editor/components/panel-adjust.tsx"],"sourcesContent":["import React from 'react'\n\nimport { Slider } from '@/components/molecules/slider'\nimport { SwatchGrid } from '@/components/molecules/swatch-grid'\n\nimport {\n ImageEditorAdjustments,\n ImageEditorEngine,\n} from '../image-editor.types'\nimport { FILTERS } from '../picture-studio-engine'\n\nconst SLIDERS: {\n key: Exclude<keyof ImageEditorAdjustments, 'filter'>\n label: string\n suffix: string\n min: number\n max: number\n}[] = [\n { key: 'brightness', label: 'Brightness', suffix: '%', min: 0, max: 200 },\n { key: 'contrast', label: 'Contrast', suffix: '%', min: 0, max: 200 },\n { key: 'saturate', label: 'Saturation', suffix: '%', min: 0, max: 200 },\n { key: 'sepia', label: 'Warmth', suffix: '%', min: 0, max: 100 },\n { key: 'blur', label: 'Blur', suffix: 'px', min: 0, max: 12 },\n { key: 'hue', label: 'Hue', suffix: '°', min: 0, max: 360 },\n]\n\ninterface PanelAdjustProps {\n adjustments: ImageEditorAdjustments\n engine: ImageEditorEngine\n}\n\nexport function PanelAdjust({ adjustments, engine }: PanelAdjustProps) {\n return (\n <div>\n {SLIDERS.map((s) => (\n <div key={s.key} className=\"mb-3\">\n <div className=\"mb-1 flex justify-between text-xs\">\n <span>{s.label}</span>\n <span className=\"tabular-nums text-light-4\">\n {adjustments[s.key]}\n {s.suffix}\n </span>\n </div>\n <Slider\n min={s.min}\n max={s.max}\n step={1}\n value={[adjustments[s.key]]}\n onValueChange={([v]) => engine.setAdjustment(s.key, v)}\n />\n </div>\n ))}\n <div className=\"my-3.5 h-px bg-neutral-1\" />\n <span className=\"mb-2 block text-xs text-light-4\">Artistic filters</span>\n <SwatchGrid\n columns={2}\n value={adjustments.filter}\n onSelect={(id) => engine.setFilter(id)}\n items={FILTERS.map((f) => ({ value: f.id, label: f.name }))}\n />\n </div>\n )\n}\n"],"names":["SLIDERS","PanelAdjust","adjustments","engine","React","s","Slider","v","SwatchGrid","id","FILTERS","f"],"mappings":";;;;AAWA,MAAMA,IAMA;AAAA,EACJ,EAAE,KAAK,cAAc,OAAO,cAAc,QAAQ,KAAK,KAAK,GAAG,KAAK,IAAA;AAAA,EACpE,EAAE,KAAK,YAAY,OAAO,YAAY,QAAQ,KAAK,KAAK,GAAG,KAAK,IAAA;AAAA,EAChE,EAAE,KAAK,YAAY,OAAO,cAAc,QAAQ,KAAK,KAAK,GAAG,KAAK,IAAA;AAAA,EAClE,EAAE,KAAK,SAAS,OAAO,UAAU,QAAQ,KAAK,KAAK,GAAG,KAAK,IAAA;AAAA,EAC3D,EAAE,KAAK,QAAQ,OAAO,QAAQ,QAAQ,MAAM,KAAK,GAAG,KAAK,GAAA;AAAA,EACzD,EAAE,KAAK,OAAO,OAAO,OAAO,QAAQ,KAAK,KAAK,GAAG,KAAK,IAAA;AACxD;AAOO,SAASC,EAAY,EAAE,aAAAC,GAAa,QAAAC,KAA4B;AACrE,SACEC,gBAAAA,EAAA,cAAC,OAAA,MACEJ,EAAQ,IAAI,CAACK,MACZD,gBAAAA,EAAA,cAAC,OAAA,EAAI,KAAKC,EAAE,KAAK,WAAU,OAAA,mCACxB,OAAA,EAAI,WAAU,oCAAA,GACbD,gBAAAA,EAAA,cAAC,QAAA,MAAMC,EAAE,KAAM,mCACd,QAAA,EAAK,WAAU,4BAAA,GACbH,EAAYG,EAAE,GAAG,GACjBA,EAAE,MACL,CACF,GACAD,gBAAAA,EAAA;AAAA,IAACE;AAAA,IAAA;AAAA,MACC,KAAKD,EAAE;AAAA,MACP,KAAKA,EAAE;AAAA,MACP,MAAM;AAAA,MACN,OAAO,CAACH,EAAYG,EAAE,GAAG,CAAC;AAAA,MAC1B,eAAe,CAAC,CAACE,CAAC,MAAMJ,EAAO,cAAcE,EAAE,KAAKE,CAAC;AAAA,IAAA;AAAA,EAAA,CAEzD,CACD,GACDH,gBAAAA,EAAA,cAAC,OAAA,EAAI,WAAU,4BAA2B,GAC1CA,gBAAAA,EAAA,cAAC,QAAA,EAAK,WAAU,kCAAA,GAAkC,kBAAgB,GAClEA,gBAAAA,EAAA;AAAA,IAACI;AAAA,IAAA;AAAA,MACC,SAAS;AAAA,MACT,OAAON,EAAY;AAAA,MACnB,UAAU,CAACO,MAAON,EAAO,UAAUM,CAAE;AAAA,MACrC,OAAOC,EAAQ,IAAI,CAACC,OAAO,EAAE,OAAOA,EAAE,IAAI,OAAOA,EAAE,KAAA,EAAO;AAAA,IAAA;AAAA,EAAA,CAE9D;AAEJ;"}
@@ -1,7 +1,7 @@
1
1
  import e from "react";
2
- import { SingleSelect as l } from "./index29.es.js";
3
- import { CROP_RATIOS as o } from "./index148.es.js";
4
- import { useImageEditorPortalContainer as n } from "./index143.es.js";
2
+ import { SingleSelect as l } from "./index.es29.js";
3
+ import { CROP_RATIOS as o } from "./index.es143.js";
4
+ import { useImageEditorPortalContainer as n } from "./index.es137.js";
5
5
  function s({ ui: r, engine: t }) {
6
6
  const a = n();
7
7
  return /* @__PURE__ */ e.createElement("div", null, /* @__PURE__ */ e.createElement("p", { className: "mb-3.5 text-xs leading-relaxed text-light-4" }, "Drag a box on the image, then apply."), /* @__PURE__ */ e.createElement("span", { className: "mb-1 block text-xs text-light-4" }, "Aspect ratio"), /* @__PURE__ */ e.createElement(
@@ -33,4 +33,4 @@ function s({ ui: r, engine: t }) {
33
33
  export {
34
34
  s as PanelCrop
35
35
  };
36
- //# sourceMappingURL=index167.es.js.map
36
+ //# sourceMappingURL=index.es169.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index167.es.js","sources":["../src/components/organisms/image-editor/components/panel-crop.tsx"],"sourcesContent":["import React from 'react'\n\nimport { SingleSelect } from '@/components/molecules/single-select'\n\nimport { ImageEditorEngine, ImageEditorUiState } from '../image-editor.types'\nimport { CROP_RATIOS } from '../picture-studio-engine'\nimport { useImageEditorPortalContainer } from './portal-context'\n\ninterface PanelCropProps {\n ui: ImageEditorUiState\n engine: ImageEditorEngine\n}\n\nexport function PanelCrop({ ui, engine }: PanelCropProps) {\n const container = useImageEditorPortalContainer()\n return (\n <div>\n <p className=\"mb-3.5 text-xs leading-relaxed text-light-4\">\n Drag a box on the image, then apply.\n </p>\n <span className=\"mb-1 block text-xs text-light-4\">Aspect ratio</span>\n <SingleSelect\n items={CROP_RATIOS}\n value={ui.cropRatio}\n onValueChange={engine.setCropRatio}\n container={container}\n />\n <div className=\"my-3.5 h-px bg-neutral-1\" />\n <button\n type=\"button\"\n onClick={engine.applyCrop}\n className=\"mb-2 w-full rounded-lg bg-rest-p1 py-2.5 text-sm text-white hover:bg-hover-p1\"\n >\n Apply crop\n </button>\n <button\n type=\"button\"\n onClick={engine.cancelCrop}\n className=\"w-full rounded-lg border border-neutral-1 bg-white py-2.5 text-sm hover:bg-light-3\"\n >\n Cancel\n </button>\n </div>\n )\n}\n"],"names":["PanelCrop","ui","engine","container","useImageEditorPortalContainer","React","SingleSelect","CROP_RATIOS"],"mappings":";;;;AAaO,SAASA,EAAU,EAAE,IAAAC,GAAI,QAAAC,KAA0B;AACxD,QAAMC,IAAYC,EAAA;AAClB,SACEC,gBAAAA,EAAA,cAAC,OAAA,MACCA,gBAAAA,EAAA,cAAC,KAAA,EAAE,WAAU,8CAAA,GAA8C,sCAE3D,GACAA,gBAAAA,EAAA,cAAC,QAAA,EAAK,WAAU,qCAAkC,cAAY,GAC9DA,gBAAAA,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,OAAOC;AAAA,MACP,OAAON,EAAG;AAAA,MACV,eAAeC,EAAO;AAAA,MACtB,WAAAC;AAAA,IAAA;AAAA,EAAA,GAEFE,gBAAAA,EAAA,cAAC,OAAA,EAAI,WAAU,4BAA2B,GAC1CA,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,SAASH,EAAO;AAAA,MAChB,WAAU;AAAA,IAAA;AAAA,IACX;AAAA,EAAA,GAGDG,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,SAASH,EAAO;AAAA,MAChB,WAAU;AAAA,IAAA;AAAA,IACX;AAAA,EAAA,CAGH;AAEJ;"}
1
+ {"version":3,"file":"index.es169.js","sources":["../src/components/organisms/image-editor/components/panel-crop.tsx"],"sourcesContent":["import React from 'react'\n\nimport { SingleSelect } from '@/components/molecules/single-select'\n\nimport { ImageEditorEngine, ImageEditorUiState } from '../image-editor.types'\nimport { CROP_RATIOS } from '../picture-studio-engine'\nimport { useImageEditorPortalContainer } from './portal-context'\n\ninterface PanelCropProps {\n ui: ImageEditorUiState\n engine: ImageEditorEngine\n}\n\nexport function PanelCrop({ ui, engine }: PanelCropProps) {\n const container = useImageEditorPortalContainer()\n return (\n <div>\n <p className=\"mb-3.5 text-xs leading-relaxed text-light-4\">\n Drag a box on the image, then apply.\n </p>\n <span className=\"mb-1 block text-xs text-light-4\">Aspect ratio</span>\n <SingleSelect\n items={CROP_RATIOS}\n value={ui.cropRatio}\n onValueChange={engine.setCropRatio}\n container={container}\n />\n <div className=\"my-3.5 h-px bg-neutral-1\" />\n <button\n type=\"button\"\n onClick={engine.applyCrop}\n className=\"mb-2 w-full rounded-lg bg-rest-p1 py-2.5 text-sm text-white hover:bg-hover-p1\"\n >\n Apply crop\n </button>\n <button\n type=\"button\"\n onClick={engine.cancelCrop}\n className=\"w-full rounded-lg border border-neutral-1 bg-white py-2.5 text-sm hover:bg-light-3\"\n >\n Cancel\n </button>\n </div>\n )\n}\n"],"names":["PanelCrop","ui","engine","container","useImageEditorPortalContainer","React","SingleSelect","CROP_RATIOS"],"mappings":";;;;AAaO,SAASA,EAAU,EAAE,IAAAC,GAAI,QAAAC,KAA0B;AACxD,QAAMC,IAAYC,EAAA;AAClB,SACEC,gBAAAA,EAAA,cAAC,OAAA,MACCA,gBAAAA,EAAA,cAAC,KAAA,EAAE,WAAU,8CAAA,GAA8C,sCAE3D,GACAA,gBAAAA,EAAA,cAAC,QAAA,EAAK,WAAU,qCAAkC,cAAY,GAC9DA,gBAAAA,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,OAAOC;AAAA,MACP,OAAON,EAAG;AAAA,MACV,eAAeC,EAAO;AAAA,MACtB,WAAAC;AAAA,IAAA;AAAA,EAAA,GAEFE,gBAAAA,EAAA,cAAC,OAAA,EAAI,WAAU,4BAA2B,GAC1CA,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,SAASH,EAAO;AAAA,MAChB,WAAU;AAAA,IAAA;AAAA,IACX;AAAA,EAAA,GAGDG,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,SAASH,EAAO;AAAA,MAChB,WAAU;AAAA,IAAA;AAAA,IACX;AAAA,EAAA,CAGH;AAEJ;"}
@@ -1,7 +1,7 @@
1
1
  import * as t from "react";
2
2
  import * as e from "@radix-ui/react-tooltip";
3
- import { cn as m } from "./index89.es.js";
4
- import { Typography as o } from "./index19.es.js";
3
+ import { cn as m } from "./index.es89.js";
4
+ import { Typography as o } from "./index.es19.js";
5
5
  const f = e.Provider, g = e.Root, h = e.Trigger, n = t.forwardRef(({ className: a, sideOffset: i = 4, headerText: r, content: l, ...d }, s) => /* @__PURE__ */ t.createElement(
6
6
  e.Content,
7
7
  {
@@ -22,4 +22,4 @@ export {
22
22
  h as TooltipTrigger,
23
23
  g as TooltipWrapper
24
24
  };
25
- //# sourceMappingURL=index17.es.js.map
25
+ //# sourceMappingURL=index.es17.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index17.es.js","sources":["../src/components/atoms/tooltip/tooltip-components.tsx"],"sourcesContent":["'use client'\n\nimport * as React from 'react'\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip'\n\nimport { cn } from '@/lib/utils'\nimport { Typography } from '@/components/atoms/typography'\n\nconst TooltipProvider = TooltipPrimitive.Provider\n\nconst Tooltip = TooltipPrimitive.Root\n\nconst TooltipTrigger = TooltipPrimitive.Trigger\n\ntype TooltipContentProps = {\n headerText: React.ReactNode\n content: React.ReactNode\n} & Omit<\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>,\n 'content'\n>\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n TooltipContentProps\n>(({ className, sideOffset = 4, headerText, content, ...props }, ref) => (\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n 'z-50 overflow-hidden bg-light-1 rounded-lg bg p-3 text-xs text-light-4 animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 border border-neutral-1 max-w-96 shadow-lg',\n className\n )}\n {...props}\n >\n <div className=\"flex gap-0.5 flex-col\">\n <Typography variant={'body5'} className=\"text-light-2\">\n {headerText}\n </Typography>\n <Typography variant={'body6'} className=\"text-light-4\">\n {content}\n </Typography>\n </div>\n </TooltipPrimitive.Content>\n))\nTooltipContent.displayName = TooltipPrimitive.Content.displayName\n\nexport {\n Tooltip as TooltipWrapper,\n TooltipTrigger,\n TooltipContent,\n TooltipProvider,\n}\n"],"names":["TooltipProvider","TooltipPrimitive","Tooltip","TooltipTrigger","TooltipContent","React","className","sideOffset","headerText","content","props","ref","cn","Typography"],"mappings":";;;;AAQA,MAAMA,IAAkBC,EAAiB,UAEnCC,IAAUD,EAAiB,MAE3BE,IAAiBF,EAAiB,SAUlCG,IAAiBC,EAAM,WAG3B,CAAC,EAAE,WAAAC,GAAW,YAAAC,IAAa,GAAG,YAAAC,GAAY,SAAAC,GAAS,GAAGC,EAAA,GAASC,MAC/D,gBAAAN,EAAA;AAAA,EAACJ,EAAiB;AAAA,EAAjB;AAAA,IACC,KAAAU;AAAA,IACA,YAAAJ;AAAA,IACA,WAAWK;AAAA,MACT;AAAA,MACAN;AAAA,IAAA;AAAA,IAED,GAAGI;AAAA,EAAA;AAAA,kCAEH,OAAA,EAAI,WAAU,2BACb,gBAAAL,EAAA,cAACQ,GAAA,EAAW,SAAS,SAAS,WAAU,kBACrCL,CACH,mCACCK,GAAA,EAAW,SAAS,SAAS,WAAU,eAAA,GACrCJ,CACH,CACF;AACF,CACD;AACDL,EAAe,cAAcH,EAAiB,QAAQ;"}
1
+ {"version":3,"file":"index.es17.js","sources":["../src/components/atoms/tooltip/tooltip-components.tsx"],"sourcesContent":["'use client'\n\nimport * as React from 'react'\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip'\n\nimport { cn } from '@/lib/utils'\nimport { Typography } from '@/components/atoms/typography'\n\nconst TooltipProvider = TooltipPrimitive.Provider\n\nconst Tooltip = TooltipPrimitive.Root\n\nconst TooltipTrigger = TooltipPrimitive.Trigger\n\ntype TooltipContentProps = {\n headerText: React.ReactNode\n content: React.ReactNode\n} & Omit<\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>,\n 'content'\n>\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n TooltipContentProps\n>(({ className, sideOffset = 4, headerText, content, ...props }, ref) => (\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n 'z-50 overflow-hidden bg-light-1 rounded-lg bg p-3 text-xs text-light-4 animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 border border-neutral-1 max-w-96 shadow-lg',\n className\n )}\n {...props}\n >\n <div className=\"flex gap-0.5 flex-col\">\n <Typography variant={'body5'} className=\"text-light-2\">\n {headerText}\n </Typography>\n <Typography variant={'body6'} className=\"text-light-4\">\n {content}\n </Typography>\n </div>\n </TooltipPrimitive.Content>\n))\nTooltipContent.displayName = TooltipPrimitive.Content.displayName\n\nexport {\n Tooltip as TooltipWrapper,\n TooltipTrigger,\n TooltipContent,\n TooltipProvider,\n}\n"],"names":["TooltipProvider","TooltipPrimitive","Tooltip","TooltipTrigger","TooltipContent","React","className","sideOffset","headerText","content","props","ref","cn","Typography"],"mappings":";;;;AAQA,MAAMA,IAAkBC,EAAiB,UAEnCC,IAAUD,EAAiB,MAE3BE,IAAiBF,EAAiB,SAUlCG,IAAiBC,EAAM,WAG3B,CAAC,EAAE,WAAAC,GAAW,YAAAC,IAAa,GAAG,YAAAC,GAAY,SAAAC,GAAS,GAAGC,EAAA,GAASC,MAC/D,gBAAAN,EAAA;AAAA,EAACJ,EAAiB;AAAA,EAAjB;AAAA,IACC,KAAAU;AAAA,IACA,YAAAJ;AAAA,IACA,WAAWK;AAAA,MACT;AAAA,MACAN;AAAA,IAAA;AAAA,IAED,GAAGI;AAAA,EAAA;AAAA,kCAEH,OAAA,EAAI,WAAU,2BACb,gBAAAL,EAAA,cAACQ,GAAA,EAAW,SAAS,SAAS,WAAU,kBACrCL,CACH,mCACCK,GAAA,EAAW,SAAS,SAAS,WAAU,eAAA,GACrCJ,CACH,CACF;AACF,CACD;AACDL,EAAe,cAAcH,EAAiB,QAAQ;"}
@@ -0,0 +1,101 @@
1
+ import e from "react";
2
+ import { Slider as n } from "./index.es30.js";
3
+ import { Switch as r } from "./index.es15.js";
4
+ import { SingleSelect as s } from "./index.es29.js";
5
+ import { SwatchGrid as o } from "./index.es38.js";
6
+ import { FONTS as i, SHAPES as h } from "./index.es143.js";
7
+ import { ShapeIcons as p } from "./index.es176.js";
8
+ import { ColorPicker as c } from "./index.es177.js";
9
+ import { useImageEditorPortalContainer as d } from "./index.es137.js";
10
+ const E = [
11
+ { label: "Outline only", value: "stroke" },
12
+ { label: "Solid fill", value: "fill" }
13
+ ], x = ["line", "dashedLine"], u = [
14
+ { label: "Marker", value: "round" },
15
+ { label: "Highlighter", value: "highlight" }
16
+ ];
17
+ function T({ ui: t, engine: a }) {
18
+ const m = d();
19
+ return /* @__PURE__ */ e.createElement("div", null, t.mode === "text" && /* @__PURE__ */ e.createElement("div", { className: "mb-3.5" }, /* @__PURE__ */ e.createElement("span", { className: "mb-1 block text-xs text-light-4" }, "Font"), /* @__PURE__ */ e.createElement(
20
+ s,
21
+ {
22
+ items: i,
23
+ value: t.textFont,
24
+ onValueChange: a.setTextFont,
25
+ container: m
26
+ }
27
+ ), /* @__PURE__ */ e.createElement("span", { className: "mb-1 mt-2.5 block text-xs text-light-4" }, "Size"), /* @__PURE__ */ e.createElement(
28
+ n,
29
+ {
30
+ min: 16,
31
+ max: 200,
32
+ step: 1,
33
+ value: [t.textSize],
34
+ onValueChange: ([l]) => a.setTextSize(l)
35
+ }
36
+ )), t.mode === "shape" && /* @__PURE__ */ e.createElement("div", { className: "mb-3.5" }, /* @__PURE__ */ e.createElement("span", { className: "mb-1 block text-xs text-light-4" }, "Shape"), /* @__PURE__ */ e.createElement(
37
+ o,
38
+ {
39
+ columns: 3,
40
+ value: t.selectedShapeType,
41
+ onSelect: a.selectShapeType,
42
+ items: h.map((l) => ({
43
+ value: l.id,
44
+ label: l.name,
45
+ icon: p[l.id]
46
+ }))
47
+ }
48
+ ), /* @__PURE__ */ e.createElement("span", { className: "mb-1 mt-2.5 block text-xs text-light-4" }, "Fill style"), /* @__PURE__ */ e.createElement(
49
+ s,
50
+ {
51
+ items: E,
52
+ value: t.shapeFill,
53
+ onValueChange: (l) => a.setShapeFill(l),
54
+ container: m
55
+ }
56
+ ), /* @__PURE__ */ e.createElement("span", { className: "mb-1 mt-2.5 block text-xs text-light-4" }, "Thickness"), /* @__PURE__ */ e.createElement(
57
+ n,
58
+ {
59
+ min: 1,
60
+ max: 40,
61
+ step: 1,
62
+ value: [t.shapeWidth],
63
+ onValueChange: ([l]) => a.setShapeWidth(l)
64
+ }
65
+ ), x.includes(t.selectedShapeType) && /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement("div", { className: "my-3 h-px bg-neutral-1" }), /* @__PURE__ */ e.createElement("div", { className: "flex items-center justify-between gap-3" }, /* @__PURE__ */ e.createElement("div", null, /* @__PURE__ */ e.createElement("span", { className: "block text-xs font-medium text-light-2" }, "Multi-point line"), /* @__PURE__ */ e.createElement("span", { className: "mt-0.5 block text-[11px] leading-snug text-light-4" }, "Chain corners into one continuous line")), /* @__PURE__ */ e.createElement(
66
+ r,
67
+ {
68
+ checked: t.multiPointMode,
69
+ onCheckedChange: a.setMultiPointMode
70
+ }
71
+ )), t.multiPointMode && /* @__PURE__ */ e.createElement("ul", { className: "mt-2 list-none space-y-1 rounded-md bg-light-3 px-2.5 py-2 text-[11px] leading-relaxed text-light-3" }, /* @__PURE__ */ e.createElement("li", null, "Click to place each corner"), /* @__PURE__ */ e.createElement("li", null, "Hold Shift to snap the angle"), /* @__PURE__ */ e.createElement("li", null, "Backspace undoes the last corner"), /* @__PURE__ */ e.createElement("li", null, "Double-click or Enter to finish"), /* @__PURE__ */ e.createElement("li", null, "Click the first point to close the shape"), /* @__PURE__ */ e.createElement("li", null, "Esc cancels")))), t.mode === "draw" && /* @__PURE__ */ e.createElement("div", { className: "mb-3.5" }, /* @__PURE__ */ e.createElement("span", { className: "mb-1 block text-xs text-light-4" }, "Brush size"), /* @__PURE__ */ e.createElement(
72
+ n,
73
+ {
74
+ min: 1,
75
+ max: 60,
76
+ step: 1,
77
+ value: [t.brushSize],
78
+ onValueChange: ([l]) => a.setBrushSize(l)
79
+ }
80
+ ), /* @__PURE__ */ e.createElement("span", { className: "mb-1 mt-2.5 block text-xs text-light-4" }, "Brush style"), /* @__PURE__ */ e.createElement(
81
+ s,
82
+ {
83
+ items: u,
84
+ value: t.brushStyle,
85
+ onValueChange: (l) => a.setBrushStyle(l),
86
+ container: m
87
+ }
88
+ )), t.mode === "sticker" && /* @__PURE__ */ e.createElement("div", { className: "mb-3.5" }, /* @__PURE__ */ e.createElement(
89
+ o,
90
+ {
91
+ columns: 3,
92
+ onSelect: a.addSticker,
93
+ emptyMessage: /* @__PURE__ */ e.createElement(e.Fragment, null, "No stickers configured — pass a ", /* @__PURE__ */ e.createElement("code", null, "stickers"), " prop with image URLs."),
94
+ items: t.stickers.map((l) => ({ value: l, thumbnail: l }))
95
+ }
96
+ )), t.mode === "text" && /* @__PURE__ */ e.createElement(c, { value: t.textColor, onChange: a.setTextColor }), t.mode === "shape" && /* @__PURE__ */ e.createElement(c, { value: t.shapeColor, onChange: a.setShapeColor }), t.mode === "draw" && /* @__PURE__ */ e.createElement(c, { value: t.drawColor, onChange: a.setDrawColor }));
97
+ }
98
+ export {
99
+ T as PanelInsert
100
+ };
101
+ //# sourceMappingURL=index.es170.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es170.js","sources":["../src/components/organisms/image-editor/components/panel-insert.tsx"],"sourcesContent":["import React from 'react'\n\nimport { Slider } from '@/components/molecules/slider'\nimport { Switch } from '@/components/atoms/switch'\nimport { SingleSelect } from '@/components/molecules/single-select'\nimport { SwatchGrid } from '@/components/molecules/swatch-grid'\n\nimport { ImageEditorEngine, ImageEditorUiState } from '../image-editor.types'\nimport { FONTS, SHAPES } from '../picture-studio-engine'\nimport { ShapeIcons } from './shape-icons'\nimport { ColorPicker } from './color-picker'\nimport { useImageEditorPortalContainer } from './portal-context'\n\ninterface PanelInsertProps {\n ui: ImageEditorUiState\n engine: ImageEditorEngine\n}\n\nconst FILL_ITEMS = [\n { label: 'Outline only', value: 'stroke' },\n { label: 'Solid fill', value: 'fill' },\n]\nconst MULTI_POINT_SHAPES = ['line', 'dashedLine']\n\nconst BRUSH_STYLE_ITEMS = [\n { label: 'Marker', value: 'round' },\n { label: 'Highlighter', value: 'highlight' },\n]\n\nexport function PanelInsert({ ui, engine }: PanelInsertProps) {\n const container = useImageEditorPortalContainer()\n return (\n <div>\n {ui.mode === 'text' && (\n <div className=\"mb-3.5\">\n <span className=\"mb-1 block text-xs text-light-4\">Font</span>\n <SingleSelect\n items={FONTS}\n value={ui.textFont}\n onValueChange={engine.setTextFont}\n container={container}\n />\n <span className=\"mb-1 mt-2.5 block text-xs text-light-4\">Size</span>\n <Slider\n min={16}\n max={200}\n step={1}\n value={[ui.textSize]}\n onValueChange={([v]) => engine.setTextSize(v)}\n />\n </div>\n )}\n\n {ui.mode === 'shape' && (\n <div className=\"mb-3.5\">\n <span className=\"mb-1 block text-xs text-light-4\">Shape</span>\n <SwatchGrid\n columns={3}\n value={ui.selectedShapeType}\n onSelect={engine.selectShapeType}\n items={SHAPES.map((s) => ({\n value: s.id,\n label: s.name,\n icon: ShapeIcons[s.id],\n }))}\n />\n <span className=\"mb-1 mt-2.5 block text-xs text-light-4\">\n Fill style\n </span>\n <SingleSelect\n items={FILL_ITEMS}\n value={ui.shapeFill}\n onValueChange={(v) => engine.setShapeFill(v as 'stroke' | 'fill')}\n container={container}\n />\n <span className=\"mb-1 mt-2.5 block text-xs text-light-4\">\n Thickness\n </span>\n <Slider\n min={1}\n max={40}\n step={1}\n value={[ui.shapeWidth]}\n onValueChange={([v]) => engine.setShapeWidth(v)}\n />\n\n {MULTI_POINT_SHAPES.includes(ui.selectedShapeType) && (\n <>\n <div className=\"my-3 h-px bg-neutral-1\" />\n <div className=\"flex items-center justify-between gap-3\">\n <div>\n <span className=\"block text-xs font-medium text-light-2\">\n Multi-point line\n </span>\n <span className=\"mt-0.5 block text-[11px] leading-snug text-light-4\">\n Chain corners into one continuous line\n </span>\n </div>\n <Switch\n checked={ui.multiPointMode}\n onCheckedChange={engine.setMultiPointMode}\n />\n </div>\n {ui.multiPointMode && (\n <ul className=\"mt-2 list-none space-y-1 rounded-md bg-light-3 px-2.5 py-2 text-[11px] leading-relaxed text-light-3\">\n <li>Click to place each corner</li>\n <li>Hold Shift to snap the angle</li>\n <li>Backspace undoes the last corner</li>\n <li>Double-click or Enter to finish</li>\n <li>Click the first point to close the shape</li>\n <li>Esc cancels</li>\n </ul>\n )}\n </>\n )}\n </div>\n )}\n\n {ui.mode === 'draw' && (\n <div className=\"mb-3.5\">\n <span className=\"mb-1 block text-xs text-light-4\">Brush size</span>\n <Slider\n min={1}\n max={60}\n step={1}\n value={[ui.brushSize]}\n onValueChange={([v]) => engine.setBrushSize(v)}\n />\n <span className=\"mb-1 mt-2.5 block text-xs text-light-4\">\n Brush style\n </span>\n <SingleSelect\n items={BRUSH_STYLE_ITEMS}\n value={ui.brushStyle}\n onValueChange={(v) =>\n engine.setBrushStyle(v as 'round' | 'highlight')\n }\n container={container}\n />\n </div>\n )}\n\n {ui.mode === 'sticker' && (\n <div className=\"mb-3.5\">\n <SwatchGrid\n columns={3}\n onSelect={engine.addSticker}\n emptyMessage={\n <>\n No stickers configured — pass a <code>stickers</code> prop with\n image URLs.\n </>\n }\n items={ui.stickers.map((src) => ({ value: src, thumbnail: src }))}\n />\n </div>\n )}\n\n {ui.mode === 'text' && (\n <ColorPicker value={ui.textColor} onChange={engine.setTextColor} />\n )}\n {ui.mode === 'shape' && (\n <ColorPicker value={ui.shapeColor} onChange={engine.setShapeColor} />\n )}\n {ui.mode === 'draw' && (\n <ColorPicker value={ui.drawColor} onChange={engine.setDrawColor} />\n )}\n </div>\n )\n}\n"],"names":["FILL_ITEMS","MULTI_POINT_SHAPES","BRUSH_STYLE_ITEMS","PanelInsert","ui","engine","container","useImageEditorPortalContainer","React","SingleSelect","FONTS","Slider","v","SwatchGrid","SHAPES","s","ShapeIcons","Switch","src","ColorPicker"],"mappings":"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"}