geoiq-frontend-ui-kit 2.0.1 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (494) hide show
  1. package/dist/components/atoms/badge/badge.styles.d.ts +2 -2
  2. package/dist/components/atoms/button/button.styles.d.ts +2 -2
  3. package/dist/components/atoms/checkbox/checkbox.styles.d.ts +2 -2
  4. package/dist/components/atoms/switch/switch.styles.d.ts +2 -2
  5. package/dist/components/molecules/alert/alert.styles.d.ts +1 -1
  6. package/dist/components/molecules/creatable-multi-combobox/creatable-multi-combobox.d.ts +4 -0
  7. package/dist/components/molecules/creatable-multi-combobox/creatable-multi-combobox.d.ts.map +1 -0
  8. package/dist/components/molecules/creatable-multi-combobox/creatable-multi-combobox.types.d.ts +49 -0
  9. package/dist/components/molecules/creatable-multi-combobox/creatable-multi-combobox.types.d.ts.map +1 -0
  10. package/dist/components/molecules/creatable-multi-combobox/index.d.ts +4 -0
  11. package/dist/components/molecules/creatable-multi-combobox/index.d.ts.map +1 -0
  12. package/dist/components/molecules/single-select/index.d.ts.map +1 -1
  13. package/dist/components/molecules/single-select/single-select-components.d.ts +3 -1
  14. package/dist/components/molecules/single-select/single-select-components.d.ts.map +1 -1
  15. package/dist/components/molecules/single-select/single-select.types.d.ts +9 -0
  16. package/dist/components/molecules/single-select/single-select.types.d.ts.map +1 -1
  17. package/dist/components/molecules/split-button/split-button.styles.d.ts +3 -3
  18. package/dist/components/molecules/swatch-grid/index.d.ts +3 -0
  19. package/dist/components/molecules/swatch-grid/index.d.ts.map +1 -0
  20. package/dist/components/molecules/swatch-grid/swatch-grid.d.ts +4 -0
  21. package/dist/components/molecules/swatch-grid/swatch-grid.d.ts.map +1 -0
  22. package/dist/components/molecules/swatch-grid/swatch-grid.types.d.ts +17 -0
  23. package/dist/components/molecules/swatch-grid/swatch-grid.types.d.ts.map +1 -0
  24. package/dist/components/molecules/tabs/tabs.d.ts.map +1 -1
  25. package/dist/components/molecules/tabs/tabs.styles.d.ts +2 -2
  26. package/dist/components/molecules/tabs/tabs.types.d.ts +1 -0
  27. package/dist/components/molecules/tabs/tabs.types.d.ts.map +1 -1
  28. package/dist/components/organisms/dialog/dialog.d.ts +1 -1
  29. package/dist/components/organisms/dialog/dialog.d.ts.map +1 -1
  30. package/dist/components/organisms/dialog/dialog.types.d.ts +9 -0
  31. package/dist/components/organisms/dialog/dialog.types.d.ts.map +1 -1
  32. package/dist/components/organisms/image-editor/components/color-picker.d.ts +7 -0
  33. package/dist/components/organisms/image-editor/components/color-picker.d.ts.map +1 -0
  34. package/dist/components/organisms/image-editor/components/layers-list.d.ts +9 -0
  35. package/dist/components/organisms/image-editor/components/layers-list.d.ts.map +1 -0
  36. package/dist/components/organisms/image-editor/components/panel-adjust.d.ts +9 -0
  37. package/dist/components/organisms/image-editor/components/panel-adjust.d.ts.map +1 -0
  38. package/dist/components/organisms/image-editor/components/panel-crop.d.ts +9 -0
  39. package/dist/components/organisms/image-editor/components/panel-crop.d.ts.map +1 -0
  40. package/dist/components/organisms/image-editor/components/panel-insert.d.ts +9 -0
  41. package/dist/components/organisms/image-editor/components/panel-insert.d.ts.map +1 -0
  42. package/dist/components/organisms/image-editor/components/panel-selected.d.ts +9 -0
  43. package/dist/components/organisms/image-editor/components/panel-selected.d.ts.map +1 -0
  44. package/dist/components/organisms/image-editor/components/panel.d.ts +9 -0
  45. package/dist/components/organisms/image-editor/components/panel.d.ts.map +1 -0
  46. package/dist/components/organisms/image-editor/components/portal-context.d.ts +3 -0
  47. package/dist/components/organisms/image-editor/components/portal-context.d.ts.map +1 -0
  48. package/dist/components/organisms/image-editor/components/ribbon.d.ts +9 -0
  49. package/dist/components/organisms/image-editor/components/ribbon.d.ts.map +1 -0
  50. package/dist/components/organisms/image-editor/components/shape-icons.d.ts +4 -0
  51. package/dist/components/organisms/image-editor/components/shape-icons.d.ts.map +1 -0
  52. package/dist/components/organisms/image-editor/components/stage.d.ts +18 -0
  53. package/dist/components/organisms/image-editor/components/stage.d.ts.map +1 -0
  54. package/dist/components/organisms/image-editor/components/status-bar.d.ts +6 -0
  55. package/dist/components/organisms/image-editor/components/status-bar.d.ts.map +1 -0
  56. package/dist/components/organisms/image-editor/image-editor-modal.d.ts +10 -0
  57. package/dist/components/organisms/image-editor/image-editor-modal.d.ts.map +1 -0
  58. package/dist/components/organisms/image-editor/image-editor.d.ts +5 -0
  59. package/dist/components/organisms/image-editor/image-editor.d.ts.map +1 -0
  60. package/dist/components/organisms/image-editor/image-editor.types.d.ts +182 -0
  61. package/dist/components/organisms/image-editor/image-editor.types.d.ts.map +1 -0
  62. package/dist/components/organisms/image-editor/index.d.ts +4 -0
  63. package/dist/components/organisms/image-editor/index.d.ts.map +1 -0
  64. package/dist/components/organisms/image-editor/native-bridge.d.ts +3 -0
  65. package/dist/components/organisms/image-editor/native-bridge.d.ts.map +1 -0
  66. package/dist/components/organisms/image-editor/picture-studio-engine.d.ts +16 -0
  67. package/dist/components/organisms/image-editor/use-image-editor.d.ts +4 -0
  68. package/dist/components/organisms/image-editor/use-image-editor.d.ts.map +1 -0
  69. package/dist/components/organisms/navbar/navbar-desktop.d.ts.map +1 -1
  70. package/dist/components/organisms/navbar/navbar-extended.d.ts.map +1 -1
  71. package/dist/components/organisms/navbar/navbar-mobile.d.ts.map +1 -1
  72. package/dist/components/organisms/navbar/navbar.types.d.ts +17 -0
  73. package/dist/components/organisms/navbar/navbar.types.d.ts.map +1 -1
  74. package/dist/components/organisms/sheet/sheet.d.ts +1 -1
  75. package/dist/components/organisms/sheet/sheet.d.ts.map +1 -1
  76. package/dist/components/organisms/sheet/sheet.types.d.ts +1 -0
  77. package/dist/components/organisms/sheet/sheet.types.d.ts.map +1 -1
  78. package/dist/components/organisms/sidebar/sidebar-components.d.ts +1 -1
  79. package/dist/components/ui/brand-switcher/brand-switcher.d.ts +5 -0
  80. package/dist/components/ui/brand-switcher/brand-switcher.d.ts.map +1 -0
  81. package/dist/components/ui/brand-switcher/brand-switcher.types.d.ts +29 -0
  82. package/dist/components/ui/brand-switcher/brand-switcher.types.d.ts.map +1 -0
  83. package/dist/components/ui/brand-switcher/index.d.ts +3 -0
  84. package/dist/components/ui/brand-switcher/index.d.ts.map +1 -0
  85. package/dist/components/ui/credit-sheet/credit-sheet.d.ts.map +1 -1
  86. package/dist/components/ui/credit-sheet/credit-sheet.types.d.ts +3 -0
  87. package/dist/components/ui/credit-sheet/credit-sheet.types.d.ts.map +1 -1
  88. package/dist/components/ui/credits-indicator/credits-indicator.d.ts +6 -0
  89. package/dist/components/ui/credits-indicator/credits-indicator.d.ts.map +1 -0
  90. package/dist/components/ui/credits-indicator/credits-indicator.styles.d.ts +7 -0
  91. package/dist/components/ui/credits-indicator/credits-indicator.styles.d.ts.map +1 -0
  92. package/dist/components/ui/credits-indicator/credits-indicator.types.d.ts +14 -0
  93. package/dist/components/ui/credits-indicator/credits-indicator.types.d.ts.map +1 -0
  94. package/dist/components/ui/credits-indicator/index.d.ts +3 -0
  95. package/dist/components/ui/credits-indicator/index.d.ts.map +1 -0
  96. package/dist/components/ui/form-renderer/components/form-fields/components/multi-image-picker/index.d.ts.map +1 -1
  97. package/dist/components/ui/form-renderer/components/form-fields/components/single-image-picker/index.d.ts.map +1 -1
  98. package/dist/components/ui/form-renderer/components/form-fields/components/taggable-multi-image-picker/index.d.ts.map +1 -1
  99. package/dist/components/ui/form-renderer/components/form-fields/components/taggable-multi-image-picker-with-input/index.d.ts.map +1 -1
  100. package/dist/components/ui/form-renderer/components/form-fields/index.d.ts.map +1 -1
  101. package/dist/components/ui/form-renderer/components/form-read-only-view.d.ts.map +1 -1
  102. package/dist/components/ui/form-renderer/context/form-values/form-values.context.d.ts +4 -0
  103. package/dist/components/ui/form-renderer/context/form-values/form-values.context.d.ts.map +1 -1
  104. package/dist/components/ui/form-renderer/context/form-values/form-values.provider.d.ts +2 -0
  105. package/dist/components/ui/form-renderer/context/form-values/form-values.provider.d.ts.map +1 -1
  106. package/dist/components/ui/form-renderer/form-renderer.d.ts +10 -0
  107. package/dist/components/ui/form-renderer/form-renderer.d.ts.map +1 -1
  108. package/dist/components/ui/form-renderer/form.enums.d.ts +1 -0
  109. package/dist/components/ui/form-renderer/form.enums.d.ts.map +1 -1
  110. package/dist/components/ui/form-renderer/form.types.d.ts +20 -1
  111. package/dist/components/ui/form-renderer/form.types.d.ts.map +1 -1
  112. package/dist/components/ui/map-marker-hover-card/components/map-cluster-hover-card.d.ts +1 -1
  113. package/dist/components/ui/map-marker-hover-card/components/map-cluster-hover-card.d.ts.map +1 -1
  114. package/dist/components/ui/report-snippet-view/report-snippet-view-components.d.ts.map +1 -1
  115. package/dist/components/ui/request-credits-view/component/request-credit-dialog.d.ts.map +1 -1
  116. package/dist/components/ui/request-credits-view/component/request-credit-dialog.types.d.ts +3 -0
  117. package/dist/components/ui/request-credits-view/component/request-credit-dialog.types.d.ts.map +1 -1
  118. package/dist/components/ui/request-credits-view/index.d.ts +1 -0
  119. package/dist/components/ui/request-credits-view/index.d.ts.map +1 -1
  120. package/dist/components/ui/request-credits-view/request-credits-view.d.ts.map +1 -1
  121. package/dist/components/ui/request-credits-view/request-credits-view.types.d.ts +3 -0
  122. package/dist/components/ui/request-credits-view/request-credits-view.types.d.ts.map +1 -1
  123. package/dist/components/unstyled/spinner/spinner.styles.d.ts +1 -1
  124. package/dist/index.d.ts +8 -0
  125. package/dist/index.d.ts.map +1 -1
  126. package/dist/index.es.js +210 -193
  127. package/dist/index.es.js.map +1 -1
  128. package/dist/index.es10.js +30 -23
  129. package/dist/index.es10.js.map +1 -1
  130. package/dist/index.es100.js +120 -10
  131. package/dist/index.es100.js.map +1 -1
  132. package/dist/index.es101.js +16 -97
  133. package/dist/index.es101.js.map +1 -1
  134. package/dist/index.es102.js +41 -60
  135. package/dist/index.es102.js.map +1 -1
  136. package/dist/index.es103.js +13 -54
  137. package/dist/index.es103.js.map +1 -1
  138. package/dist/index.es104.js +68 -5
  139. package/dist/index.es104.js.map +1 -1
  140. package/dist/index.es105.js +32 -9
  141. package/dist/index.es105.js.map +1 -1
  142. package/dist/index.es106.js +19 -32
  143. package/dist/index.es106.js.map +1 -1
  144. package/dist/index.es107.js +18 -61
  145. package/dist/index.es107.js.map +1 -1
  146. package/dist/index.es108.js +12 -22
  147. package/dist/index.es108.js.map +1 -1
  148. package/dist/index.es109.js +98 -22
  149. package/dist/index.es109.js.map +1 -1
  150. package/dist/index.es11.js +77 -25
  151. package/dist/index.es11.js.map +1 -1
  152. package/dist/index.es110.js +62 -21
  153. package/dist/index.es110.js.map +1 -1
  154. package/dist/index.es111.js +48 -174
  155. package/dist/index.es111.js.map +1 -1
  156. package/dist/index.es112.js +39 -37
  157. package/dist/index.es112.js.map +1 -1
  158. package/dist/index.es113.js +10 -40
  159. package/dist/index.es113.js.map +1 -1
  160. package/dist/index.es114.js +88 -37
  161. package/dist/index.es114.js.map +1 -1
  162. package/dist/index.es115.js +15 -13
  163. package/dist/index.es115.js.map +1 -1
  164. package/dist/index.es116.js +88 -261
  165. package/dist/index.es116.js.map +1 -1
  166. package/dist/index.es117.js +14 -9
  167. package/dist/index.es117.js.map +1 -1
  168. package/dist/index.es118.js +101 -67
  169. package/dist/index.es118.js.map +1 -1
  170. package/dist/index.es119.js +23 -185
  171. package/dist/index.es119.js.map +1 -1
  172. package/dist/index.es12.js +26 -14
  173. package/dist/index.es12.js.map +1 -1
  174. package/dist/index.es120.js +25 -23
  175. package/dist/index.es120.js.map +1 -1
  176. package/dist/index.es121.js +22 -177
  177. package/dist/index.es121.js.map +1 -1
  178. package/dist/index.es122.js +43 -7
  179. package/dist/index.es122.js.map +1 -1
  180. package/dist/index.es123.js +32 -84
  181. package/dist/index.es123.js.map +1 -1
  182. package/dist/index.es124.js +63 -37
  183. package/dist/index.es124.js.map +1 -1
  184. package/dist/index.es125.js +180 -11
  185. package/dist/index.es125.js.map +1 -1
  186. package/dist/index.es126.js +13 -35
  187. package/dist/index.es126.js.map +1 -1
  188. package/dist/index.es127.js +9 -16
  189. package/dist/index.es127.js.map +1 -1
  190. package/dist/index.es128.js +68 -5
  191. package/dist/index.es128.js.map +1 -1
  192. package/dist/index.es129.js +185 -10
  193. package/dist/index.es129.js.map +1 -1
  194. package/dist/index.es13.js +27 -19
  195. package/dist/index.es13.js.map +1 -1
  196. package/dist/index.es130.js +22 -10
  197. package/dist/index.es130.js.map +1 -1
  198. package/dist/index.es131.js +203 -2
  199. package/dist/index.es131.js.map +1 -1
  200. package/dist/index.es132.js +40 -22
  201. package/dist/index.es132.js.map +1 -1
  202. package/dist/index.es133.js +11 -257
  203. package/dist/index.es133.js.map +1 -1
  204. package/dist/index.es134.js +7 -35
  205. package/dist/index.es134.js.map +1 -1
  206. package/dist/index.es135.js +34 -8
  207. package/dist/index.es135.js.map +1 -1
  208. package/dist/index.es136.js +36 -78
  209. package/dist/index.es136.js.map +1 -1
  210. package/dist/index.es137.js +2 -76
  211. package/dist/index.es137.js.map +1 -1
  212. package/dist/index.es138.js +21 -110
  213. package/dist/index.es138.js.map +1 -1
  214. package/dist/index.es139.js +14 -107
  215. package/dist/index.es139.js.map +1 -1
  216. package/dist/index.es14.js +16 -46
  217. package/dist/index.es14.js.map +1 -1
  218. package/dist/index.es140.js +7 -87
  219. package/dist/index.es140.js.map +1 -1
  220. package/dist/index.es141.js +21 -128
  221. package/dist/index.es141.js.map +1 -1
  222. package/dist/index.es142.js +155 -114
  223. package/dist/index.es142.js.map +1 -1
  224. package/dist/index.es143.js +82 -6
  225. package/dist/index.es143.js.map +1 -1
  226. package/dist/index.es144.js +8 -0
  227. package/dist/index.es144.js.map +1 -0
  228. package/dist/index.es145.js +59 -0
  229. package/dist/index.es145.js.map +1 -0
  230. package/dist/index.es146.js +120 -0
  231. package/dist/index.es146.js.map +1 -0
  232. package/dist/index.es147.js +325 -0
  233. package/dist/index.es147.js.map +1 -0
  234. package/dist/index.es148.js +31 -0
  235. package/dist/index.es148.js.map +1 -0
  236. package/dist/index.es149.js +71 -0
  237. package/dist/index.es149.js.map +1 -0
  238. package/dist/index.es15.js +18 -21
  239. package/dist/index.es15.js.map +1 -1
  240. package/dist/index.es150.js +35 -0
  241. package/dist/index.es150.js.map +1 -0
  242. package/dist/index.es151.js +28 -0
  243. package/dist/index.es151.js.map +1 -0
  244. package/dist/index.es152.js +41 -0
  245. package/dist/index.es152.js.map +1 -0
  246. package/dist/index.es153.js +146 -0
  247. package/dist/index.es153.js.map +1 -0
  248. package/dist/index.es154.js +147 -0
  249. package/dist/index.es154.js.map +1 -0
  250. package/dist/index.es155.js +50 -0
  251. package/dist/index.es155.js.map +1 -0
  252. package/dist/index.es156.js +15 -0
  253. package/dist/index.es156.js.map +1 -0
  254. package/dist/index.es157.js +47 -0
  255. package/dist/index.es157.js.map +1 -0
  256. package/dist/index.es158.js +8 -0
  257. package/dist/index.es158.js.map +1 -0
  258. package/dist/index.es159.js +14 -0
  259. package/dist/index.es159.js.map +1 -0
  260. package/dist/index.es16.js +44 -22
  261. package/dist/index.es16.js.map +1 -1
  262. package/dist/index.es160.js +14 -0
  263. package/dist/index.es160.js.map +1 -0
  264. package/dist/index.es161.js +5 -0
  265. package/dist/index.es161.js.map +1 -0
  266. package/dist/index.es162.js +94 -0
  267. package/dist/index.es162.js.map +1 -0
  268. package/dist/index.es163.js +216 -0
  269. package/dist/index.es163.js.map +1 -0
  270. package/dist/index.es164.js +57 -0
  271. package/dist/index.es164.js.map +1 -0
  272. package/dist/index.es165.js +39 -0
  273. package/dist/index.es165.js.map +1 -0
  274. package/dist/index.es166.js +36 -0
  275. package/dist/index.es166.js.map +1 -0
  276. package/dist/index.es167.js +36 -0
  277. package/dist/index.es167.js.map +1 -0
  278. package/dist/index.es168.js +94 -0
  279. package/dist/index.es168.js.map +1 -0
  280. package/dist/index.es169.js +120 -0
  281. package/dist/index.es169.js.map +1 -0
  282. package/dist/index.es17.js +22 -20
  283. package/dist/index.es17.js.map +1 -1
  284. package/dist/index.es170.js +289 -0
  285. package/dist/index.es170.js.map +1 -0
  286. package/dist/index.es171.js +38 -0
  287. package/dist/index.es171.js.map +1 -0
  288. package/dist/index.es172.js +14 -0
  289. package/dist/index.es172.js.map +1 -0
  290. package/dist/index.es173.js +87 -0
  291. package/dist/index.es173.js.map +1 -0
  292. package/dist/index.es174.js +79 -0
  293. package/dist/index.es174.js.map +1 -0
  294. package/dist/index.es175.js +118 -0
  295. package/dist/index.es175.js.map +1 -0
  296. package/dist/index.es176.js +112 -0
  297. package/dist/index.es176.js.map +1 -0
  298. package/dist/index.es177.js +90 -0
  299. package/dist/index.es177.js.map +1 -0
  300. package/dist/index.es178.js +133 -0
  301. package/dist/index.es178.js.map +1 -0
  302. package/dist/index.es179.js +133 -0
  303. package/dist/index.es179.js.map +1 -0
  304. package/dist/index.es18.js +23 -73
  305. package/dist/index.es18.js.map +1 -1
  306. package/dist/index.es180.js +29 -0
  307. package/dist/index.es180.js.map +1 -0
  308. package/dist/index.es181.js +27 -0
  309. package/dist/index.es181.js.map +1 -0
  310. package/dist/index.es182.js +9 -0
  311. package/dist/index.es182.js.map +1 -0
  312. package/dist/index.es19.js +18 -48
  313. package/dist/index.es19.js.map +1 -1
  314. package/dist/index.es2.js +120 -22
  315. package/dist/index.es2.js.map +1 -1
  316. package/dist/index.es20.js +70 -45
  317. package/dist/index.es20.js.map +1 -1
  318. package/dist/index.es21.js +43 -122
  319. package/dist/index.es21.js.map +1 -1
  320. package/dist/index.es22.js +39 -96
  321. package/dist/index.es22.js.map +1 -1
  322. package/dist/index.es23.js +113 -152
  323. package/dist/index.es23.js.map +1 -1
  324. package/dist/index.es24.js +98 -64
  325. package/dist/index.es24.js.map +1 -1
  326. package/dist/index.es25.js +160 -77
  327. package/dist/index.es25.js.map +1 -1
  328. package/dist/index.es26.js +69 -51
  329. package/dist/index.es26.js.map +1 -1
  330. package/dist/index.es27.js +82 -17
  331. package/dist/index.es27.js.map +1 -1
  332. package/dist/index.es28.js +274 -2
  333. package/dist/index.es28.js.map +1 -1
  334. package/dist/index.es29.js +55 -5
  335. package/dist/index.es29.js.map +1 -1
  336. package/dist/index.es3.js +40 -41
  337. package/dist/index.es3.js.map +1 -1
  338. package/dist/index.es30.js +16 -75
  339. package/dist/index.es30.js.map +1 -1
  340. package/dist/index.es31.js +2 -28
  341. package/dist/index.es31.js.map +1 -1
  342. package/dist/index.es32.js +4 -84
  343. package/dist/index.es32.js.map +1 -1
  344. package/dist/index.es33.js +72 -43
  345. package/dist/index.es33.js.map +1 -1
  346. package/dist/index.es34.js +25 -68
  347. package/dist/index.es34.js.map +1 -1
  348. package/dist/index.es35.js +85 -12
  349. package/dist/index.es35.js.map +1 -1
  350. package/dist/index.es36.js +47 -85
  351. package/dist/index.es36.js.map +1 -1
  352. package/dist/index.es37.js +63 -32
  353. package/dist/index.es37.js.map +1 -1
  354. package/dist/index.es38.js +49 -40
  355. package/dist/index.es38.js.map +1 -1
  356. package/dist/index.es39.js +12 -98
  357. package/dist/index.es39.js.map +1 -1
  358. package/dist/index.es4.js +17 -17
  359. package/dist/index.es4.js.map +1 -1
  360. package/dist/index.es40.js +81 -156
  361. package/dist/index.es40.js.map +1 -1
  362. package/dist/index.es41.js +39 -226
  363. package/dist/index.es41.js.map +1 -1
  364. package/dist/index.es42.js +40 -269
  365. package/dist/index.es42.js.map +1 -1
  366. package/dist/index.es43.js +97 -21
  367. package/dist/index.es43.js.map +1 -1
  368. package/dist/index.es44.js +15 -9
  369. package/dist/index.es44.js.map +1 -1
  370. package/dist/index.es45.js +64 -20
  371. package/dist/index.es45.js.map +1 -1
  372. package/dist/index.es46.js +159 -61
  373. package/dist/index.es46.js.map +1 -1
  374. package/dist/index.es47.js +226 -123
  375. package/dist/index.es47.js.map +1 -1
  376. package/dist/index.es48.js +300 -109
  377. package/dist/index.es48.js.map +1 -1
  378. package/dist/index.es49.js +19 -31
  379. package/dist/index.es49.js.map +1 -1
  380. package/dist/index.es5.js +33 -31
  381. package/dist/index.es5.js.map +1 -1
  382. package/dist/index.es50.js +8 -142
  383. package/dist/index.es50.js.map +1 -1
  384. package/dist/index.es51.js +18 -70
  385. package/dist/index.es51.js.map +1 -1
  386. package/dist/index.es52.js +69 -21
  387. package/dist/index.es52.js.map +1 -1
  388. package/dist/index.es53.js +143 -103
  389. package/dist/index.es53.js.map +1 -1
  390. package/dist/index.es54.js +123 -11
  391. package/dist/index.es54.js.map +1 -1
  392. package/dist/index.es55.js +103 -18
  393. package/dist/index.es55.js.map +1 -1
  394. package/dist/index.es56.js +73 -11
  395. package/dist/index.es56.js.map +1 -1
  396. package/dist/index.es57.js +141 -16
  397. package/dist/index.es57.js.map +1 -1
  398. package/dist/index.es58.js +67 -40
  399. package/dist/index.es58.js.map +1 -1
  400. package/dist/index.es59.js +22 -86
  401. package/dist/index.es59.js.map +1 -1
  402. package/dist/index.es6.js +19 -23
  403. package/dist/index.es6.js.map +1 -1
  404. package/dist/index.es60.js +104 -7
  405. package/dist/index.es60.js.map +1 -1
  406. package/dist/index.es61.js +11 -41
  407. package/dist/index.es61.js.map +1 -1
  408. package/dist/index.es62.js +19 -79
  409. package/dist/index.es62.js.map +1 -1
  410. package/dist/index.es63.js +10 -35
  411. package/dist/index.es63.js.map +1 -1
  412. package/dist/index.es64.js +16 -86
  413. package/dist/index.es64.js.map +1 -1
  414. package/dist/index.es65.js +43 -58
  415. package/dist/index.es65.js.map +1 -1
  416. package/dist/index.es66.js +86 -69
  417. package/dist/index.es66.js.map +1 -1
  418. package/dist/index.es67.js +7 -32
  419. package/dist/index.es67.js.map +1 -1
  420. package/dist/index.es68.js +39 -65
  421. package/dist/index.es68.js.map +1 -1
  422. package/dist/index.es69.js +79 -28
  423. package/dist/index.es69.js.map +1 -1
  424. package/dist/index.es7.js +38 -43
  425. package/dist/index.es7.js.map +1 -1
  426. package/dist/index.es70.js +66 -84
  427. package/dist/index.es70.js.map +1 -1
  428. package/dist/index.es71.js +88 -11
  429. package/dist/index.es71.js.map +1 -1
  430. package/dist/index.es72.js +59 -46
  431. package/dist/index.es72.js.map +1 -1
  432. package/dist/index.es73.js +65 -108
  433. package/dist/index.es73.js.map +1 -1
  434. package/dist/index.es74.js +30 -15
  435. package/dist/index.es74.js.map +1 -1
  436. package/dist/index.es75.js +56 -35
  437. package/dist/index.es75.js.map +1 -1
  438. package/dist/index.es76.js +18 -19
  439. package/dist/index.es76.js.map +1 -1
  440. package/dist/index.es77.js +30 -38
  441. package/dist/index.es77.js.map +1 -1
  442. package/dist/index.es78.js +85 -28
  443. package/dist/index.es78.js.map +1 -1
  444. package/dist/index.es79.js +10 -94
  445. package/dist/index.es79.js.map +1 -1
  446. package/dist/index.es8.js +26 -33
  447. package/dist/index.es8.js.map +1 -1
  448. package/dist/index.es80.js +47 -2
  449. package/dist/index.es80.js.map +1 -1
  450. package/dist/index.es81.js +113 -6
  451. package/dist/index.es81.js.map +1 -1
  452. package/dist/index.es82.js +16 -26
  453. package/dist/index.es82.js.map +1 -1
  454. package/dist/index.es83.js +42 -109
  455. package/dist/index.es83.js.map +1 -1
  456. package/dist/index.es84.js +27 -22
  457. package/dist/index.es84.js.map +1 -1
  458. package/dist/index.es85.js +39 -18
  459. package/dist/index.es85.js.map +1 -1
  460. package/dist/index.es86.js +27 -18
  461. package/dist/index.es86.js.map +1 -1
  462. package/dist/index.es87.js +94 -18
  463. package/dist/index.es87.js.map +1 -1
  464. package/dist/index.es88.js +1 -18
  465. package/dist/index.es88.js.map +1 -1
  466. package/dist/index.es89.js +6 -49
  467. package/dist/index.es89.js.map +1 -1
  468. package/dist/index.es9.js +37 -72
  469. package/dist/index.es9.js.map +1 -1
  470. package/dist/index.es90.js +23 -84
  471. package/dist/index.es90.js.map +1 -1
  472. package/dist/index.es91.js +96 -99
  473. package/dist/index.es91.js.map +1 -1
  474. package/dist/index.es92.js +24 -16
  475. package/dist/index.es92.js.map +1 -1
  476. package/dist/index.es93.js +16 -22
  477. package/dist/index.es93.js.map +1 -1
  478. package/dist/index.es94.js +17 -100
  479. package/dist/index.es94.js.map +1 -1
  480. package/dist/index.es95.js +16 -71
  481. package/dist/index.es95.js.map +1 -1
  482. package/dist/index.es96.js +16 -42
  483. package/dist/index.es96.js.map +1 -1
  484. package/dist/index.es97.js +9 -32
  485. package/dist/index.es97.js.map +1 -1
  486. package/dist/index.es98.js +269 -15
  487. package/dist/index.es98.js.map +1 -1
  488. package/dist/index.es99.js +85 -17
  489. package/dist/index.es99.js.map +1 -1
  490. package/dist/lib/constants.d.ts +2 -0
  491. package/dist/lib/constants.d.ts.map +1 -0
  492. package/dist/styles.css +363 -31
  493. package/dist/ui-kit-preset.js +2 -1
  494. package/package.json +1 -1
@@ -1,132 +1,173 @@
1
- import * as e from "react";
2
- import { useState as $, useRef as x } from "react";
3
- import { Input as R } from "./index.es9.js";
4
- import { Typography as g } from "./index.es17.js";
5
- import { Spinner as T } from "./index.es57.js";
6
- import { Upload as U, Pen as I, X as z } from "lucide-react";
7
- import { useFormValues as C } from "./index.es130.js";
8
- import { useToast as M } from "./index.es79.js";
9
- const q = ({
10
- id: p,
11
- onChange: c,
12
- value: l = [],
13
- accept: E = "image/*",
14
- error: u,
15
- maxImages: r = 20,
16
- placeholder: f
17
- }) => {
18
- const { onAssetUpload: h, onToggleImageEditor: y } = C(), { toast: o } = M(), [s, b] = $(!1), m = x(null), N = async (a) => {
19
- const t = a.target.files;
20
- if (!(!t?.length || s)) {
21
- if (l.length + t.length > r) {
22
- o({
23
- title: "Alert!",
24
- description: `Maximum ${r} images allowed.`,
25
- icon: "warning"
26
- });
27
- return;
28
- }
29
- if (h) {
30
- b(!0);
31
- try {
32
- const i = Array.from(t).map((d) => h(d)), A = (await Promise.all(i)).map((d) => ({ ...d, tag: "" }));
33
- c([...l, ...A]), o({
34
- title: "Alert!",
35
- description: `${t.length} ${t.length === 1 ? "image" : "images"} uploaded successfully.`,
36
- icon: "success"
37
- });
38
- } catch {
39
- o({
40
- title: "Alert!",
41
- description: "Error uploading images",
42
- icon: "warning"
43
- });
44
- } finally {
45
- b(!1), m.current && (m.current.value = "");
46
- }
47
- }
48
- }
49
- }, w = () => {
50
- !s && l.length < r ? m.current?.click() : l.length >= r && o({
51
- title: "Alert!",
52
- description: `Maximum ${r} images allowed.`,
53
- icon: "warning"
54
- });
55
- }, v = (a) => {
56
- if (!s) {
57
- const t = [...l];
58
- t.splice(a, 1), c(t);
59
- }
60
- }, k = (a, t) => {
61
- const i = [...l], n = i[t];
62
- i.splice(t, 1, { ...n, ...a }), c(i);
63
- };
64
- return /* @__PURE__ */ e.createElement("div", { className: "relative" }, s && /* @__PURE__ */ e.createElement("div", { className: "absolute inset-0 z-10 flex items-center justify-center bg-white bg-opacity-70" }, /* @__PURE__ */ e.createElement(T, { className: "w-8 h-8 text-primary-1" })), /* @__PURE__ */ e.createElement("div", { className: "relative p-8 border-2 border-dashed rounded-lg border-primary-1 bg-primary-1" }, /* @__PURE__ */ e.createElement(
1
+ import { ImagePlus as s, Undo2 as i, Redo2 as d, RefreshCcw as b, RotateCcw as p, RotateCw as h, FlipHorizontal2 as E, FlipVertical2 as u, MousePointer2 as w, Crop as f, Type as N, Pen as x, Shapes as v, Sticker as C, ZoomOut as g, ZoomIn as k } from "lucide-react";
2
+ import e from "react";
3
+ import { Button as R } from "./index.es9.js";
4
+ import { cn as y } from "./index.es89.js";
5
+ function c({
6
+ icon: a,
7
+ label: t,
8
+ active: r,
9
+ disabled: o,
10
+ onClick: l
11
+ }) {
12
+ return /* @__PURE__ */ e.createElement(
13
+ R,
14
+ {
15
+ variant: "secondary",
16
+ size: "sm",
17
+ disabled: o,
18
+ onClick: l,
19
+ className: y(
20
+ "w-auto flex-col gap-0.5 h-auto min-w-[52px] border-neutral-1 px-2 py-1.5 text-[10.5px]",
21
+ r && "border-rest-p1 bg-rest-p1 text-white hover:bg-hover-p1"
22
+ )
23
+ },
24
+ a,
25
+ t
26
+ );
27
+ }
28
+ function Z({
29
+ zoomPercent: a,
30
+ canZoomIn: t,
31
+ canZoomOut: r,
32
+ disabled: o,
33
+ onZoomIn: l,
34
+ onZoomOut: n,
35
+ onZoomReset: m
36
+ }) {
37
+ return /* @__PURE__ */ e.createElement("div", { className: "flex items-center gap-0.5 rounded-lg border border-neutral-1 bg-white p-0.5" }, /* @__PURE__ */ e.createElement(
65
38
  "button",
66
39
  {
67
- className: "w-full",
68
- onClick: w,
69
40
  type: "button",
70
- disabled: s || l.length >= r
41
+ title: "Zoom out",
42
+ disabled: o || !r,
43
+ onClick: n,
44
+ className: "flex h-7 w-7 items-center justify-center rounded-md text-light-2 hover:bg-light-2 disabled:pointer-events-none disabled:opacity-40"
71
45
  },
72
- /* @__PURE__ */ e.createElement("div", { className: "flex flex-col items-center gap-3 text-center" }, /* @__PURE__ */ e.createElement("div", { className: "bg-gray-100 rounded-full" }, /* @__PURE__ */ e.createElement(U, { className: "w-6 h-6 text-gray-500" })), /* @__PURE__ */ e.createElement(g, { variant: "body1", className: "text-gray-600" }, s ? "Uploading..." : l.length >= r ? `Maximum ${r} images reached` : "Add Images"), l.length > 0 && /* @__PURE__ */ e.createElement(g, { variant: "body1", className: "text-gray-500" }, l.length, " of ", r, " images"))
46
+ /* @__PURE__ */ e.createElement(g, { className: "h-4 w-4" })
73
47
  ), /* @__PURE__ */ e.createElement(
74
- "input",
75
- {
76
- ref: m,
77
- id: `${p}-gallery`,
78
- type: "file",
79
- accept: E,
80
- disabled: s || l.length >= r,
81
- onChange: N,
82
- className: "hidden",
83
- multiple: !0
84
- }
85
- ), u && /* @__PURE__ */ e.createElement(g, { variant: "body1", className: "mt-1 text-danger-1" }, u)), l.length > 0 && /* @__PURE__ */ e.createElement("div", { className: "grid grid-cols-2 gap-4 mt-4 sm:grid-cols-3 md:grid-cols-4" }, l.map((a, t) => /* @__PURE__ */ e.createElement("div", { key: a.private_url, className: "flex flex-col gap-2" }, /* @__PURE__ */ e.createElement("div", { key: t, className: "relative flex rounded" }, /* @__PURE__ */ e.createElement(
86
- "img",
87
- {
88
- src: a.public_url,
89
- alt: `Preview ${t + 1}`,
90
- className: "object-cover w-full h-24 rounded"
91
- }
92
- ), y && /* @__PURE__ */ e.createElement(
93
48
  "button",
94
49
  {
95
- onClick: () => {
96
- y({
97
- imageUrl: a.public_url,
98
- index: t,
99
- onReplaceImage: k
100
- });
101
- },
102
- className: "absolute p-1 text-white bg-white rounded-full left-2 top-2 opacity-70 hover:opacity-100"
50
+ type: "button",
51
+ title: "Reset zoom to fit",
52
+ disabled: o,
53
+ onClick: m,
54
+ className: "min-w-[38px] rounded-md py-1 text-[11px] font-medium text-light-2 hover:bg-light-2 disabled:pointer-events-none disabled:opacity-40"
103
55
  },
104
- /* @__PURE__ */ e.createElement(I, { size: 16, className: "stroke-danger" })
56
+ a,
57
+ "%"
105
58
  ), /* @__PURE__ */ e.createElement(
106
59
  "button",
107
60
  {
108
- onClick: () => v(t),
109
- className: "absolute p-1 text-white bg-white rounded-full right-2 top-2 opacity-70 hover:opacity-100",
110
61
  type: "button",
111
- disabled: s
62
+ title: "Zoom in",
63
+ disabled: o || !t,
64
+ onClick: l,
65
+ className: "flex h-7 w-7 items-center justify-center rounded-md text-light-2 hover:bg-light-2 disabled:pointer-events-none disabled:opacity-40"
112
66
  },
113
- /* @__PURE__ */ e.createElement(z, { size: 16, className: "stroke-danger" })
114
- )), /* @__PURE__ */ e.createElement(
115
- R,
67
+ /* @__PURE__ */ e.createElement(k, { className: "h-4 w-4" })
68
+ ));
69
+ }
70
+ const O = [
71
+ {
72
+ mode: "select",
73
+ label: "Select",
74
+ icon: /* @__PURE__ */ e.createElement(w, { className: "h-4 w-4" })
75
+ },
76
+ { mode: "crop", label: "Crop", icon: /* @__PURE__ */ e.createElement(f, { className: "h-4 w-4" }) },
77
+ { mode: "text", label: "Text", icon: /* @__PURE__ */ e.createElement(N, { className: "h-4 w-4" }) },
78
+ { mode: "draw", label: "Draw", icon: /* @__PURE__ */ e.createElement(x, { className: "h-4 w-4" }) },
79
+ { mode: "shape", label: "Shape", icon: /* @__PURE__ */ e.createElement(v, { className: "h-4 w-4" }) },
80
+ { mode: "sticker", label: "Sticker", icon: /* @__PURE__ */ e.createElement(C, { className: "h-4 w-4" }) }
81
+ ];
82
+ function F({ ui: a, engine: t, onOpenFile: r }) {
83
+ const o = !a.hasImage;
84
+ return /* @__PURE__ */ e.createElement("div", { className: "flex items-stretch gap-2 overflow-x-auto overscroll-x-contain border-b border-neutral-1 bg-light-3 p-2" }, a.canOpenImage && /* @__PURE__ */ e.createElement("div", { className: "flex items-center gap-1.5 border-r border-neutral-1 pr-2" }, /* @__PURE__ */ e.createElement(
85
+ c,
116
86
  {
117
- id: p + t,
118
- type: "text",
119
- placeholder: f || "",
120
- value: a.tag,
121
- required: !0,
122
- onChange: (i) => {
123
- const n = [...l];
124
- n[t].tag = i.target.value, c(n);
125
- }
87
+ icon: /* @__PURE__ */ e.createElement(s, { className: "h-4 w-4" }),
88
+ label: "Open",
89
+ onClick: r
126
90
  }
127
- )))));
128
- };
91
+ )), /* @__PURE__ */ e.createElement("div", { className: "mr-auto flex items-center gap-1.5" }, O.map((l) => /* @__PURE__ */ e.createElement(
92
+ c,
93
+ {
94
+ key: l.mode,
95
+ icon: l.icon,
96
+ label: l.label,
97
+ disabled: o,
98
+ active: a.mode === l.mode,
99
+ onClick: () => t.setMode(l.mode)
100
+ }
101
+ ))), /* @__PURE__ */ e.createElement("div", { className: "ml-auto flex items-center" }, /* @__PURE__ */ e.createElement(
102
+ Z,
103
+ {
104
+ zoomPercent: a.zoomPercent,
105
+ canZoomIn: a.canZoomIn,
106
+ canZoomOut: a.canZoomOut,
107
+ disabled: o,
108
+ onZoomIn: t.zoomIn,
109
+ onZoomOut: t.zoomOut,
110
+ onZoomReset: t.zoomToFit
111
+ }
112
+ )), /* @__PURE__ */ e.createElement("div", { className: "ml-auto flex items-center gap-1.5 border-l border-neutral-1 pl-2" }, /* @__PURE__ */ e.createElement(
113
+ c,
114
+ {
115
+ icon: /* @__PURE__ */ e.createElement(i, { className: "h-4 w-4" }),
116
+ label: "Undo",
117
+ disabled: !a.canUndo,
118
+ onClick: t.undo
119
+ }
120
+ ), /* @__PURE__ */ e.createElement(
121
+ c,
122
+ {
123
+ icon: /* @__PURE__ */ e.createElement(d, { className: "h-4 w-4" }),
124
+ label: "Redo",
125
+ disabled: !a.canRedo,
126
+ onClick: t.redo
127
+ }
128
+ ), /* @__PURE__ */ e.createElement(
129
+ c,
130
+ {
131
+ icon: /* @__PURE__ */ e.createElement(b, { className: "h-4 w-4" }),
132
+ label: "Reset",
133
+ disabled: !a.canReset,
134
+ onClick: t.resetToOriginal
135
+ }
136
+ )), /* @__PURE__ */ e.createElement("div", { className: "flex items-center gap-1.5 border-l border-neutral-1 pl-2" }, /* @__PURE__ */ e.createElement(
137
+ c,
138
+ {
139
+ icon: /* @__PURE__ */ e.createElement(p, { className: "h-4 w-4" }),
140
+ label: "Rotate L",
141
+ disabled: o,
142
+ onClick: () => t.rotate(-90)
143
+ }
144
+ ), /* @__PURE__ */ e.createElement(
145
+ c,
146
+ {
147
+ icon: /* @__PURE__ */ e.createElement(h, { className: "h-4 w-4" }),
148
+ label: "Rotate R",
149
+ disabled: o,
150
+ onClick: () => t.rotate(90)
151
+ }
152
+ ), /* @__PURE__ */ e.createElement(
153
+ c,
154
+ {
155
+ icon: /* @__PURE__ */ e.createElement(E, { className: "h-4 w-4" }),
156
+ label: "Flip H",
157
+ disabled: o,
158
+ onClick: () => t.flip(!0)
159
+ }
160
+ ), /* @__PURE__ */ e.createElement(
161
+ c,
162
+ {
163
+ icon: /* @__PURE__ */ e.createElement(u, { className: "h-4 w-4" }),
164
+ label: "Flip V",
165
+ disabled: o,
166
+ onClick: () => t.flip(!1)
167
+ }
168
+ )));
169
+ }
129
170
  export {
130
- q as TaggableImageUploadFieldWithInput
171
+ F as Ribbon
131
172
  };
132
173
  //# sourceMappingURL=index.es142.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es142.js","sources":["../src/components/ui/form-renderer/components/form-fields/components/taggable-multi-image-picker-with-input/index.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { Input } from '@/components/atoms/input'\nimport { Typography } from '@/components/atoms/typography'\nimport { useToast } from '@/components/molecules/toast'\nimport { useFormValues } from '@/components/ui/form-renderer/context/form-values'\nimport {\n AssetValue,\n TaggableAssetValue,\n} from '@/components/ui/form-renderer/form.types'\nimport { Spinner } from '@/components/unstyled/spinner'\nimport { Upload, X, Pen } from 'lucide-react'\nimport { useRef, useState } from 'react'\n\ninterface TaggableImageUploadFieldWithInputProps {\n id: string\n onChange: (data: TaggableAssetValue[]) => void\n value?: TaggableAssetValue[]\n accept?: string\n error?: string\n maxImages?: number\n placeholder?: string\n}\n\nconst TaggableImageUploadFieldWithInput: React.FC<\n TaggableImageUploadFieldWithInputProps\n> = ({\n id,\n onChange,\n value = [],\n accept = 'image/*',\n error,\n maxImages = 20,\n placeholder,\n}) => {\n const { onAssetUpload, onToggleImageEditor } = useFormValues()\n const { toast } = useToast()\n\n const [isLoading, setIsLoading] = useState(false)\n const fileInputRef = useRef<HTMLInputElement>(null)\n\n const handleImageSelect = async (e: React.ChangeEvent<HTMLInputElement>) => {\n const files = e.target.files\n if (!files?.length || isLoading) return\n\n if (value.length + files.length > maxImages) {\n toast({\n title: 'Alert!',\n description: `Maximum ${maxImages} images allowed.`,\n icon: 'warning',\n })\n return\n }\n\n if (onAssetUpload) {\n setIsLoading(true)\n\n try {\n const uploads = Array.from(files).map((file) => onAssetUpload(file))\n const results = await Promise.all(uploads)\n\n const TaggedResults = results.map((result) => ({ ...result, tag: '' }))\n\n onChange([...value, ...TaggedResults])\n\n toast({\n title: 'Alert!',\n description: `${files.length} ${files.length === 1 ? 'image' : 'images'} uploaded successfully.`,\n icon: 'success',\n })\n } catch (error) {\n toast({\n title: 'Alert!',\n description: `Error uploading images`,\n icon: 'warning',\n })\n } finally {\n setIsLoading(false)\n // Reset the file input so the same files can be selected again\n if (fileInputRef.current) {\n fileInputRef.current.value = ''\n }\n }\n }\n }\n\n const handleClick = () => {\n if (!isLoading && value.length < maxImages) {\n fileInputRef.current?.click()\n } else if (value.length >= maxImages) {\n toast({\n title: 'Alert!',\n description: `Maximum ${maxImages} images allowed.`,\n icon: 'warning',\n })\n }\n }\n\n const removeImage = (index: number) => {\n if (!isLoading) {\n const newImages = [...value]\n newImages.splice(index, 1)\n onChange(newImages)\n }\n }\n\n const onReplaceImage = (data: AssetValue, index: number) => {\n const newValue = [...value]\n const existingImage = newValue[index]\n\n newValue.splice(index, 1, { ...existingImage, ...data })\n onChange(newValue)\n }\n return (\n <div className=\"relative\">\n {isLoading && (\n <div className=\"absolute inset-0 z-10 flex items-center justify-center bg-white bg-opacity-70\">\n <Spinner className=\"w-8 h-8 text-primary-1\" />\n </div>\n )}\n <div className=\"relative p-8 border-2 border-dashed rounded-lg border-primary-1 bg-primary-1\">\n <button\n className=\"w-full\"\n onClick={handleClick}\n type=\"button\"\n disabled={isLoading || value.length >= maxImages}\n >\n <div className=\"flex flex-col items-center gap-3 text-center\">\n <div className=\"bg-gray-100 rounded-full\">\n <Upload className=\"w-6 h-6 text-gray-500\" />\n </div>\n <Typography variant=\"body1\" className=\"text-gray-600\">\n {isLoading\n ? 'Uploading...'\n : value.length >= maxImages\n ? `Maximum ${maxImages} images reached`\n : 'Add Images'}\n </Typography>\n {value.length > 0 && (\n <Typography variant=\"body1\" className=\"text-gray-500\">\n {value.length} of {maxImages} images\n </Typography>\n )}\n </div>\n </button>\n <input\n ref={fileInputRef}\n id={`${id}-gallery`}\n type=\"file\"\n accept={accept}\n disabled={isLoading || value.length >= maxImages}\n onChange={handleImageSelect}\n className=\"hidden\"\n multiple\n />\n\n {error && (\n <Typography variant=\"body1\" className=\"mt-1 text-danger-1\">\n {error}\n </Typography>\n )}\n </div>\n\n {value.length > 0 && (\n <div className=\"grid grid-cols-2 gap-4 mt-4 sm:grid-cols-3 md:grid-cols-4\">\n {value.map((image, index) => (\n <div key={image.private_url} className=\"flex flex-col gap-2\">\n <div key={index} className=\"relative flex rounded\">\n <img\n src={image.public_url}\n alt={`Preview ${index + 1}`}\n className=\"object-cover w-full h-24 rounded\"\n />\n {onToggleImageEditor && (\n <button\n onClick={() => {\n onToggleImageEditor({\n imageUrl: image.public_url,\n index,\n onReplaceImage,\n })\n }}\n className=\"absolute p-1 text-white bg-white rounded-full left-2 top-2 opacity-70 hover:opacity-100\"\n >\n <Pen size={16} className=\"stroke-danger\" />\n </button>\n )}\n <button\n onClick={() => removeImage(index)}\n className=\"absolute p-1 text-white bg-white rounded-full right-2 top-2 opacity-70 hover:opacity-100\"\n type=\"button\"\n disabled={isLoading}\n >\n <X size={16} className=\"stroke-danger\" />\n </button>\n </div>\n <Input\n id={id + index}\n type=\"text\"\n placeholder={placeholder ? placeholder : ''}\n value={image.tag}\n required={true}\n onChange={(e) => {\n const newImages = [...value]\n newImages[index].tag = e.target.value\n onChange(newImages)\n }}\n />\n </div>\n ))}\n </div>\n )}\n </div>\n )\n}\n\nexport { TaggableImageUploadFieldWithInput }\n"],"names":["TaggableImageUploadFieldWithInput","id","onChange","value","accept","error","maxImages","placeholder","onAssetUpload","onToggleImageEditor","useFormValues","toast","useToast","isLoading","setIsLoading","useState","fileInputRef","useRef","handleImageSelect","e","files","uploads","file","TaggedResults","result","handleClick","removeImage","index","newImages","onReplaceImage","data","newValue","existingImage","React","Spinner","Upload","Typography","image","Pen","X","Input"],"mappings":"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"}
1
+ {"version":3,"file":"index.es142.js","sources":["../src/components/organisms/image-editor/components/ribbon.tsx"],"sourcesContent":["import {\n Crop,\n FlipHorizontal2,\n FlipVertical2,\n ImagePlus,\n MousePointer2,\n Pen,\n Redo2,\n RefreshCcw,\n RotateCcw,\n RotateCw,\n Shapes,\n Sticker,\n Type,\n Undo2,\n ZoomIn,\n ZoomOut,\n} from 'lucide-react'\nimport React from 'react'\n\nimport { Button } from '@/components/atoms/button'\nimport { cn } from '@/lib/utils'\n\nimport {\n ImageEditorEngine,\n ImageEditorMode,\n ImageEditorUiState,\n} from '../image-editor.types'\n\ninterface ToolButtonProps {\n icon: React.ReactNode\n label: string\n active?: boolean\n disabled?: boolean\n onClick: () => void\n}\n\nfunction ToolButton({\n icon,\n label,\n active,\n disabled,\n onClick,\n}: ToolButtonProps) {\n return (\n <Button\n variant=\"secondary\"\n size=\"sm\"\n disabled={disabled}\n onClick={onClick}\n className={cn(\n 'w-auto flex-col gap-0.5 h-auto min-w-[52px] border-neutral-1 px-2 py-1.5 text-[10.5px]',\n active && 'border-rest-p1 bg-rest-p1 text-white hover:bg-hover-p1'\n )}\n >\n {icon}\n {label}\n </Button>\n )\n}\n\ninterface ZoomControlProps {\n zoomPercent: number\n canZoomIn: boolean\n canZoomOut: boolean\n disabled: boolean\n onZoomIn: () => void\n onZoomOut: () => void\n onZoomReset: () => void\n}\n\nfunction ZoomControl({\n zoomPercent,\n canZoomIn,\n canZoomOut,\n disabled,\n onZoomIn,\n onZoomOut,\n onZoomReset,\n}: ZoomControlProps) {\n return (\n <div className=\"flex items-center gap-0.5 rounded-lg border border-neutral-1 bg-white p-0.5\">\n <button\n type=\"button\"\n title=\"Zoom out\"\n disabled={disabled || !canZoomOut}\n onClick={onZoomOut}\n className=\"flex h-7 w-7 items-center justify-center rounded-md text-light-2 hover:bg-light-2 disabled:pointer-events-none disabled:opacity-40\"\n >\n <ZoomOut className=\"h-4 w-4\" />\n </button>\n <button\n type=\"button\"\n title=\"Reset zoom to fit\"\n disabled={disabled}\n onClick={onZoomReset}\n className=\"min-w-[38px] rounded-md py-1 text-[11px] font-medium text-light-2 hover:bg-light-2 disabled:pointer-events-none disabled:opacity-40\"\n >\n {zoomPercent}%\n </button>\n <button\n type=\"button\"\n title=\"Zoom in\"\n disabled={disabled || !canZoomIn}\n onClick={onZoomIn}\n className=\"flex h-7 w-7 items-center justify-center rounded-md text-light-2 hover:bg-light-2 disabled:pointer-events-none disabled:opacity-40\"\n >\n <ZoomIn className=\"h-4 w-4\" />\n </button>\n </div>\n )\n}\n\nexport interface RibbonProps {\n ui: ImageEditorUiState\n engine: ImageEditorEngine\n onOpenFile: () => void\n}\n\nconst MODE_TOOLS: {\n mode: ImageEditorMode\n label: string\n icon: React.ReactNode\n}[] = [\n {\n mode: 'select',\n label: 'Select',\n icon: <MousePointer2 className=\"h-4 w-4\" />,\n },\n { mode: 'crop', label: 'Crop', icon: <Crop className=\"h-4 w-4\" /> },\n { mode: 'text', label: 'Text', icon: <Type className=\"h-4 w-4\" /> },\n { mode: 'draw', label: 'Draw', icon: <Pen className=\"h-4 w-4\" /> },\n { mode: 'shape', label: 'Shape', icon: <Shapes className=\"h-4 w-4\" /> },\n { mode: 'sticker', label: 'Sticker', icon: <Sticker className=\"h-4 w-4\" /> },\n]\n\nexport function Ribbon({ ui, engine, onOpenFile }: RibbonProps) {\n const disabled = !ui.hasImage\n\n return (\n <div className=\"flex items-stretch gap-2 overflow-x-auto overscroll-x-contain border-b border-neutral-1 bg-light-3 p-2\">\n {ui.canOpenImage && (\n <div className=\"flex items-center gap-1.5 border-r border-neutral-1 pr-2\">\n <ToolButton\n icon={<ImagePlus className=\"h-4 w-4\" />}\n label=\"Open\"\n onClick={onOpenFile}\n />\n </div>\n )}\n\n <div className=\"mr-auto flex items-center gap-1.5\">\n {MODE_TOOLS.map((t) => (\n <ToolButton\n key={t.mode}\n icon={t.icon}\n label={t.label}\n disabled={disabled}\n active={ui.mode === t.mode}\n onClick={() => engine.setMode(t.mode)}\n />\n ))}\n </div>\n\n <div className=\"ml-auto flex items-center\">\n <ZoomControl\n zoomPercent={ui.zoomPercent}\n canZoomIn={ui.canZoomIn}\n canZoomOut={ui.canZoomOut}\n disabled={disabled}\n onZoomIn={engine.zoomIn}\n onZoomOut={engine.zoomOut}\n onZoomReset={engine.zoomToFit}\n />\n </div>\n\n <div className=\"ml-auto flex items-center gap-1.5 border-l border-neutral-1 pl-2\">\n <ToolButton\n icon={<Undo2 className=\"h-4 w-4\" />}\n label=\"Undo\"\n disabled={!ui.canUndo}\n onClick={engine.undo}\n />\n <ToolButton\n icon={<Redo2 className=\"h-4 w-4\" />}\n label=\"Redo\"\n disabled={!ui.canRedo}\n onClick={engine.redo}\n />\n <ToolButton\n icon={<RefreshCcw className=\"h-4 w-4\" />}\n label=\"Reset\"\n disabled={!ui.canReset}\n onClick={engine.resetToOriginal}\n />\n </div>\n\n <div className=\"flex items-center gap-1.5 border-l border-neutral-1 pl-2\">\n <ToolButton\n icon={<RotateCcw className=\"h-4 w-4\" />}\n label=\"Rotate L\"\n disabled={disabled}\n onClick={() => engine.rotate(-90)}\n />\n <ToolButton\n icon={<RotateCw className=\"h-4 w-4\" />}\n label=\"Rotate R\"\n disabled={disabled}\n onClick={() => engine.rotate(90)}\n />\n <ToolButton\n icon={<FlipHorizontal2 className=\"h-4 w-4\" />}\n label=\"Flip H\"\n disabled={disabled}\n onClick={() => engine.flip(true)}\n />\n <ToolButton\n icon={<FlipVertical2 className=\"h-4 w-4\" />}\n label=\"Flip V\"\n disabled={disabled}\n onClick={() => engine.flip(false)}\n />\n </div>\n </div>\n )\n}\n"],"names":["ToolButton","icon","label","active","disabled","onClick","React","Button","cn","ZoomControl","zoomPercent","canZoomIn","canZoomOut","onZoomIn","onZoomOut","onZoomReset","ZoomOut","ZoomIn","MODE_TOOLS","MousePointer2","Crop","Type","Pen","Shapes","Sticker","Ribbon","ui","engine","onOpenFile","ImagePlus","t","Undo2","Redo2","RefreshCcw","RotateCcw","RotateCw","FlipHorizontal2","FlipVertical2"],"mappings":"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"}
@@ -1,9 +1,85 @@
1
- import { format as o } from "date-fns";
2
- const m = (t) => {
3
- const e = new Date(t * 1e3);
4
- return o(e, "dd MMM yyyy, hh:mm a");
5
- };
1
+ import { ImageUp as x, Loader2 as d } from "lucide-react";
2
+ import e, { forwardRef as E } from "react";
3
+ import { cn as g } from "./index.es89.js";
4
+ const v = {
5
+ backgroundImage: "linear-gradient(45deg,#e2e0d9 25%,transparent 25%),linear-gradient(-45deg,#e2e0d9 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e2e0d9 75%),linear-gradient(-45deg,transparent 75%,#e2e0d9 75%)",
6
+ backgroundSize: "22px 22px",
7
+ backgroundPosition: "0 0, 0 11px, 11px -11px, -11px 0",
8
+ backgroundColor: "#eceae4"
9
+ }, R = E(function({ ui: t, onChooseImage: f, onDropFile: p }, u) {
10
+ const l = e.useRef(null), s = e.useRef(null), o = e.useRef(null), c = e.useRef(null), r = e.useRef(null);
11
+ return e.useImperativeHandle(u, () => ({
12
+ stage: l.current,
13
+ cwrap: s.current,
14
+ canvas: o.current,
15
+ overlay: c.current,
16
+ textEditor: r.current
17
+ })), e.useEffect(() => {
18
+ if (!t.isEditingText) return;
19
+ const a = r.current;
20
+ if (!a) return;
21
+ let n = 0, i = 0;
22
+ const m = () => {
23
+ document.activeElement !== a && (a.focus(), t.editingSelectAll && a.select()), n += 1, n < 3 && (i = requestAnimationFrame(m));
24
+ };
25
+ return m(), () => cancelAnimationFrame(i);
26
+ }, [t.isEditingText, t.editingSelectAll]), /* @__PURE__ */ e.createElement(
27
+ "div",
28
+ {
29
+ ref: l,
30
+ className: "relative flex flex-1 touch-none overflow-auto overscroll-contain",
31
+ style: v,
32
+ onDragOver: (a) => a.preventDefault(),
33
+ onDragEnter: (a) => a.preventDefault(),
34
+ onDrop: (a) => {
35
+ if (a.preventDefault(), !t.canOpenImage) return;
36
+ const n = a.dataTransfer.files[0];
37
+ n && n.type.startsWith("image/") && p(n);
38
+ }
39
+ },
40
+ !t.hasImage && !t.isLoadingImage && t.canOpenImage && /* @__PURE__ */ e.createElement("div", { className: "m-auto max-w-[340px] px-8 text-center text-light-4" }, /* @__PURE__ */ e.createElement(x, { className: "mx-auto mb-3 h-14 w-14 stroke-[1.2]" }), /* @__PURE__ */ e.createElement("h2", { className: "mb-2 text-lg font-semibold text-light-2" }, "Drop a picture in"), /* @__PURE__ */ e.createElement("p", { className: "text-sm leading-relaxed" }, "Open an image to crop, filter, rotate, and annotate. Text, shapes, and drawings become movable layers."), /* @__PURE__ */ e.createElement(
41
+ "button",
42
+ {
43
+ type: "button",
44
+ onClick: f,
45
+ className: "mt-4 inline-block rounded-lg bg-rest-p1 px-5 py-2 text-sm text-white hover:bg-hover-p1"
46
+ },
47
+ "Choose an image"
48
+ )),
49
+ !t.hasImage && t.isLoadingImage && /* @__PURE__ */ e.createElement("div", { className: "m-auto flex flex-col items-center gap-3 text-light-4" }, /* @__PURE__ */ e.createElement(d, { className: "h-10 w-10 animate-spin" }), /* @__PURE__ */ e.createElement("p", { className: "text-sm" }, "Loading image…")),
50
+ /* @__PURE__ */ e.createElement(
51
+ "div",
52
+ {
53
+ ref: s,
54
+ className: g(
55
+ "relative m-auto bg-white shadow-lg",
56
+ !t.hasImage && "hidden"
57
+ )
58
+ },
59
+ /* @__PURE__ */ e.createElement("canvas", { ref: o, className: "image-editor-canvas block" }),
60
+ /* @__PURE__ */ e.createElement(
61
+ "canvas",
62
+ {
63
+ ref: c,
64
+ className: "image-editor-canvas absolute inset-0"
65
+ }
66
+ ),
67
+ /* @__PURE__ */ e.createElement(
68
+ "textarea",
69
+ {
70
+ ref: r,
71
+ rows: 1,
72
+ className: g(
73
+ "absolute z-30 resize-none overflow-hidden rounded-md border border-rest-p1 bg-white px-1.5 py-1 leading-[1.1] shadow-lg outline-none",
74
+ !t.isEditingText && "hidden"
75
+ )
76
+ }
77
+ ),
78
+ t.isLoadingImage && /* @__PURE__ */ e.createElement("div", { className: "absolute inset-0 z-40 flex flex-col items-center justify-center gap-3 bg-white text-light-4" }, /* @__PURE__ */ e.createElement(d, { className: "h-10 w-10 animate-spin" }), /* @__PURE__ */ e.createElement("p", { className: "text-sm" }, "Loading image…"))
79
+ )
80
+ );
81
+ });
6
82
  export {
7
- m as convertEpochTime
83
+ R as Stage
8
84
  };
9
85
  //# sourceMappingURL=index.es143.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es143.js","sources":["../src/components/organisms/navbar/components/notification-panel/components/notification-card/notification.utils.ts"],"sourcesContent":["import { format } from 'date-fns'\n\nconst convertEpochTime = (epochTime: number) => {\n const date = new Date(epochTime * 1000)\n return format(date, 'dd MMM yyyy, hh:mm a')\n}\n\nexport { convertEpochTime }\n"],"names":["convertEpochTime","epochTime","date","format"],"mappings":";AAEA,MAAMA,IAAmB,CAACC,MAAsB;AAC9C,QAAMC,IAAO,IAAI,KAAKD,IAAY,GAAI;AACtC,SAAOE,EAAOD,GAAM,sBAAsB;AAC5C;"}
1
+ {"version":3,"file":"index.es143.js","sources":["../src/components/organisms/image-editor/components/stage.tsx"],"sourcesContent":["import { ImageUp, Loader2 } from 'lucide-react'\nimport React, { forwardRef } from 'react'\n\nimport { cn } from '@/lib/utils'\n\nimport { ImageEditorUiState } from '../image-editor.types'\n\nexport interface StageHandle {\n stage: HTMLDivElement | null\n cwrap: HTMLDivElement | null\n canvas: HTMLCanvasElement | null\n overlay: HTMLCanvasElement | null\n textEditor: HTMLTextAreaElement | null\n}\n\ninterface StageProps {\n ui: ImageEditorUiState\n onChooseImage: () => void\n onDropFile: (file: File) => void\n}\n\nconst CHECKERBOARD_STYLE: React.CSSProperties = {\n backgroundImage:\n 'linear-gradient(45deg,#e2e0d9 25%,transparent 25%),linear-gradient(-45deg,#e2e0d9 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e2e0d9 75%),linear-gradient(-45deg,transparent 75%,#e2e0d9 75%)',\n backgroundSize: '22px 22px',\n backgroundPosition: '0 0, 0 11px, 11px -11px, -11px 0',\n backgroundColor: '#eceae4',\n}\n\nexport const Stage = forwardRef<StageHandle, StageProps>(function Stage(\n { ui, onChooseImage, onDropFile },\n ref\n) {\n const stageElRef = React.useRef<HTMLDivElement>(null)\n const cwrapElRef = React.useRef<HTMLDivElement>(null)\n const canvasElRef = React.useRef<HTMLCanvasElement>(null)\n const overlayElRef = React.useRef<HTMLCanvasElement>(null)\n const textEditorElRef = React.useRef<HTMLTextAreaElement>(null)\n\n React.useImperativeHandle(ref, () => ({\n stage: stageElRef.current,\n cwrap: cwrapElRef.current,\n canvas: canvasElRef.current,\n overlay: overlayElRef.current,\n textEditor: textEditorElRef.current,\n }))\n\n React.useEffect(() => {\n if (!ui.isEditingText) return\n const el = textEditorElRef.current\n if (!el) return\n let attempts = 0\n let raf = 0\n const tryFocus = () => {\n if (document.activeElement !== el) {\n el.focus()\n if (ui.editingSelectAll) el.select()\n }\n attempts += 1\n if (attempts < 3) raf = requestAnimationFrame(tryFocus)\n }\n tryFocus()\n return () => cancelAnimationFrame(raf)\n }, [ui.isEditingText, ui.editingSelectAll])\n\n return (\n <div\n ref={stageElRef}\n className=\"relative flex flex-1 touch-none overflow-auto overscroll-contain\"\n style={CHECKERBOARD_STYLE}\n onDragOver={(e) => e.preventDefault()}\n onDragEnter={(e) => e.preventDefault()}\n onDrop={(e) => {\n e.preventDefault()\n if (!ui.canOpenImage) return\n const file = e.dataTransfer.files[0]\n if (file && file.type.startsWith('image/')) onDropFile(file)\n }}\n >\n {!ui.hasImage && !ui.isLoadingImage && ui.canOpenImage && (\n <div className=\"m-auto max-w-[340px] px-8 text-center text-light-4\">\n <ImageUp className=\"mx-auto mb-3 h-14 w-14 stroke-[1.2]\" />\n <h2 className=\"mb-2 text-lg font-semibold text-light-2\">\n Drop a picture in\n </h2>\n <p className=\"text-sm leading-relaxed\">\n Open an image to crop, filter, rotate, and annotate. Text, shapes,\n and drawings become movable layers.\n </p>\n <button\n type=\"button\"\n onClick={onChooseImage}\n className=\"mt-4 inline-block rounded-lg bg-rest-p1 px-5 py-2 text-sm text-white hover:bg-hover-p1\"\n >\n Choose an image\n </button>\n </div>\n )}\n {!ui.hasImage && ui.isLoadingImage && (\n <div className=\"m-auto flex flex-col items-center gap-3 text-light-4\">\n <Loader2 className=\"h-10 w-10 animate-spin\" />\n <p className=\"text-sm\">Loading image…</p>\n </div>\n )}\n <div\n ref={cwrapElRef}\n className={cn(\n 'relative m-auto bg-white shadow-lg',\n !ui.hasImage && 'hidden'\n )}\n >\n <canvas ref={canvasElRef} className=\"image-editor-canvas block\" />\n <canvas\n ref={overlayElRef}\n className=\"image-editor-canvas absolute inset-0\"\n />\n <textarea\n ref={textEditorElRef}\n rows={1}\n className={cn(\n 'absolute z-30 resize-none overflow-hidden rounded-md border border-rest-p1 bg-white px-1.5 py-1 leading-[1.1] shadow-lg outline-none',\n !ui.isEditingText && 'hidden'\n )}\n />\n {ui.isLoadingImage && (\n <div className=\"absolute inset-0 z-40 flex flex-col items-center justify-center gap-3 bg-white text-light-4\">\n <Loader2 className=\"h-10 w-10 animate-spin\" />\n <p className=\"text-sm\">Loading image…</p>\n </div>\n )}\n </div>\n </div>\n )\n})\n"],"names":["CHECKERBOARD_STYLE","Stage","forwardRef","ui","onChooseImage","onDropFile","ref","stageElRef","React","cwrapElRef","canvasElRef","overlayElRef","textEditorElRef","el","attempts","raf","tryFocus","e","file","ImageUp","Loader2","cn"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import e from "react";
2
+ function r({ ui: t }) {
3
+ return /* @__PURE__ */ e.createElement("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" }, /* @__PURE__ */ e.createElement("span", { className: "flex items-center gap-1.5" }, /* @__PURE__ */ e.createElement("span", { className: "inline-block h-1.5 w-1.5 rounded-full bg-rest-p1" }), t.statusText), /* @__PURE__ */ e.createElement("span", null, t.dims));
4
+ }
5
+ export {
6
+ r as StatusBar
7
+ };
8
+ //# sourceMappingURL=index.es144.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es144.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;"}
@@ -0,0 +1,59 @@
1
+ const e = "1.0.0", a = [
2
+ { id: "none", name: "Original" },
3
+ { id: "grayscale", name: "B & W" },
4
+ { id: "vivid", name: "Vivid" },
5
+ { id: "cool", name: "Cool" },
6
+ { id: "warm", name: "Warm" },
7
+ { id: "vintage", name: "Vintage" },
8
+ { id: "fade", name: "Fade" },
9
+ { id: "noir", name: "Noir" }
10
+ ], r = {
11
+ none: "",
12
+ grayscale: "grayscale(1) contrast(1.05)",
13
+ vivid: "saturate(1.7) contrast(1.15)",
14
+ cool: "hue-rotate(200deg) saturate(1.2)",
15
+ warm: "sepia(.35) saturate(1.3) brightness(1.05)",
16
+ vintage: "sepia(.5) contrast(.9) brightness(1.05) saturate(1.2)",
17
+ fade: "contrast(.82) brightness(1.12) saturate(.85)",
18
+ noir: "grayscale(1) contrast(1.4) brightness(.92)"
19
+ }, n = [
20
+ "#d24b2f",
21
+ "#2f5fd2",
22
+ "#e8b423",
23
+ "#2fa84f",
24
+ "#111111",
25
+ "#ffffff",
26
+ "#8e44ad",
27
+ "#ff5da2"
28
+ ], i = [
29
+ { id: "rect", name: "Rectangle" },
30
+ { id: "ellipse", name: "Ellipse" },
31
+ { id: "circle", name: "Circle" },
32
+ { id: "line", name: "Line" },
33
+ { id: "dashedLine", name: "Dashed line" },
34
+ { id: "arrow", name: "Arrow" },
35
+ { id: "dashedArrow", name: "Dashed arrow" },
36
+ { id: "doubleArrow", name: "Double arrow" },
37
+ { id: "dashedDoubleArrow", name: "Dashed double arrow" }
38
+ ], l = [
39
+ { label: "Serif", value: "Iowan Old Style, Georgia, serif" },
40
+ { label: "Sans", value: "Avenir Next, Segoe UI, sans-serif" },
41
+ { label: "Mono", value: "Courier New, monospace" },
42
+ { label: "Impact", value: "Impact, sans-serif" }
43
+ ], s = [
44
+ { label: "Freeform", value: "free" },
45
+ { label: "Square 1:1", value: "1" },
46
+ { label: "4:3", value: "1.3333" },
47
+ { label: "16:9", value: "1.7777" },
48
+ { label: "3:4 portrait", value: "0.75" }
49
+ ];
50
+ export {
51
+ s as CROP_RATIOS,
52
+ a as FILTERS,
53
+ r as FILTER_CSS,
54
+ l as FONTS,
55
+ i as SHAPES,
56
+ n as SWATCHES,
57
+ e as VERSION
58
+ };
59
+ //# sourceMappingURL=index.es145.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es145.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;"}