geoiq-frontend-ui-kit 2.0.4 → 2.0.6

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 (514) hide show
  1. package/dist/components/atoms/accordion/accordion.d.ts +2 -1
  2. package/dist/components/atoms/accordion/accordion.d.ts.map +1 -1
  3. package/dist/components/atoms/avatar/avatar.d.ts +2 -1
  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/announcement-bar/announcement-bar.d.ts +5 -0
  12. package/dist/components/molecules/announcement-bar/announcement-bar.d.ts.map +1 -0
  13. package/dist/components/molecules/announcement-bar/announcement-bar.styles.d.ts +8 -0
  14. package/dist/components/molecules/announcement-bar/announcement-bar.styles.d.ts.map +1 -0
  15. package/dist/components/molecules/announcement-bar/announcement-bar.types.d.ts +15 -0
  16. package/dist/components/molecules/announcement-bar/announcement-bar.types.d.ts.map +1 -0
  17. package/dist/components/molecules/announcement-bar/index.d.ts +3 -0
  18. package/dist/components/molecules/announcement-bar/index.d.ts.map +1 -0
  19. package/dist/components/molecules/breadcrumb/breadcrumb-components.d.ts +2 -2
  20. package/dist/components/molecules/breadcrumb/breadcrumb.d.ts +2 -1
  21. package/dist/components/molecules/breadcrumb/breadcrumb.d.ts.map +1 -1
  22. package/dist/components/molecules/creatable-multi-combobox/creatable-multi-combobox.d.ts +2 -1
  23. package/dist/components/molecules/creatable-multi-combobox/creatable-multi-combobox.d.ts.map +1 -1
  24. package/dist/components/molecules/dropdown-menu/dropdown-menu-components.d.ts +1 -1
  25. package/dist/components/molecules/dropdown-menu/dropdown-menu.d.ts +2 -1
  26. package/dist/components/molecules/dropdown-menu/dropdown-menu.d.ts.map +1 -1
  27. package/dist/components/molecules/multi-combobox/index.d.ts +2 -2
  28. package/dist/components/molecules/multi-combobox/index.d.ts.map +1 -1
  29. package/dist/components/molecules/multi-select/index.d.ts +2 -2
  30. package/dist/components/molecules/multi-select/index.d.ts.map +1 -1
  31. package/dist/components/molecules/pagination/pagination-components.d.ts +4 -4
  32. package/dist/components/molecules/single-combobox/single-combobox.d.ts +2 -2
  33. package/dist/components/molecules/single-combobox/single-combobox.d.ts.map +1 -1
  34. package/dist/components/molecules/stepper/stepper-components.d.ts +1 -1
  35. package/dist/components/molecules/stepper/stepper-components.d.ts.map +1 -1
  36. package/dist/components/molecules/stepper/stepper.d.ts +2 -1
  37. package/dist/components/molecules/stepper/stepper.d.ts.map +1 -1
  38. package/dist/components/molecules/stepper/stepper.mock.d.ts +2 -2
  39. package/dist/components/molecules/stepper/stepper.mock.d.ts.map +1 -1
  40. package/dist/components/molecules/swatch-grid/swatch-grid.d.ts +2 -1
  41. package/dist/components/molecules/swatch-grid/swatch-grid.d.ts.map +1 -1
  42. package/dist/components/molecules/toast/assets/svgs/danger-icon.d.ts +3 -1
  43. package/dist/components/molecules/toast/assets/svgs/danger-icon.d.ts.map +1 -1
  44. package/dist/components/molecules/toast/assets/svgs/info-icon.d.ts +3 -1
  45. package/dist/components/molecules/toast/assets/svgs/info-icon.d.ts.map +1 -1
  46. package/dist/components/molecules/toast/assets/svgs/success-icon.d.ts +3 -1
  47. package/dist/components/molecules/toast/assets/svgs/success-icon.d.ts.map +1 -1
  48. package/dist/components/molecules/toast/assets/svgs/warning-icon.d.ts +3 -1
  49. package/dist/components/molecules/toast/assets/svgs/warning-icon.d.ts.map +1 -1
  50. package/dist/components/molecules/toast/toast-components.d.ts +1 -1
  51. package/dist/components/molecules/toast/toast.d.ts +2 -1
  52. package/dist/components/molecules/toast/toast.d.ts.map +1 -1
  53. package/dist/components/molecules/toggle-multi-select/index.d.ts +2 -2
  54. package/dist/components/molecules/toggle-multi-select/index.d.ts.map +1 -1
  55. package/dist/components/organisms/alert-dialog/alert-dialog-components.d.ts +2 -2
  56. package/dist/components/organisms/alert-dialog/alert-dialog.d.ts +2 -1
  57. package/dist/components/organisms/alert-dialog/alert-dialog.d.ts.map +1 -1
  58. package/dist/components/organisms/dialog/dialog-components.d.ts +2 -2
  59. package/dist/components/organisms/dialog/dialog-components.d.ts.map +1 -1
  60. package/dist/components/organisms/dialog/dialog.d.ts +2 -1
  61. package/dist/components/organisms/dialog/dialog.d.ts.map +1 -1
  62. package/dist/components/organisms/feature-dialog/feature-dialog.d.ts +5 -0
  63. package/dist/components/organisms/feature-dialog/feature-dialog.d.ts.map +1 -0
  64. package/dist/components/organisms/feature-dialog/feature-dialog.styles.d.ts +5 -0
  65. package/dist/components/organisms/feature-dialog/feature-dialog.styles.d.ts.map +1 -0
  66. package/dist/components/organisms/feature-dialog/feature-dialog.types.d.ts +25 -0
  67. package/dist/components/organisms/feature-dialog/feature-dialog.types.d.ts.map +1 -0
  68. package/dist/components/organisms/feature-dialog/index.d.ts +3 -0
  69. package/dist/components/organisms/feature-dialog/index.d.ts.map +1 -0
  70. package/dist/components/organisms/image-editor/components/color-picker.d.ts +3 -1
  71. package/dist/components/organisms/image-editor/components/color-picker.d.ts.map +1 -1
  72. package/dist/components/organisms/image-editor/components/layers-list.d.ts +2 -1
  73. package/dist/components/organisms/image-editor/components/layers-list.d.ts.map +1 -1
  74. package/dist/components/organisms/image-editor/components/line-session-bar.d.ts +2 -1
  75. package/dist/components/organisms/image-editor/components/line-session-bar.d.ts.map +1 -1
  76. package/dist/components/organisms/image-editor/components/panel-adjust.d.ts +2 -1
  77. package/dist/components/organisms/image-editor/components/panel-adjust.d.ts.map +1 -1
  78. package/dist/components/organisms/image-editor/components/panel-crop.d.ts +2 -1
  79. package/dist/components/organisms/image-editor/components/panel-crop.d.ts.map +1 -1
  80. package/dist/components/organisms/image-editor/components/panel-insert.d.ts +2 -1
  81. package/dist/components/organisms/image-editor/components/panel-insert.d.ts.map +1 -1
  82. package/dist/components/organisms/image-editor/components/panel-selected.d.ts +2 -1
  83. package/dist/components/organisms/image-editor/components/panel-selected.d.ts.map +1 -1
  84. package/dist/components/organisms/image-editor/components/panel.d.ts +2 -1
  85. package/dist/components/organisms/image-editor/components/panel.d.ts.map +1 -1
  86. package/dist/components/organisms/image-editor/components/ribbon.d.ts +2 -1
  87. package/dist/components/organisms/image-editor/components/ribbon.d.ts.map +1 -1
  88. package/dist/components/organisms/image-editor/components/saved-layers-list.d.ts +2 -1
  89. package/dist/components/organisms/image-editor/components/saved-layers-list.d.ts.map +1 -1
  90. package/dist/components/organisms/image-editor/components/status-bar.d.ts +2 -1
  91. package/dist/components/organisms/image-editor/components/status-bar.d.ts.map +1 -1
  92. package/dist/components/organisms/image-editor/image-editor-modal.d.ts +2 -1
  93. package/dist/components/organisms/image-editor/image-editor-modal.d.ts.map +1 -1
  94. package/dist/components/organisms/sheet/sheet-components.d.ts +2 -2
  95. package/dist/components/organisms/sheet/sheet.d.ts +2 -1
  96. package/dist/components/organisms/sheet/sheet.d.ts.map +1 -1
  97. package/dist/components/organisms/sidebar/sidebar.d.ts +2 -1
  98. package/dist/components/organisms/sidebar/sidebar.d.ts.map +1 -1
  99. package/dist/components/ui/agent-snippet-view/agent-snippet-view.d.ts +1 -1
  100. package/dist/components/ui/agent-snippet-view/agent-snippet-view.d.ts.map +1 -1
  101. package/dist/components/ui/map-marker-hover-card/components/map-cluster-hover-card.d.ts +2 -1
  102. package/dist/components/ui/map-marker-hover-card/components/map-cluster-hover-card.d.ts.map +1 -1
  103. package/dist/components/ui/map-marker-hover-card/components/map-point-hover-card.d.ts +2 -1
  104. package/dist/components/ui/map-marker-hover-card/components/map-point-hover-card.d.ts.map +1 -1
  105. package/dist/components/ui/map-marker-hover-card/map-marker-hover-card.d.ts +2 -1
  106. package/dist/components/ui/map-marker-hover-card/map-marker-hover-card.d.ts.map +1 -1
  107. package/dist/components/ui/star-score/star-score.d.ts +2 -1
  108. package/dist/components/ui/star-score/star-score.d.ts.map +1 -1
  109. package/dist/components/unstyled/calendar/calendar.d.ts +1 -1
  110. package/dist/components/unstyled/calendar/calendar.d.ts.map +1 -1
  111. package/dist/components/unstyled/command/index.d.ts +2 -2
  112. package/dist/components/unstyled/command/index.d.ts.map +1 -1
  113. package/dist/components/unstyled/date-picker/date-picker.d.ts +2 -2
  114. package/dist/components/unstyled/date-picker/date-picker.d.ts.map +1 -1
  115. package/dist/components/unstyled/hover-card/hover-card.d.ts +2 -1
  116. package/dist/components/unstyled/hover-card/hover-card.d.ts.map +1 -1
  117. package/dist/components/unstyled/popover/popover.d.ts +2 -1
  118. package/dist/components/unstyled/popover/popover.d.ts.map +1 -1
  119. package/dist/components/unstyled/table/table.d.ts +2 -2
  120. package/dist/components/unstyled/table/table.d.ts.map +1 -1
  121. package/dist/index.d.ts +4 -0
  122. package/dist/index.d.ts.map +1 -1
  123. package/dist/index.es.js +199 -195
  124. package/dist/index.es.js.map +1 -1
  125. package/dist/{index.es10.js → index10.es.js} +3 -3
  126. package/dist/{index.es10.js.map → index10.es.js.map} +1 -1
  127. package/dist/{index.es107.js → index100.es.js} +5 -5
  128. package/dist/{index.es107.js.map → index100.es.js.map} +1 -1
  129. package/dist/{index.es133.js → index101.es.js} +1 -1
  130. package/dist/{index.es133.js.map → index101.es.js.map} +1 -1
  131. package/dist/{index.es113.js → index102.es.js} +1 -1
  132. package/dist/{index.es113.js.map → index102.es.js.map} +1 -1
  133. package/dist/{index.es134.js → index103.es.js} +2 -2
  134. package/dist/{index.es134.js.map → index103.es.js.map} +1 -1
  135. package/dist/{index.es135.js → index104.es.js} +1 -1
  136. package/dist/{index.es135.js.map → index104.es.js.map} +1 -1
  137. package/dist/{index.es118.js → index105.es.js} +1 -1
  138. package/dist/{index.es118.js.map → index105.es.js.map} +1 -1
  139. package/dist/{index.es101.js → index106.es.js} +1 -1
  140. package/dist/{index.es101.js.map → index106.es.js.map} +1 -1
  141. package/dist/{index.es112.js → index107.es.js} +1 -1
  142. package/dist/{index.es112.js.map → index107.es.js.map} +1 -1
  143. package/dist/{index.es119.js → index108.es.js} +1 -1
  144. package/dist/{index.es119.js.map → index108.es.js.map} +1 -1
  145. package/dist/{index.es127.js → index109.es.js} +4 -4
  146. package/dist/{index.es127.js.map → index109.es.js.map} +1 -1
  147. package/dist/{index.es11.js → index11.es.js} +4 -4
  148. package/dist/{index.es11.js.map → index11.es.js.map} +1 -1
  149. package/dist/{index.es128.js → index110.es.js} +4 -4
  150. package/dist/{index.es128.js.map → index110.es.js.map} +1 -1
  151. package/dist/{index.es129.js → index111.es.js} +5 -5
  152. package/dist/{index.es129.js.map → index111.es.js.map} +1 -1
  153. package/dist/{index.es130.js → index112.es.js} +2 -2
  154. package/dist/{index.es130.js.map → index112.es.js.map} +1 -1
  155. package/dist/{index.es131.js → index113.es.js} +3 -3
  156. package/dist/{index.es131.js.map → index113.es.js.map} +1 -1
  157. package/dist/{index.es116.js → index114.es.js} +1 -1
  158. package/dist/{index.es116.js.map → index114.es.js.map} +1 -1
  159. package/dist/{index.es117.js → index115.es.js} +5 -5
  160. package/dist/{index.es117.js.map → index115.es.js.map} +1 -1
  161. package/dist/index116.es.js +34 -0
  162. package/dist/index116.es.js.map +1 -0
  163. package/dist/{index.es103.js → index117.es.js} +1 -1
  164. package/dist/{index.es103.js.map → index117.es.js.map} +1 -1
  165. package/dist/{index.es115.js → index118.es.js} +3 -3
  166. package/dist/{index.es115.js.map → index118.es.js.map} +1 -1
  167. package/dist/{index.es105.js → index119.es.js} +3 -3
  168. package/dist/{index.es105.js.map → index119.es.js.map} +1 -1
  169. package/dist/{index.es12.js → index12.es.js} +3 -3
  170. package/dist/{index.es12.js.map → index12.es.js.map} +1 -1
  171. package/dist/{index.es120.js → index120.es.js} +4 -4
  172. package/dist/{index.es120.js.map → index120.es.js.map} +1 -1
  173. package/dist/{index.es121.js → index121.es.js} +3 -3
  174. package/dist/{index.es121.js.map → index121.es.js.map} +1 -1
  175. package/dist/{index.es122.js → index122.es.js} +3 -3
  176. package/dist/{index.es122.js.map → index122.es.js.map} +1 -1
  177. package/dist/{index.es123.js → index123.es.js} +3 -3
  178. package/dist/{index.es123.js.map → index123.es.js.map} +1 -1
  179. package/dist/{index.es124.js → index124.es.js} +10 -10
  180. package/dist/{index.es124.js.map → index124.es.js.map} +1 -1
  181. package/dist/{index.es125.js → index125.es.js} +10 -10
  182. package/dist/{index.es125.js.map → index125.es.js.map} +1 -1
  183. package/dist/{index.es126.js → index126.es.js} +5 -5
  184. package/dist/{index.es126.js.map → index126.es.js.map} +1 -1
  185. package/dist/{index.es97.js → index127.es.js} +1 -1
  186. package/dist/index127.es.js.map +1 -0
  187. package/dist/{index.es98.js → index128.es.js} +8 -8
  188. package/dist/index128.es.js.map +1 -0
  189. package/dist/{index.es99.js → index129.es.js} +1 -1
  190. package/dist/index129.es.js.map +1 -0
  191. package/dist/{index.es13.js → index13.es.js} +3 -3
  192. package/dist/{index.es13.js.map → index13.es.js.map} +1 -1
  193. package/dist/{index.es100.js → index130.es.js} +15 -15
  194. package/dist/{index.es100.js.map → index130.es.js.map} +1 -1
  195. package/dist/{index.es104.js → index131.es.js} +1 -1
  196. package/dist/{index.es104.js.map → index131.es.js.map} +1 -1
  197. package/dist/{index.es106.js → index132.es.js} +1 -1
  198. package/dist/{index.es106.js.map → index132.es.js.map} +1 -1
  199. package/dist/{index.es114.js → index133.es.js} +3 -3
  200. package/dist/{index.es114.js.map → index133.es.js.map} +1 -1
  201. package/dist/{index.es132.js → index134.es.js} +1 -1
  202. package/dist/{index.es132.js.map → index134.es.js.map} +1 -1
  203. package/dist/{index.es108.js → index135.es.js} +1 -1
  204. package/dist/{index.es108.js.map → index135.es.js.map} +1 -1
  205. package/dist/{index.es102.js → index136.es.js} +1 -1
  206. package/dist/{index.es102.js.map → index136.es.js.map} +1 -1
  207. package/dist/{index.es110.js → index137.es.js} +2 -2
  208. package/dist/{index.es110.js.map → index137.es.js.map} +1 -1
  209. package/dist/{index.es111.js → index138.es.js} +6 -6
  210. package/dist/{index.es111.js.map → index138.es.js.map} +1 -1
  211. package/dist/{index.es136.js → index139.es.js} +5 -5
  212. package/dist/{index.es136.js.map → index139.es.js.map} +1 -1
  213. package/dist/{index.es14.js → index14.es.js} +2 -2
  214. package/dist/{index.es14.js.map → index14.es.js.map} +1 -1
  215. package/dist/index140.es.js +17 -0
  216. package/dist/index140.es.js.map +1 -0
  217. package/dist/{index.es156.js → index141.es.js} +2 -2
  218. package/dist/{index.es156.js.map → index141.es.js.map} +1 -1
  219. package/dist/{index.es159.js → index142.es.js} +3 -3
  220. package/dist/{index.es159.js.map → index142.es.js.map} +1 -1
  221. package/dist/{index.es160.js → index143.es.js} +1 -1
  222. package/dist/{index.es160.js.map → index143.es.js.map} +1 -1
  223. package/dist/{index.es161.js → index144.es.js} +1 -1
  224. package/dist/{index.es161.js.map → index144.es.js.map} +1 -1
  225. package/dist/{index.es162.js → index145.es.js} +1 -1
  226. package/dist/{index.es162.js.map → index145.es.js.map} +1 -1
  227. package/dist/{index.es137.js → index146.es.js} +1 -1
  228. package/dist/{index.es137.js.map → index146.es.js.map} +1 -1
  229. package/dist/{index.es138.js → index147.es.js} +7 -7
  230. package/dist/{index.es138.js.map → index147.es.js.map} +1 -1
  231. package/dist/{index.es139.js → index148.es.js} +3 -3
  232. package/dist/{index.es139.js.map → index148.es.js.map} +1 -1
  233. package/dist/{index.es140.js → index149.es.js} +2 -2
  234. package/dist/{index.es140.js.map → index149.es.js.map} +1 -1
  235. package/dist/{index.es15.js → index15.es.js} +3 -3
  236. package/dist/{index.es15.js.map → index15.es.js.map} +1 -1
  237. package/dist/{index.es141.js → index150.es.js} +1 -1
  238. package/dist/{index.es141.js.map → index150.es.js.map} +1 -1
  239. package/dist/{index.es142.js → index151.es.js} +1 -1
  240. package/dist/{index.es142.js.map → index151.es.js.map} +1 -1
  241. package/dist/{index.es143.js → index152.es.js} +1 -1
  242. package/dist/{index.es143.js.map → index152.es.js.map} +1 -1
  243. package/dist/{index.es144.js → index153.es.js} +2 -2
  244. package/dist/{index.es144.js.map → index153.es.js.map} +1 -1
  245. package/dist/{index.es145.js → index154.es.js} +3 -3
  246. package/dist/{index.es145.js.map → index154.es.js.map} +1 -1
  247. package/dist/{index.es146.js → index155.es.js} +3 -3
  248. package/dist/{index.es146.js.map → index155.es.js.map} +1 -1
  249. package/dist/{index.es147.js → index156.es.js} +5 -5
  250. package/dist/{index.es147.js.map → index156.es.js.map} +1 -1
  251. package/dist/{index.es148.js → index157.es.js} +4 -4
  252. package/dist/{index.es148.js.map → index157.es.js.map} +1 -1
  253. package/dist/{index.es149.js → index158.es.js} +2 -2
  254. package/dist/{index.es149.js.map → index158.es.js.map} +1 -1
  255. package/dist/{index.es150.js → index159.es.js} +4 -4
  256. package/dist/{index.es150.js.map → index159.es.js.map} +1 -1
  257. package/dist/{index.es16.js → index16.es.js} +8 -8
  258. package/dist/{index.es16.js.map → index16.es.js.map} +1 -1
  259. package/dist/{index.es151.js → index160.es.js} +6 -6
  260. package/dist/{index.es151.js.map → index160.es.js.map} +1 -1
  261. package/dist/{index.es152.js → index161.es.js} +5 -5
  262. package/dist/{index.es152.js.map → index161.es.js.map} +1 -1
  263. package/dist/{index.es153.js → index162.es.js} +4 -4
  264. package/dist/{index.es153.js.map → index162.es.js.map} +1 -1
  265. package/dist/{index.es154.js → index163.es.js} +9 -9
  266. package/dist/{index.es154.js.map → index163.es.js.map} +1 -1
  267. package/dist/{index.es155.js → index164.es.js} +6 -6
  268. package/dist/{index.es155.js.map → index164.es.js.map} +1 -1
  269. package/dist/{index.es158.js → index165.es.js} +1 -1
  270. package/dist/{index.es158.js.map → index165.es.js.map} +1 -1
  271. package/dist/{index.es157.js → index166.es.js} +1 -1
  272. package/dist/{index.es157.js.map → index166.es.js.map} +1 -1
  273. package/dist/{index.es163.js → index167.es.js} +1 -1
  274. package/dist/{index.es163.js.map → index167.es.js.map} +1 -1
  275. package/dist/{index.es164.js → index168.es.js} +1 -1
  276. package/dist/{index.es164.js.map → index168.es.js.map} +1 -1
  277. package/dist/{index.es165.js → index169.es.js} +1 -1
  278. package/dist/{index.es165.js.map → index169.es.js.map} +1 -1
  279. package/dist/{index.es17.js → index17.es.js} +3 -3
  280. package/dist/{index.es17.js.map → index17.es.js.map} +1 -1
  281. package/dist/{index.es166.js → index170.es.js} +2 -2
  282. package/dist/{index.es166.js.map → index170.es.js.map} +1 -1
  283. package/dist/{index.es173.js → index171.es.js} +19 -19
  284. package/dist/{index.es173.js.map → index171.es.js.map} +1 -1
  285. package/dist/{index.es167.js → index172.es.js} +2 -2
  286. package/dist/{index.es167.js.map → index172.es.js.map} +1 -1
  287. package/dist/{index.es168.js → index173.es.js} +4 -4
  288. package/dist/{index.es168.js.map → index173.es.js.map} +1 -1
  289. package/dist/{index.es169.js → index174.es.js} +4 -4
  290. package/dist/{index.es169.js.map → index174.es.js.map} +1 -1
  291. package/dist/{index.es170.js → index175.es.js} +9 -9
  292. package/dist/{index.es170.js.map → index175.es.js.map} +1 -1
  293. package/dist/{index.es171.js → index176.es.js} +10 -10
  294. package/dist/{index.es171.js.map → index176.es.js.map} +1 -1
  295. package/dist/{index.es172.js → index177.es.js} +2 -2
  296. package/dist/{index.es172.js.map → index177.es.js.map} +1 -1
  297. package/dist/{index.es174.js → index178.es.js} +4 -4
  298. package/dist/{index.es174.js.map → index178.es.js.map} +1 -1
  299. package/dist/{index.es175.js → index179.es.js} +2 -2
  300. package/dist/{index.es175.js.map → index179.es.js.map} +1 -1
  301. package/dist/{index.es18.js → index18.es.js} +2 -2
  302. package/dist/{index.es18.js.map → index18.es.js.map} +1 -1
  303. package/dist/{index.es178.js → index180.es.js} +6 -6
  304. package/dist/{index.es178.js.map → index180.es.js.map} +1 -1
  305. package/dist/{index.es179.js → index181.es.js} +17 -16
  306. package/dist/{index.es179.js.map → index181.es.js.map} +1 -1
  307. package/dist/{index.es180.js → index182.es.js} +27 -26
  308. package/dist/{index.es180.js.map → index182.es.js.map} +1 -1
  309. package/dist/{index.es181.js → index183.es.js} +13 -12
  310. package/dist/{index.es181.js.map → index183.es.js.map} +1 -1
  311. package/dist/{index.es182.js → index184.es.js} +5 -5
  312. package/dist/{index.es182.js.map → index184.es.js.map} +1 -1
  313. package/dist/{index.es183.js → index185.es.js} +27 -26
  314. package/dist/{index.es183.js.map → index185.es.js.map} +1 -1
  315. package/dist/{index.es184.js → index186.es.js} +30 -29
  316. package/dist/{index.es184.js.map → index186.es.js.map} +1 -1
  317. package/dist/{index.es176.js → index187.es.js} +1 -1
  318. package/dist/{index.es176.js.map → index187.es.js.map} +1 -1
  319. package/dist/{index.es177.js → index188.es.js} +2 -2
  320. package/dist/{index.es177.js.map → index188.es.js.map} +1 -1
  321. package/dist/{index.es185.js → index189.es.js} +1 -1
  322. package/dist/{index.es185.js.map → index189.es.js.map} +1 -1
  323. package/dist/{index.es19.js → index19.es.js} +4 -4
  324. package/dist/{index.es19.js.map → index19.es.js.map} +1 -1
  325. package/dist/{index.es2.js → index2.es.js} +5 -5
  326. package/dist/{index.es2.js.map → index2.es.js.map} +1 -1
  327. package/dist/{index.es20.js → index20.es.js} +5 -5
  328. package/dist/{index.es20.js.map → index20.es.js.map} +1 -1
  329. package/dist/index21.es.js +57 -0
  330. package/dist/index21.es.js.map +1 -0
  331. package/dist/index22.es.js +79 -0
  332. package/dist/index22.es.js.map +1 -0
  333. package/dist/{index.es21.js → index23.es.js} +6 -6
  334. package/dist/{index.es21.js.map → index23.es.js.map} +1 -1
  335. package/dist/{index.es22.js → index24.es.js} +2 -2
  336. package/dist/{index.es22.js.map → index24.es.js.map} +1 -1
  337. package/dist/{index.es23.js → index25.es.js} +7 -7
  338. package/dist/{index.es23.js.map → index25.es.js.map} +1 -1
  339. package/dist/{index.es24.js → index26.es.js} +7 -7
  340. package/dist/{index.es24.js.map → index26.es.js.map} +1 -1
  341. package/dist/{index.es25.js → index27.es.js} +3 -3
  342. package/dist/{index.es25.js.map → index27.es.js.map} +1 -1
  343. package/dist/{index.es26.js → index28.es.js} +2 -2
  344. package/dist/{index.es26.js.map → index28.es.js.map} +1 -1
  345. package/dist/{index.es27.js → index29.es.js} +7 -7
  346. package/dist/{index.es27.js.map → index29.es.js.map} +1 -1
  347. package/dist/{index.es3.js → index3.es.js} +3 -3
  348. package/dist/{index.es3.js.map → index3.es.js.map} +1 -1
  349. package/dist/{index.es28.js → index30.es.js} +9 -9
  350. package/dist/{index.es28.js.map → index30.es.js.map} +1 -1
  351. package/dist/{index.es29.js → index31.es.js} +5 -5
  352. package/dist/{index.es29.js.map → index31.es.js.map} +1 -1
  353. package/dist/{index.es30.js → index32.es.js} +3 -3
  354. package/dist/{index.es30.js.map → index32.es.js.map} +1 -1
  355. package/dist/{index.es31.js → index33.es.js} +1 -1
  356. package/dist/{index.es31.js.map → index33.es.js.map} +1 -1
  357. package/dist/{index.es32.js → index34.es.js} +2 -2
  358. package/dist/{index.es32.js.map → index34.es.js.map} +1 -1
  359. package/dist/{index.es33.js → index35.es.js} +3 -3
  360. package/dist/{index.es33.js.map → index35.es.js.map} +1 -1
  361. package/dist/index36.es.js +39 -0
  362. package/dist/index36.es.js.map +1 -0
  363. package/dist/{index.es35.js → index37.es.js} +6 -6
  364. package/dist/{index.es35.js.map → index37.es.js.map} +1 -1
  365. package/dist/{index.es36.js → index38.es.js} +5 -5
  366. package/dist/{index.es36.js.map → index38.es.js.map} +1 -1
  367. package/dist/{index.es37.js → index39.es.js} +6 -6
  368. package/dist/{index.es37.js.map → index39.es.js.map} +1 -1
  369. package/dist/{index.es4.js → index4.es.js} +2 -2
  370. package/dist/{index.es4.js.map → index4.es.js.map} +1 -1
  371. package/dist/{index.es38.js → index40.es.js} +2 -2
  372. package/dist/{index.es38.js.map → index40.es.js.map} +1 -1
  373. package/dist/{index.es39.js → index41.es.js} +3 -3
  374. package/dist/{index.es39.js.map → index41.es.js.map} +1 -1
  375. package/dist/index42.es.js +91 -0
  376. package/dist/index42.es.js.map +1 -0
  377. package/dist/{index.es41.js → index43.es.js} +5 -5
  378. package/dist/{index.es41.js.map → index43.es.js.map} +1 -1
  379. package/dist/{index.es42.js → index44.es.js} +4 -4
  380. package/dist/{index.es42.js.map → index44.es.js.map} +1 -1
  381. package/dist/{index.es43.js → index45.es.js} +2 -2
  382. package/dist/{index.es43.js.map → index45.es.js.map} +1 -1
  383. package/dist/{index.es44.js → index46.es.js} +2 -2
  384. package/dist/{index.es44.js.map → index46.es.js.map} +1 -1
  385. package/dist/{index.es45.js → index47.es.js} +5 -5
  386. package/dist/{index.es45.js.map → index47.es.js.map} +1 -1
  387. package/dist/{index.es46.js → index48.es.js} +9 -9
  388. package/dist/{index.es46.js.map → index48.es.js.map} +1 -1
  389. package/dist/{index.es47.js → index49.es.js} +7 -7
  390. package/dist/{index.es47.js.map → index49.es.js.map} +1 -1
  391. package/dist/{index.es5.js → index5.es.js} +2 -2
  392. package/dist/{index.es5.js.map → index5.es.js.map} +1 -1
  393. package/dist/{index.es48.js → index50.es.js} +10 -10
  394. package/dist/{index.es48.js.map → index50.es.js.map} +1 -1
  395. package/dist/{index.es49.js → index51.es.js} +2 -2
  396. package/dist/{index.es49.js.map → index51.es.js.map} +1 -1
  397. package/dist/{index.es50.js → index52.es.js} +1 -1
  398. package/dist/{index.es50.js.map → index52.es.js.map} +1 -1
  399. package/dist/{index.es51.js → index53.es.js} +2 -2
  400. package/dist/{index.es51.js.map → index53.es.js.map} +1 -1
  401. package/dist/{index.es52.js → index54.es.js} +3 -3
  402. package/dist/{index.es52.js.map → index54.es.js.map} +1 -1
  403. package/dist/{index.es53.js → index55.es.js} +7 -7
  404. package/dist/{index.es53.js.map → index55.es.js.map} +1 -1
  405. package/dist/{index.es54.js → index56.es.js} +4 -4
  406. package/dist/{index.es54.js.map → index56.es.js.map} +1 -1
  407. package/dist/{index.es55.js → index57.es.js} +5 -5
  408. package/dist/{index.es55.js.map → index57.es.js.map} +1 -1
  409. package/dist/{index.es56.js → index58.es.js} +3 -3
  410. package/dist/{index.es56.js.map → index58.es.js.map} +1 -1
  411. package/dist/{index.es57.js → index59.es.js} +9 -9
  412. package/dist/{index.es57.js.map → index59.es.js.map} +1 -1
  413. package/dist/{index.es6.js → index6.es.js} +2 -2
  414. package/dist/{index.es6.js.map → index6.es.js.map} +1 -1
  415. package/dist/{index.es58.js → index60.es.js} +4 -3
  416. package/dist/{index.es58.js.map → index60.es.js.map} +1 -1
  417. package/dist/{index.es59.js → index61.es.js} +2 -2
  418. package/dist/{index.es59.js.map → index61.es.js.map} +1 -1
  419. package/dist/{index.es60.js → index62.es.js} +3 -3
  420. package/dist/{index.es60.js.map → index62.es.js.map} +1 -1
  421. package/dist/{index.es61.js → index63.es.js} +2 -2
  422. package/dist/{index.es61.js.map → index63.es.js.map} +1 -1
  423. package/dist/{index.es62.js → index64.es.js} +2 -2
  424. package/dist/{index.es62.js.map → index64.es.js.map} +1 -1
  425. package/dist/{index.es63.js → index65.es.js} +2 -2
  426. package/dist/{index.es63.js.map → index65.es.js.map} +1 -1
  427. package/dist/{index.es64.js → index66.es.js} +3 -3
  428. package/dist/{index.es64.js.map → index66.es.js.map} +1 -1
  429. package/dist/{index.es65.js → index67.es.js} +3 -3
  430. package/dist/{index.es65.js.map → index67.es.js.map} +1 -1
  431. package/dist/{index.es66.js → index68.es.js} +2 -2
  432. package/dist/{index.es66.js.map → index68.es.js.map} +1 -1
  433. package/dist/{index.es67.js → index69.es.js} +3 -3
  434. package/dist/{index.es67.js.map → index69.es.js.map} +1 -1
  435. package/dist/{index.es7.js → index7.es.js} +2 -2
  436. package/dist/{index.es7.js.map → index7.es.js.map} +1 -1
  437. package/dist/{index.es68.js → index70.es.js} +3 -3
  438. package/dist/{index.es68.js.map → index70.es.js.map} +1 -1
  439. package/dist/{index.es69.js → index71.es.js} +6 -6
  440. package/dist/{index.es69.js.map → index71.es.js.map} +1 -1
  441. package/dist/{index.es70.js → index72.es.js} +6 -6
  442. package/dist/{index.es70.js.map → index72.es.js.map} +1 -1
  443. package/dist/{index.es71.js → index73.es.js} +4 -4
  444. package/dist/{index.es71.js.map → index73.es.js.map} +1 -1
  445. package/dist/{index.es72.js → index74.es.js} +8 -8
  446. package/dist/{index.es72.js.map → index74.es.js.map} +1 -1
  447. package/dist/{index.es73.js → index75.es.js} +5 -5
  448. package/dist/{index.es73.js.map → index75.es.js.map} +1 -1
  449. package/dist/{index.es74.js → index76.es.js} +1 -1
  450. package/dist/{index.es74.js.map → index76.es.js.map} +1 -1
  451. package/dist/{index.es75.js → index77.es.js} +1 -1
  452. package/dist/{index.es75.js.map → index77.es.js.map} +1 -1
  453. package/dist/{index.es76.js → index78.es.js} +1 -1
  454. package/dist/{index.es76.js.map → index78.es.js.map} +1 -1
  455. package/dist/{index.es77.js → index79.es.js} +1 -1
  456. package/dist/{index.es77.js.map → index79.es.js.map} +1 -1
  457. package/dist/{index.es8.js → index8.es.js} +3 -3
  458. package/dist/{index.es8.js.map → index8.es.js.map} +1 -1
  459. package/dist/index80.es.js +90 -0
  460. package/dist/index80.es.js.map +1 -0
  461. package/dist/{index.es79.js → index81.es.js} +1 -1
  462. package/dist/{index.es79.js.map → index81.es.js.map} +1 -1
  463. package/dist/{index.es80.js → index82.es.js} +3 -3
  464. package/dist/{index.es80.js.map → index82.es.js.map} +1 -1
  465. package/dist/{index.es81.js → index83.es.js} +4 -4
  466. package/dist/{index.es81.js.map → index83.es.js.map} +1 -1
  467. package/dist/{index.es82.js → index84.es.js} +1 -1
  468. package/dist/{index.es82.js.map → index84.es.js.map} +1 -1
  469. package/dist/{index.es83.js → index85.es.js} +1 -1
  470. package/dist/{index.es83.js.map → index85.es.js.map} +1 -1
  471. package/dist/{index.es84.js → index86.es.js} +1 -1
  472. package/dist/{index.es84.js.map → index86.es.js.map} +1 -1
  473. package/dist/{index.es85.js → index87.es.js} +2 -2
  474. package/dist/{index.es85.js.map → index87.es.js.map} +1 -1
  475. package/dist/{index.es86.js → index88.es.js} +2 -2
  476. package/dist/{index.es86.js.map → index88.es.js.map} +1 -1
  477. package/dist/{index.es87.js → index89.es.js} +1 -1
  478. package/dist/{index.es87.js.map → index89.es.js.map} +1 -1
  479. package/dist/{index.es9.js → index9.es.js} +4 -4
  480. package/dist/{index.es9.js.map → index9.es.js.map} +1 -1
  481. package/dist/index90.es.js +5 -0
  482. package/dist/index90.es.js.map +1 -0
  483. package/dist/{index.es89.js → index91.es.js} +1 -1
  484. package/dist/{index.es89.js.map → index91.es.js.map} +1 -1
  485. package/dist/{index.es90.js → index92.es.js} +2 -2
  486. package/dist/{index.es90.js.map → index92.es.js.map} +1 -1
  487. package/dist/{index.es91.js → index93.es.js} +3 -3
  488. package/dist/{index.es91.js.map → index93.es.js.map} +1 -1
  489. package/dist/{index.es92.js → index94.es.js} +1 -1
  490. package/dist/{index.es92.js.map → index94.es.js.map} +1 -1
  491. package/dist/{index.es93.js → index95.es.js} +1 -1
  492. package/dist/{index.es93.js.map → index95.es.js.map} +1 -1
  493. package/dist/{index.es94.js → index96.es.js} +1 -1
  494. package/dist/{index.es94.js.map → index96.es.js.map} +1 -1
  495. package/dist/{index.es95.js → index97.es.js} +1 -1
  496. package/dist/{index.es95.js.map → index97.es.js.map} +1 -1
  497. package/dist/{index.es96.js → index98.es.js} +1 -1
  498. package/dist/{index.es96.js.map → index98.es.js.map} +1 -1
  499. package/dist/{index.es109.js → index99.es.js} +2 -2
  500. package/dist/index99.es.js.map +1 -0
  501. package/dist/styles.css +428 -29
  502. package/package.json +1 -1
  503. package/dist/index.es109.js.map +0 -1
  504. package/dist/index.es34.js +0 -31
  505. package/dist/index.es34.js.map +0 -1
  506. package/dist/index.es40.js +0 -91
  507. package/dist/index.es40.js.map +0 -1
  508. package/dist/index.es78.js +0 -88
  509. package/dist/index.es78.js.map +0 -1
  510. package/dist/index.es88.js +0 -5
  511. package/dist/index.es88.js.map +0 -1
  512. package/dist/index.es97.js.map +0 -1
  513. package/dist/index.es98.js.map +0 -1
  514. package/dist/index.es99.js.map +0 -1
@@ -1,17 +1,17 @@
1
- import { VERSION as L } from "./index.es143.js";
2
- import { CROP_RATIOS as st, FILTERS as ot, FONTS as rt, SHAPES as it, SWATCHES as dt } from "./index.es143.js";
3
- import { createState as b, getState as C, emit as i, emptySourceCanvas as g, resetAdjValues as v, getSel as x } from "./index.es144.js";
4
- import { zoomIn as T, zoomOut as z, zoomToFit as F, ZOOM_MIN as O, ZOOM_MAX as k, syncCanvasSize as w, render as p, fitStage as I } from "./index.es145.js";
5
- import { undo as P, redo as E } from "./index.es146.js";
6
- import { rotate as u, flip as y, resetToOriginal as R, applyCrop as M, cancelCrop as A, setCropRatio as W } from "./index.es147.js";
7
- import { setMode as B, selectLayer as D } from "./index.es148.js";
8
- import { commitTextEdit as m } from "./index.es149.js";
9
- import { addSticker as _ } from "./index.es150.js";
10
- import { deleteLayer as j, deleteSelected as H, duplicateSelected as U, bringSelectedToFront as N, sendSelectedToBack as Z, setAdjustment as $, setFilter as q, selectShapeType as V, setShapeFill as X, setShapeWidth as G, setBrushSize as J, setBrushStyle as K, setTextFont as Q, setTextSize as Y, setTextColor as ee, setShapeColor as te, setDrawColor as ae, setSelectedColor as le, setSelectedText as se, setSelectedFont as oe, setSelectedTextSize as re, setSelectedBoxWidth as ie, setSelectedShapeFill as de, setSelectedWidth as ne, setSelectedLabel as ce, setSelectedLabelSize as Se, setSelectedLabelColor as pe, setSelectedLabelFont as ue, setSelectedClosed as ye, setSelectedLabelSide as me, setSelectedLabelOffset as he, setSelectedLabelPos as fe, setSelectedLabelRotate as Le, setSelectedLabelDx as be, setSelectedLabelDy as Ce, setMultiPointMode as ge, layerName as ve, rotateSelected as xe, flipSelected as Te } from "./index.es151.js";
11
- import { doSave as ze, produce as Fe, normalizeSource as d, loadState as h, doLoadImage as n } from "./index.es152.js";
12
- import { loadSavedLayers as Oe, saveSelectedLayer as ke, insertSavedLayer as we, deleteSavedLayer as Ie, renameSavedLayer as Pe, setSavedLayers as Ee, insertSavedLayerEntry as Re, searchSavedLayers as Me, canSearch as Ae } from "./index.es153.js";
13
- import { mount as We } from "./index.es154.js";
14
- import { resumePoly as Be, finishPoly as f, undoPolyPoint as De, cancelPoly as _e, polyStatus as je } from "./index.es155.js";
1
+ import { VERSION as L } from "./index152.es.js";
2
+ import { CROP_RATIOS as st, FILTERS as ot, FONTS as rt, SHAPES as it, SWATCHES as dt } from "./index152.es.js";
3
+ import { createState as b, getState as C, emit as i, emptySourceCanvas as g, resetAdjValues as v, getSel as x } from "./index153.es.js";
4
+ import { zoomIn as T, zoomOut as z, zoomToFit as F, ZOOM_MIN as O, ZOOM_MAX as k, syncCanvasSize as w, render as p, fitStage as I } from "./index154.es.js";
5
+ import { undo as P, redo as E } from "./index155.es.js";
6
+ import { rotate as u, flip as y, resetToOriginal as R, applyCrop as M, cancelCrop as A, setCropRatio as W } from "./index156.es.js";
7
+ import { setMode as B, selectLayer as D } from "./index157.es.js";
8
+ import { commitTextEdit as m } from "./index158.es.js";
9
+ import { addSticker as _ } from "./index159.es.js";
10
+ import { deleteLayer as j, deleteSelected as H, duplicateSelected as U, bringSelectedToFront as N, sendSelectedToBack as Z, setAdjustment as $, setFilter as q, selectShapeType as V, setShapeFill as X, setShapeWidth as G, setBrushSize as J, setBrushStyle as K, setTextFont as Q, setTextSize as Y, setTextColor as ee, setShapeColor as te, setDrawColor as ae, setSelectedColor as le, setSelectedText as se, setSelectedFont as oe, setSelectedTextSize as re, setSelectedBoxWidth as ie, setSelectedShapeFill as de, setSelectedWidth as ne, setSelectedLabel as ce, setSelectedLabelSize as Se, setSelectedLabelColor as pe, setSelectedLabelFont as ue, setSelectedClosed as ye, setSelectedLabelSide as me, setSelectedLabelOffset as he, setSelectedLabelPos as fe, setSelectedLabelRotate as Le, setSelectedLabelDx as be, setSelectedLabelDy as Ce, setMultiPointMode as ge, layerName as ve, rotateSelected as xe, flipSelected as Te } from "./index160.es.js";
11
+ import { doSave as ze, produce as Fe, normalizeSource as d, loadState as h, doLoadImage as n } from "./index161.es.js";
12
+ import { loadSavedLayers as Oe, saveSelectedLayer as ke, insertSavedLayer as we, deleteSavedLayer as Ie, renameSavedLayer as Pe, setSavedLayers as Ee, insertSavedLayerEntry as Re, searchSavedLayers as Me, canSearch as Ae } from "./index162.es.js";
13
+ import { mount as We } from "./index163.es.js";
14
+ import { resumePoly as Be, finishPoly as f, undoPolyPoint as De, cancelPoly as _e, polyStatus as je } from "./index164.es.js";
15
15
  function c(s, a) {
16
16
  queueMicrotask(() => {
17
17
  throw new Error(`[image-editor] ${s}`, { cause: a });
@@ -149,4 +149,4 @@ export {
149
149
  dt as SWATCHES,
150
150
  tt as default
151
151
  };
152
- //# sourceMappingURL=index.es100.js.map
152
+ //# sourceMappingURL=index130.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es100.js","sources":["../src/components/organisms/image-editor/picture-studio-engine.js"],"sourcesContent":["import {\n FILTERS,\n SWATCHES,\n SHAPES,\n FONTS,\n CROP_RATIOS,\n VERSION,\n} from './engine/constants.js'\nimport {\n createState,\n emit,\n emptySourceCanvas,\n getSel,\n getState as readState,\n resetAdjValues,\n} from './engine/state.js'\nimport {\n fitStage,\n render,\n syncCanvasSize,\n zoomIn,\n zoomOut,\n zoomToFit,\n ZOOM_MIN,\n ZOOM_MAX,\n} from './engine/rendering.js'\nimport * as history from './engine/history.js'\nimport * as geometry from './engine/geometry.js'\nimport * as mode from './engine/mode.js'\nimport * as textEditor from './engine/text-editor.js'\nimport * as stickers from './engine/stickers.js'\nimport * as layerActions from './engine/layer-actions.js'\nimport * as saveExport from './engine/save-export.js'\nimport * as savedLayers from './engine/saved-layers.js'\nimport { mount as mountEngine } from './engine/mount.js'\nimport {\n resumePoly,\n polyStatus,\n finishPoly,\n cancelPoly,\n undoPolyPoint,\n} from './engine/pointer.js'\n\nexport { FILTERS, SWATCHES, SHAPES, FONTS, CROP_RATIOS }\n\nfunction reportError(context, error) {\n // Surfaces in DevTools via window.onerror with the stack intact, without\n // aborting the caller and without a console call the lint config forbids.\n queueMicrotask(() => {\n throw new Error(`[image-editor] ${context}`, { cause: error })\n })\n}\n\nfunction createEngine(config) {\n config = config || {}\n const self = {}\n const state = createState(config)\n savedLayers.loadSavedLayers(state)\n\n function notify() {\n // onUiChange is host code (a React setState, usually). A throw here used to\n // abort open() before its 'open' event fired, leaving isOpenFlag true while\n // the UI stayed closed -- after which every open() silently no-opped and the\n // editor could never be reopened.\n try {\n if (typeof config.onUiChange === 'function') {\n config.onUiChange(getUiState())\n }\n } catch (e) {\n reportError('onUiChange threw', e)\n }\n }\n state.notify = notify\n\n self.on = (ev, fn) => {\n if (state.listeners[ev]) state.listeners[ev].push(fn)\n return self\n }\n self.off = (ev, fn) => {\n if (state.listeners[ev])\n state.listeners[ev] = state.listeners[ev].filter((f) => f !== fn)\n return self\n }\n\n function getUiState() {\n const sel = getSel(state)\n return {\n hasImage: !!state.sourceCanvas.width,\n mode: state.mode,\n canUndo: state.undoStack.length > 0,\n canRedo: state.redoStack.length > 0,\n canReset: !!state.originalCanvas,\n zoomPercent: Math.round(state.zoom * 100),\n canZoomIn: state.zoom < ZOOM_MAX - 1e-6,\n canZoomOut: state.zoom > ZOOM_MIN + 1e-6,\n closeOnBackdrop: config.closeOnBackdrop !== false,\n canOpenImage: config.allowOpenImage !== false,\n isEditingText: !!state.editingLayer,\n editingSelectAll: state.editingSelectAll,\n dims: state.sourceCanvas.width\n ? `${state.sourceCanvas.width} × ${state.sourceCanvas.height} px`\n : 'No image',\n statusText: state.statusText,\n isSaving: state.isSaving,\n isLoadingImage: state.isLoadingImage,\n adjustments: { ...state.adj },\n selectedShapeType: state.selectedShapeType,\n multiPointMode: !!state.multiPointMode,\n canSearchSavedLayers: savedLayers.canSearch(state),\n savedLayers: (state.savedLayers || []).map((e) => ({\n id: e.id,\n name: e.name,\n type: e.layer?.type,\n createdAt: e.createdAt,\n })),\n poly: polyStatus(state),\n textColor: state.textColor,\n shapeColor: state.shapeColor,\n drawColor: state.drawColor,\n shapeFill: state.shapeFill,\n shapeWidth: state.shapeWidth,\n brushSize: state.brushSize,\n brushStyle: state.brushStyle,\n textFont: state.textFont,\n textSize: state.textSize,\n cropRatio: state.cropRatio,\n stickers: state.stickers,\n selected: sel\n ? {\n id: sel.id,\n type: sel.type,\n color: sel.color,\n text: sel.type === 'text' ? sel.text : undefined,\n font: sel.type === 'text' ? sel.font : undefined,\n size: sel.type === 'text' ? sel.size : undefined,\n boxWidth: sel.type === 'text' ? sel.boxWidth : undefined,\n fill: sel.type === 'shape' ? sel.fill : undefined,\n width:\n sel.type === 'shape' || sel.type === 'stroke'\n ? sel.width\n : undefined,\n shape: sel.type === 'shape' ? sel.shape : undefined,\n label: sel.type === 'shape' ? (sel.label ?? '') : undefined,\n labelSize: sel.type === 'shape' ? sel.labelSize : undefined,\n labelColor: sel.type === 'shape' ? sel.labelColor : undefined,\n labelFont: sel.type === 'shape' ? sel.labelFont : undefined,\n pointCount:\n sel.type === 'shape' && sel.points\n ? sel.points.length\n : undefined,\n closed: sel.type === 'shape' ? !!sel.closed : undefined,\n labelSide:\n sel.type === 'shape' ? (sel.labelSide ?? 'above') : undefined,\n labelOffset: sel.type === 'shape' ? sel.labelOffset : undefined,\n labelPos: sel.type === 'shape' ? (sel.labelPos ?? 0.5) : undefined,\n labelRotate:\n sel.type === 'shape' ? sel.labelRotate !== false : undefined,\n labelDx: sel.type === 'shape' ? (sel.labelDx ?? 0) : undefined,\n labelDy: sel.type === 'shape' ? (sel.labelDy ?? 0) : undefined,\n }\n : null,\n layers: state.layers.map((l) => ({\n id: l.id,\n type: l.type,\n name: layerActions.layerName(l),\n })),\n }\n }\n self.getUiState = getUiState\n\n self.refitStage = () => {\n if (!state.mounted || !state.sourceCanvas.width) return\n fitStage(state)\n render(state)\n }\n self.zoomIn = () => zoomIn(state)\n self.zoomOut = () => zoomOut(state)\n self.zoomToFit = () => zoomToFit(state)\n self.setMode = (m) => mode.setMode(state, m)\n self.selectLayer = (id) => mode.selectLayer(state, id)\n self.undo = () => history.undo(state)\n self.redo = () => history.redo(state)\n // With a layer selected these act on that layer; otherwise on the image.\n self.rotate = (deg) =>\n state.selectedId != null\n ? layerActions.rotateSelected(state, deg)\n : geometry.rotate(state, deg)\n self.flip = (hz) =>\n state.selectedId != null\n ? layerActions.flipSelected(state, hz)\n : geometry.flip(state, hz)\n // Explicit escape hatches, so the image can still be transformed directly.\n self.rotateImage = (deg) => geometry.rotate(state, deg)\n self.flipImage = (hz) => geometry.flip(state, hz)\n self.resetToOriginal = () => geometry.resetToOriginal(state)\n self.applyCrop = () => geometry.applyCrop(state)\n self.cancelCrop = () => geometry.cancelCrop(state)\n self.setCropRatio = (v) => geometry.setCropRatio(state, v)\n self.commitTextEdit = () => textEditor.commitTextEdit(state)\n self.addSticker = (src) => stickers.addSticker(state, src)\n self.setStickers = (list) => {\n state.stickers = list || []\n notify()\n }\n self.deleteLayer = (id) => layerActions.deleteLayer(state, id)\n self.deleteSelected = () => layerActions.deleteSelected(state)\n self.duplicateSelected = () => layerActions.duplicateSelected(state)\n self.bringSelectedToFront = () => layerActions.bringSelectedToFront(state)\n self.sendSelectedToBack = () => layerActions.sendSelectedToBack(state)\n self.setAdjustment = (key, value) =>\n layerActions.setAdjustment(state, key, value)\n self.setFilter = (id) => layerActions.setFilter(state, id)\n self.selectShapeType = (id) => layerActions.selectShapeType(state, id)\n self.setShapeFill = (v) => layerActions.setShapeFill(state, v)\n self.setShapeWidth = (v) => layerActions.setShapeWidth(state, v)\n self.setBrushSize = (v) => layerActions.setBrushSize(state, v)\n self.setBrushStyle = (v) => layerActions.setBrushStyle(state, v)\n self.setTextFont = (v) => layerActions.setTextFont(state, v)\n self.setTextSize = (v) => layerActions.setTextSize(state, v)\n self.setTextColor = (v) => layerActions.setTextColor(state, v)\n self.setShapeColor = (v) => layerActions.setShapeColor(state, v)\n self.setDrawColor = (v) => layerActions.setDrawColor(state, v)\n self.setSelectedColor = (v) => layerActions.setSelectedColor(state, v)\n self.setSelectedText = (v) => layerActions.setSelectedText(state, v)\n self.setSelectedFont = (v) => layerActions.setSelectedFont(state, v)\n self.setSelectedTextSize = (v) => layerActions.setSelectedTextSize(state, v)\n self.setSelectedBoxWidth = (v) => layerActions.setSelectedBoxWidth(state, v)\n self.setSelectedShapeFill = (v) => layerActions.setSelectedShapeFill(state, v)\n self.setSelectedWidth = (v) => layerActions.setSelectedWidth(state, v)\n self.setSelectedLabel = (v) => layerActions.setSelectedLabel(state, v)\n self.setSelectedLabelSize = (v) => layerActions.setSelectedLabelSize(state, v)\n self.setSelectedLabelColor = (v) =>\n layerActions.setSelectedLabelColor(state, v)\n self.setSelectedLabelFont = (v) => layerActions.setSelectedLabelFont(state, v)\n self.setSelectedClosed = (v) => layerActions.setSelectedClosed(state, v)\n self.setSelectedLabelSide = (v) => layerActions.setSelectedLabelSide(state, v)\n self.setSelectedLabelOffset = (v) =>\n layerActions.setSelectedLabelOffset(state, v)\n self.setSelectedLabelPos = (v) => layerActions.setSelectedLabelPos(state, v)\n self.setSelectedLabelRotate = (v) =>\n layerActions.setSelectedLabelRotate(state, v)\n self.setSelectedLabelDx = (v) => layerActions.setSelectedLabelDx(state, v)\n self.setSelectedLabelDy = (v) => layerActions.setSelectedLabelDy(state, v)\n self.setMultiPointMode = (v) => layerActions.setMultiPointMode(state, v)\n self.continueSelectedLine = () => resumePoly(state)\n // Touch has no Enter/Esc/Backspace, so every session action needs a button.\n self.finishLine = () => finishPoly(state, false)\n self.closeLine = () => finishPoly(state, true)\n self.undoLinePoint = () => undoPolyPoint(state)\n self.cancelLine = () => cancelPoly(state)\n self.saveSelectedLayer = (name) => savedLayers.saveSelectedLayer(state, name)\n self.insertSavedLayer = (id) => savedLayers.insertSavedLayer(state, id)\n self.deleteSavedLayer = (id) => savedLayers.deleteSavedLayer(state, id)\n self.renameSavedLayer = (id, name) =>\n savedLayers.renameSavedLayer(state, id, name)\n self.getSavedLayers = () => (state.savedLayers || []).slice()\n self.setSavedLayers = (list) => savedLayers.setSavedLayers(state, list)\n self.insertSavedLayerEntry = (entry) =>\n savedLayers.insertSavedLayerEntry(state, entry)\n self.searchSavedLayers = (q) => savedLayers.searchSavedLayers(state, q)\n self.save = () => saveExport.doSave(state, self)\n self.export = (opts) => {\n opts = opts || {}\n if (!state.sourceCanvas.width) return Promise.resolve(null)\n return saveExport.produce(state, opts.type, opts.quality)\n }\n self.getState = () => readState(state)\n self.mount = (refs) => mountEngine(state, self, refs)\n self.openFile = (file) =>\n saveExport.normalizeSource(state, file, (d) =>\n saveExport.doLoadImage(state, d)\n )\n\n self.open = (opts) => {\n opts = opts || {}\n if (state.isOpenFlag) {\n // Already flagged open. Re-emit rather than only notifying: if the host\n // never saw the last 'open' -- a throw mid-open, or a wrapper that hid\n // itself without calling close -- the flag and the UI have drifted apart,\n // and every later open() would no-op, leaving a permanently dead button.\n notify()\n emit(state, 'open', {})\n return self\n }\n state.isOpenFlag = true\n const finish = () => {\n try {\n if (state.mounted && state.sourceCanvas.width) {\n syncCanvasSize(state)\n render(state)\n }\n } catch (e) {\n // A render failure must not strand isOpenFlag: the event below is what\n // the host listens on, and without it the editor can never reopen.\n reportError('render on open failed', e)\n }\n notify()\n emit(state, 'open', {})\n }\n if (opts.state) {\n saveExport.loadState(state, opts.state)\n setTimeout(finish, 0)\n } else if (opts.image) {\n saveExport.normalizeSource(state, opts.image, (d) => {\n saveExport.doLoadImage(state, d)\n setTimeout(finish, 0)\n })\n } else {\n setTimeout(finish, 0)\n }\n return self\n }\n self.close = () => {\n state.isOpenFlag = false\n try {\n textEditor.commitTextEdit(state)\n } catch (e) {\n reportError('commit on close failed', e)\n }\n notify()\n emit(state, 'close', {})\n return self\n }\n self.loadImage = (src) => {\n saveExport.normalizeSource(state, src, (d) =>\n saveExport.doLoadImage(state, d)\n )\n return self\n }\n self.loadState = (s) => {\n saveExport.loadState(state, s)\n return self\n }\n self.reset = () => {\n state.sourceCanvas = emptySourceCanvas()\n state.originalCanvas = null\n state.layers = []\n state.selectedId = null\n state.undoStack = []\n state.redoStack = []\n state.zoom = 1\n resetAdjValues(state)\n state.statusText = 'Ready'\n notify()\n return self\n }\n self.isOpen = () => state.isOpenFlag\n self.destroy = () => {\n if (self._keyHandler)\n document.removeEventListener('keydown', self._keyHandler)\n if (self._resizeHandler)\n window.removeEventListener('resize', self._resizeHandler)\n Object.keys(state.listeners).forEach((k) => (state.listeners[k] = []))\n }\n\n if (config.autoOpen) self.open({ image: config.image, state: config.state })\n\n return self\n}\n\nconst PictureStudioEngine = { version: VERSION, create: createEngine }\nexport default PictureStudioEngine\n"],"names":["reportError","context","error","createEngine","config","self","state","createState","savedLayers.loadSavedLayers","notify","getUiState","ev","fn","f","sel","getSel","ZOOM_MAX","ZOOM_MIN","savedLayers.canSearch","e","polyStatus","layerActions.layerName","fitStage","render","zoomIn","zoomOut","zoomToFit","m","mode.setMode","id","mode.selectLayer","history.undo","history.redo","deg","layerActions.rotateSelected","geometry.rotate","hz","layerActions.flipSelected","geometry.flip","geometry.resetToOriginal","geometry.applyCrop","geometry.cancelCrop","v","geometry.setCropRatio","textEditor.commitTextEdit","src","stickers.addSticker","list","layerActions.deleteLayer","layerActions.deleteSelected","layerActions.duplicateSelected","layerActions.bringSelectedToFront","layerActions.sendSelectedToBack","key","value","layerActions.setAdjustment","layerActions.setFilter","layerActions.selectShapeType","layerActions.setShapeFill","layerActions.setShapeWidth","layerActions.setBrushSize","layerActions.setBrushStyle","layerActions.setTextFont","layerActions.setTextSize","layerActions.setTextColor","layerActions.setShapeColor","layerActions.setDrawColor","layerActions.setSelectedColor","layerActions.setSelectedText","layerActions.setSelectedFont","layerActions.setSelectedTextSize","layerActions.setSelectedBoxWidth","layerActions.setSelectedShapeFill","layerActions.setSelectedWidth","layerActions.setSelectedLabel","layerActions.setSelectedLabelSize","layerActions.setSelectedLabelColor","layerActions.setSelectedLabelFont","layerActions.setSelectedClosed","layerActions.setSelectedLabelSide","layerActions.setSelectedLabelOffset","layerActions.setSelectedLabelPos","layerActions.setSelectedLabelRotate","layerActions.setSelectedLabelDx","layerActions.setSelectedLabelDy","layerActions.setMultiPointMode","resumePoly","finishPoly","undoPolyPoint","cancelPoly","name","savedLayers.saveSelectedLayer","savedLayers.insertSavedLayer","savedLayers.deleteSavedLayer","savedLayers.renameSavedLayer","savedLayers.setSavedLayers","entry","savedLayers.insertSavedLayerEntry","q","savedLayers.searchSavedLayers","saveExport.doSave","opts","saveExport.produce","readState","refs","mountEngine","file","saveExport.normalizeSource","d","saveExport.doLoadImage","emit","finish","syncCanvasSize","saveExport.loadState","s","emptySourceCanvas","resetAdjValues","k","PictureStudioEngine","VERSION"],"mappings":"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"}
1
+ {"version":3,"file":"index130.es.js","sources":["../src/components/organisms/image-editor/picture-studio-engine.js"],"sourcesContent":["import {\n FILTERS,\n SWATCHES,\n SHAPES,\n FONTS,\n CROP_RATIOS,\n VERSION,\n} from './engine/constants.js'\nimport {\n createState,\n emit,\n emptySourceCanvas,\n getSel,\n getState as readState,\n resetAdjValues,\n} from './engine/state.js'\nimport {\n fitStage,\n render,\n syncCanvasSize,\n zoomIn,\n zoomOut,\n zoomToFit,\n ZOOM_MIN,\n ZOOM_MAX,\n} from './engine/rendering.js'\nimport * as history from './engine/history.js'\nimport * as geometry from './engine/geometry.js'\nimport * as mode from './engine/mode.js'\nimport * as textEditor from './engine/text-editor.js'\nimport * as stickers from './engine/stickers.js'\nimport * as layerActions from './engine/layer-actions.js'\nimport * as saveExport from './engine/save-export.js'\nimport * as savedLayers from './engine/saved-layers.js'\nimport { mount as mountEngine } from './engine/mount.js'\nimport {\n resumePoly,\n polyStatus,\n finishPoly,\n cancelPoly,\n undoPolyPoint,\n} from './engine/pointer.js'\n\nexport { FILTERS, SWATCHES, SHAPES, FONTS, CROP_RATIOS }\n\nfunction reportError(context, error) {\n // Surfaces in DevTools via window.onerror with the stack intact, without\n // aborting the caller and without a console call the lint config forbids.\n queueMicrotask(() => {\n throw new Error(`[image-editor] ${context}`, { cause: error })\n })\n}\n\nfunction createEngine(config) {\n config = config || {}\n const self = {}\n const state = createState(config)\n savedLayers.loadSavedLayers(state)\n\n function notify() {\n // onUiChange is host code (a React setState, usually). A throw here used to\n // abort open() before its 'open' event fired, leaving isOpenFlag true while\n // the UI stayed closed -- after which every open() silently no-opped and the\n // editor could never be reopened.\n try {\n if (typeof config.onUiChange === 'function') {\n config.onUiChange(getUiState())\n }\n } catch (e) {\n reportError('onUiChange threw', e)\n }\n }\n state.notify = notify\n\n self.on = (ev, fn) => {\n if (state.listeners[ev]) state.listeners[ev].push(fn)\n return self\n }\n self.off = (ev, fn) => {\n if (state.listeners[ev])\n state.listeners[ev] = state.listeners[ev].filter((f) => f !== fn)\n return self\n }\n\n function getUiState() {\n const sel = getSel(state)\n return {\n hasImage: !!state.sourceCanvas.width,\n mode: state.mode,\n canUndo: state.undoStack.length > 0,\n canRedo: state.redoStack.length > 0,\n canReset: !!state.originalCanvas,\n zoomPercent: Math.round(state.zoom * 100),\n canZoomIn: state.zoom < ZOOM_MAX - 1e-6,\n canZoomOut: state.zoom > ZOOM_MIN + 1e-6,\n closeOnBackdrop: config.closeOnBackdrop !== false,\n canOpenImage: config.allowOpenImage !== false,\n isEditingText: !!state.editingLayer,\n editingSelectAll: state.editingSelectAll,\n dims: state.sourceCanvas.width\n ? `${state.sourceCanvas.width} × ${state.sourceCanvas.height} px`\n : 'No image',\n statusText: state.statusText,\n isSaving: state.isSaving,\n isLoadingImage: state.isLoadingImage,\n adjustments: { ...state.adj },\n selectedShapeType: state.selectedShapeType,\n multiPointMode: !!state.multiPointMode,\n canSearchSavedLayers: savedLayers.canSearch(state),\n savedLayers: (state.savedLayers || []).map((e) => ({\n id: e.id,\n name: e.name,\n type: e.layer?.type,\n createdAt: e.createdAt,\n })),\n poly: polyStatus(state),\n textColor: state.textColor,\n shapeColor: state.shapeColor,\n drawColor: state.drawColor,\n shapeFill: state.shapeFill,\n shapeWidth: state.shapeWidth,\n brushSize: state.brushSize,\n brushStyle: state.brushStyle,\n textFont: state.textFont,\n textSize: state.textSize,\n cropRatio: state.cropRatio,\n stickers: state.stickers,\n selected: sel\n ? {\n id: sel.id,\n type: sel.type,\n color: sel.color,\n text: sel.type === 'text' ? sel.text : undefined,\n font: sel.type === 'text' ? sel.font : undefined,\n size: sel.type === 'text' ? sel.size : undefined,\n boxWidth: sel.type === 'text' ? sel.boxWidth : undefined,\n fill: sel.type === 'shape' ? sel.fill : undefined,\n width:\n sel.type === 'shape' || sel.type === 'stroke'\n ? sel.width\n : undefined,\n shape: sel.type === 'shape' ? sel.shape : undefined,\n label: sel.type === 'shape' ? (sel.label ?? '') : undefined,\n labelSize: sel.type === 'shape' ? sel.labelSize : undefined,\n labelColor: sel.type === 'shape' ? sel.labelColor : undefined,\n labelFont: sel.type === 'shape' ? sel.labelFont : undefined,\n pointCount:\n sel.type === 'shape' && sel.points\n ? sel.points.length\n : undefined,\n closed: sel.type === 'shape' ? !!sel.closed : undefined,\n labelSide:\n sel.type === 'shape' ? (sel.labelSide ?? 'above') : undefined,\n labelOffset: sel.type === 'shape' ? sel.labelOffset : undefined,\n labelPos: sel.type === 'shape' ? (sel.labelPos ?? 0.5) : undefined,\n labelRotate:\n sel.type === 'shape' ? sel.labelRotate !== false : undefined,\n labelDx: sel.type === 'shape' ? (sel.labelDx ?? 0) : undefined,\n labelDy: sel.type === 'shape' ? (sel.labelDy ?? 0) : undefined,\n }\n : null,\n layers: state.layers.map((l) => ({\n id: l.id,\n type: l.type,\n name: layerActions.layerName(l),\n })),\n }\n }\n self.getUiState = getUiState\n\n self.refitStage = () => {\n if (!state.mounted || !state.sourceCanvas.width) return\n fitStage(state)\n render(state)\n }\n self.zoomIn = () => zoomIn(state)\n self.zoomOut = () => zoomOut(state)\n self.zoomToFit = () => zoomToFit(state)\n self.setMode = (m) => mode.setMode(state, m)\n self.selectLayer = (id) => mode.selectLayer(state, id)\n self.undo = () => history.undo(state)\n self.redo = () => history.redo(state)\n // With a layer selected these act on that layer; otherwise on the image.\n self.rotate = (deg) =>\n state.selectedId != null\n ? layerActions.rotateSelected(state, deg)\n : geometry.rotate(state, deg)\n self.flip = (hz) =>\n state.selectedId != null\n ? layerActions.flipSelected(state, hz)\n : geometry.flip(state, hz)\n // Explicit escape hatches, so the image can still be transformed directly.\n self.rotateImage = (deg) => geometry.rotate(state, deg)\n self.flipImage = (hz) => geometry.flip(state, hz)\n self.resetToOriginal = () => geometry.resetToOriginal(state)\n self.applyCrop = () => geometry.applyCrop(state)\n self.cancelCrop = () => geometry.cancelCrop(state)\n self.setCropRatio = (v) => geometry.setCropRatio(state, v)\n self.commitTextEdit = () => textEditor.commitTextEdit(state)\n self.addSticker = (src) => stickers.addSticker(state, src)\n self.setStickers = (list) => {\n state.stickers = list || []\n notify()\n }\n self.deleteLayer = (id) => layerActions.deleteLayer(state, id)\n self.deleteSelected = () => layerActions.deleteSelected(state)\n self.duplicateSelected = () => layerActions.duplicateSelected(state)\n self.bringSelectedToFront = () => layerActions.bringSelectedToFront(state)\n self.sendSelectedToBack = () => layerActions.sendSelectedToBack(state)\n self.setAdjustment = (key, value) =>\n layerActions.setAdjustment(state, key, value)\n self.setFilter = (id) => layerActions.setFilter(state, id)\n self.selectShapeType = (id) => layerActions.selectShapeType(state, id)\n self.setShapeFill = (v) => layerActions.setShapeFill(state, v)\n self.setShapeWidth = (v) => layerActions.setShapeWidth(state, v)\n self.setBrushSize = (v) => layerActions.setBrushSize(state, v)\n self.setBrushStyle = (v) => layerActions.setBrushStyle(state, v)\n self.setTextFont = (v) => layerActions.setTextFont(state, v)\n self.setTextSize = (v) => layerActions.setTextSize(state, v)\n self.setTextColor = (v) => layerActions.setTextColor(state, v)\n self.setShapeColor = (v) => layerActions.setShapeColor(state, v)\n self.setDrawColor = (v) => layerActions.setDrawColor(state, v)\n self.setSelectedColor = (v) => layerActions.setSelectedColor(state, v)\n self.setSelectedText = (v) => layerActions.setSelectedText(state, v)\n self.setSelectedFont = (v) => layerActions.setSelectedFont(state, v)\n self.setSelectedTextSize = (v) => layerActions.setSelectedTextSize(state, v)\n self.setSelectedBoxWidth = (v) => layerActions.setSelectedBoxWidth(state, v)\n self.setSelectedShapeFill = (v) => layerActions.setSelectedShapeFill(state, v)\n self.setSelectedWidth = (v) => layerActions.setSelectedWidth(state, v)\n self.setSelectedLabel = (v) => layerActions.setSelectedLabel(state, v)\n self.setSelectedLabelSize = (v) => layerActions.setSelectedLabelSize(state, v)\n self.setSelectedLabelColor = (v) =>\n layerActions.setSelectedLabelColor(state, v)\n self.setSelectedLabelFont = (v) => layerActions.setSelectedLabelFont(state, v)\n self.setSelectedClosed = (v) => layerActions.setSelectedClosed(state, v)\n self.setSelectedLabelSide = (v) => layerActions.setSelectedLabelSide(state, v)\n self.setSelectedLabelOffset = (v) =>\n layerActions.setSelectedLabelOffset(state, v)\n self.setSelectedLabelPos = (v) => layerActions.setSelectedLabelPos(state, v)\n self.setSelectedLabelRotate = (v) =>\n layerActions.setSelectedLabelRotate(state, v)\n self.setSelectedLabelDx = (v) => layerActions.setSelectedLabelDx(state, v)\n self.setSelectedLabelDy = (v) => layerActions.setSelectedLabelDy(state, v)\n self.setMultiPointMode = (v) => layerActions.setMultiPointMode(state, v)\n self.continueSelectedLine = () => resumePoly(state)\n // Touch has no Enter/Esc/Backspace, so every session action needs a button.\n self.finishLine = () => finishPoly(state, false)\n self.closeLine = () => finishPoly(state, true)\n self.undoLinePoint = () => undoPolyPoint(state)\n self.cancelLine = () => cancelPoly(state)\n self.saveSelectedLayer = (name) => savedLayers.saveSelectedLayer(state, name)\n self.insertSavedLayer = (id) => savedLayers.insertSavedLayer(state, id)\n self.deleteSavedLayer = (id) => savedLayers.deleteSavedLayer(state, id)\n self.renameSavedLayer = (id, name) =>\n savedLayers.renameSavedLayer(state, id, name)\n self.getSavedLayers = () => (state.savedLayers || []).slice()\n self.setSavedLayers = (list) => savedLayers.setSavedLayers(state, list)\n self.insertSavedLayerEntry = (entry) =>\n savedLayers.insertSavedLayerEntry(state, entry)\n self.searchSavedLayers = (q) => savedLayers.searchSavedLayers(state, q)\n self.save = () => saveExport.doSave(state, self)\n self.export = (opts) => {\n opts = opts || {}\n if (!state.sourceCanvas.width) return Promise.resolve(null)\n return saveExport.produce(state, opts.type, opts.quality)\n }\n self.getState = () => readState(state)\n self.mount = (refs) => mountEngine(state, self, refs)\n self.openFile = (file) =>\n saveExport.normalizeSource(state, file, (d) =>\n saveExport.doLoadImage(state, d)\n )\n\n self.open = (opts) => {\n opts = opts || {}\n if (state.isOpenFlag) {\n // Already flagged open. Re-emit rather than only notifying: if the host\n // never saw the last 'open' -- a throw mid-open, or a wrapper that hid\n // itself without calling close -- the flag and the UI have drifted apart,\n // and every later open() would no-op, leaving a permanently dead button.\n notify()\n emit(state, 'open', {})\n return self\n }\n state.isOpenFlag = true\n const finish = () => {\n try {\n if (state.mounted && state.sourceCanvas.width) {\n syncCanvasSize(state)\n render(state)\n }\n } catch (e) {\n // A render failure must not strand isOpenFlag: the event below is what\n // the host listens on, and without it the editor can never reopen.\n reportError('render on open failed', e)\n }\n notify()\n emit(state, 'open', {})\n }\n if (opts.state) {\n saveExport.loadState(state, opts.state)\n setTimeout(finish, 0)\n } else if (opts.image) {\n saveExport.normalizeSource(state, opts.image, (d) => {\n saveExport.doLoadImage(state, d)\n setTimeout(finish, 0)\n })\n } else {\n setTimeout(finish, 0)\n }\n return self\n }\n self.close = () => {\n state.isOpenFlag = false\n try {\n textEditor.commitTextEdit(state)\n } catch (e) {\n reportError('commit on close failed', e)\n }\n notify()\n emit(state, 'close', {})\n return self\n }\n self.loadImage = (src) => {\n saveExport.normalizeSource(state, src, (d) =>\n saveExport.doLoadImage(state, d)\n )\n return self\n }\n self.loadState = (s) => {\n saveExport.loadState(state, s)\n return self\n }\n self.reset = () => {\n state.sourceCanvas = emptySourceCanvas()\n state.originalCanvas = null\n state.layers = []\n state.selectedId = null\n state.undoStack = []\n state.redoStack = []\n state.zoom = 1\n resetAdjValues(state)\n state.statusText = 'Ready'\n notify()\n return self\n }\n self.isOpen = () => state.isOpenFlag\n self.destroy = () => {\n if (self._keyHandler)\n document.removeEventListener('keydown', self._keyHandler)\n if (self._resizeHandler)\n window.removeEventListener('resize', self._resizeHandler)\n Object.keys(state.listeners).forEach((k) => (state.listeners[k] = []))\n }\n\n if (config.autoOpen) self.open({ image: config.image, state: config.state })\n\n return self\n}\n\nconst PictureStudioEngine = { version: VERSION, create: createEngine }\nexport default PictureStudioEngine\n"],"names":["reportError","context","error","createEngine","config","self","state","createState","savedLayers.loadSavedLayers","notify","getUiState","ev","fn","f","sel","getSel","ZOOM_MAX","ZOOM_MIN","savedLayers.canSearch","e","polyStatus","layerActions.layerName","fitStage","render","zoomIn","zoomOut","zoomToFit","m","mode.setMode","id","mode.selectLayer","history.undo","history.redo","deg","layerActions.rotateSelected","geometry.rotate","hz","layerActions.flipSelected","geometry.flip","geometry.resetToOriginal","geometry.applyCrop","geometry.cancelCrop","v","geometry.setCropRatio","textEditor.commitTextEdit","src","stickers.addSticker","list","layerActions.deleteLayer","layerActions.deleteSelected","layerActions.duplicateSelected","layerActions.bringSelectedToFront","layerActions.sendSelectedToBack","key","value","layerActions.setAdjustment","layerActions.setFilter","layerActions.selectShapeType","layerActions.setShapeFill","layerActions.setShapeWidth","layerActions.setBrushSize","layerActions.setBrushStyle","layerActions.setTextFont","layerActions.setTextSize","layerActions.setTextColor","layerActions.setShapeColor","layerActions.setDrawColor","layerActions.setSelectedColor","layerActions.setSelectedText","layerActions.setSelectedFont","layerActions.setSelectedTextSize","layerActions.setSelectedBoxWidth","layerActions.setSelectedShapeFill","layerActions.setSelectedWidth","layerActions.setSelectedLabel","layerActions.setSelectedLabelSize","layerActions.setSelectedLabelColor","layerActions.setSelectedLabelFont","layerActions.setSelectedClosed","layerActions.setSelectedLabelSide","layerActions.setSelectedLabelOffset","layerActions.setSelectedLabelPos","layerActions.setSelectedLabelRotate","layerActions.setSelectedLabelDx","layerActions.setSelectedLabelDy","layerActions.setMultiPointMode","resumePoly","finishPoly","undoPolyPoint","cancelPoly","name","savedLayers.saveSelectedLayer","savedLayers.insertSavedLayer","savedLayers.deleteSavedLayer","savedLayers.renameSavedLayer","savedLayers.setSavedLayers","entry","savedLayers.insertSavedLayerEntry","q","savedLayers.searchSavedLayers","saveExport.doSave","opts","saveExport.produce","readState","refs","mountEngine","file","saveExport.normalizeSource","d","saveExport.doLoadImage","emit","finish","syncCanvasSize","saveExport.loadState","s","emptySourceCanvas","resetAdjValues","k","PictureStudioEngine","VERSION"],"mappings":"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"}
@@ -7,4 +7,4 @@ function o(n, t) {
7
7
  export {
8
8
  o as interpolateUrl
9
9
  };
10
- //# sourceMappingURL=index.es104.js.map
10
+ //# sourceMappingURL=index131.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es104.js","sources":["../src/components/molecules/creatable-multi-combobox/creatable-multi-combobox.types.ts"],"sourcesContent":["import { PopoverContent } from '@/components/unstyled/popover/popover-components'\nimport React from 'react'\n\nexport type CreatableOption = {\n id: string\n name: string\n disabled?: boolean\n icon?: React.ReactElement\n}\n\nexport type PopoverContentProps = React.ComponentPropsWithoutRef<\n typeof PopoverContent\n>\n\n/** Replaces {{fieldId}} in URL with urlTemplateData[fieldId] */\nexport function interpolateUrl(\n url: string,\n data: Record<string, unknown>\n): string {\n return url.replace(/\\{\\{(\\w+)\\}\\}/g, (_, key) => {\n const val = data[key]\n return val != null ? String(val) : ''\n })\n}\n\nexport type CreatableMultiComboboxPropsType = {\n /** API URL to fetch options (POST). Supports {{fieldId}} for form value interpolation. Ignored if fetchOptions provided */\n optionsUrl?: string\n /** API URL to create new option (POST). Supports {{fieldId}} for form value interpolation. Ignored if createOption provided */\n createOptionUrl?: string\n /** Override: custom fetch for options. When provided, optionsUrl is ignored */\n fetchOptions?: () => Promise<CreatableOption[]>\n /** Override: custom create handler. When provided, createOptionUrl is ignored */\n createOption?: (value: string) => Promise<CreatableOption>\n /** Headers to include in API requests (e.g. Authorization from cookie). Can be sync or async */\n requestHeaders?:\n | Record<string, string>\n | (() => Record<string, string> | Promise<Record<string, string>>)\n /** Request body for fetch options API. When provided, overrides default { ...urlTemplateData, fieldId } */\n optionsRequestBody?: Record<string, unknown>\n /** Request body for create/upsert option API. Merged with { [createOptionValueKey]: value }. E.g. { type: \"zone\" } */\n createOptionRequestBody?: Record<string, unknown>\n /** Key for the typed value in create body. Default \"value\". Use \"email\" if API expects that key */\n createOptionValueKey?: string\n /** Extra body fields for create (e.g. { email: userEmail } from cookie). Merged last */\n createOptionExtraBody?:\n | Record<string, unknown>\n | (() => Record<string, unknown> | Promise<Record<string, unknown>>)\n /** When true, createOptionExtraBody is not merged (use when value key is \"email\" and extra would conflict) */\n skipCreateOptionExtraBody?: boolean\n /** Form values for URL interpolation (e.g. {{country}} -> values.country) */\n urlTemplateData?: Record<string, unknown>\n value: string[]\n fieldId: string\n placeholder?: string\n searchPlaceholder?: string\n emptyMessage?: string\n addCustomMessage?: (typedValue: string) => string\n /** Minimum number of values that must be selected */\n minSelected?: number\n /** Maximum number of values that can be selected */\n maxSelected?: number\n onChange: (value: string[]) => void\n container?: Element | null | undefined\n}\n"],"names":["interpolateUrl","url","data","_","key","val"],"mappings":"AAeO,SAASA,EACdC,GACAC,GACQ;AACR,SAAOD,EAAI,QAAQ,kBAAkB,CAACE,GAAGC,MAAQ;AAC/C,UAAMC,IAAMH,EAAKE,CAAG;AACpB,WAAOC,KAAO,OAAO,OAAOA,CAAG,IAAI;AAAA,EACrC,CAAC;AACH;"}
1
+ {"version":3,"file":"index131.es.js","sources":["../src/components/molecules/creatable-multi-combobox/creatable-multi-combobox.types.ts"],"sourcesContent":["import { PopoverContent } from '@/components/unstyled/popover/popover-components'\nimport React from 'react'\n\nexport type CreatableOption = {\n id: string\n name: string\n disabled?: boolean\n icon?: React.ReactElement\n}\n\nexport type PopoverContentProps = React.ComponentPropsWithoutRef<\n typeof PopoverContent\n>\n\n/** Replaces {{fieldId}} in URL with urlTemplateData[fieldId] */\nexport function interpolateUrl(\n url: string,\n data: Record<string, unknown>\n): string {\n return url.replace(/\\{\\{(\\w+)\\}\\}/g, (_, key) => {\n const val = data[key]\n return val != null ? String(val) : ''\n })\n}\n\nexport type CreatableMultiComboboxPropsType = {\n /** API URL to fetch options (POST). Supports {{fieldId}} for form value interpolation. Ignored if fetchOptions provided */\n optionsUrl?: string\n /** API URL to create new option (POST). Supports {{fieldId}} for form value interpolation. Ignored if createOption provided */\n createOptionUrl?: string\n /** Override: custom fetch for options. When provided, optionsUrl is ignored */\n fetchOptions?: () => Promise<CreatableOption[]>\n /** Override: custom create handler. When provided, createOptionUrl is ignored */\n createOption?: (value: string) => Promise<CreatableOption>\n /** Headers to include in API requests (e.g. Authorization from cookie). Can be sync or async */\n requestHeaders?:\n | Record<string, string>\n | (() => Record<string, string> | Promise<Record<string, string>>)\n /** Request body for fetch options API. When provided, overrides default { ...urlTemplateData, fieldId } */\n optionsRequestBody?: Record<string, unknown>\n /** Request body for create/upsert option API. Merged with { [createOptionValueKey]: value }. E.g. { type: \"zone\" } */\n createOptionRequestBody?: Record<string, unknown>\n /** Key for the typed value in create body. Default \"value\". Use \"email\" if API expects that key */\n createOptionValueKey?: string\n /** Extra body fields for create (e.g. { email: userEmail } from cookie). Merged last */\n createOptionExtraBody?:\n | Record<string, unknown>\n | (() => Record<string, unknown> | Promise<Record<string, unknown>>)\n /** When true, createOptionExtraBody is not merged (use when value key is \"email\" and extra would conflict) */\n skipCreateOptionExtraBody?: boolean\n /** Form values for URL interpolation (e.g. {{country}} -> values.country) */\n urlTemplateData?: Record<string, unknown>\n value: string[]\n fieldId: string\n placeholder?: string\n searchPlaceholder?: string\n emptyMessage?: string\n addCustomMessage?: (typedValue: string) => string\n /** Minimum number of values that must be selected */\n minSelected?: number\n /** Maximum number of values that can be selected */\n maxSelected?: number\n onChange: (value: string[]) => void\n container?: Element | null | undefined\n}\n"],"names":["interpolateUrl","url","data","_","key","val"],"mappings":"AAeO,SAASA,EACdC,GACAC,GACQ;AACR,SAAOD,EAAI,QAAQ,kBAAkB,CAACE,GAAGC,MAAQ;AAC/C,UAAMC,IAAMH,EAAKE,CAAG;AACpB,WAAOC,KAAO,OAAO,OAAOA,CAAG,IAAI;AAAA,EACrC,CAAC;AACH;"}
@@ -49,4 +49,4 @@ const s = r(
49
49
  export {
50
50
  s as InputVariants
51
51
  };
52
- //# sourceMappingURL=index.es106.js.map
52
+ //# sourceMappingURL=index132.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es106.js","sources":["../src/components/atoms/input/input.styles.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nexport const InputVariants = cva(\n ` h-[38px] w-full border flex items-center justify-between gap-1.5 relative mt-1.5 rounded-lg \n text-light-2 px-3 py-2\n file:border-0 file:bg-transparent\n placeholder:font-normal placeholder:text-light-4`,\n {\n variants: {\n isError: {\n true: '',\n false: '',\n },\n isFocused: {\n true: '',\n false: '',\n },\n disabled: {\n true: 'bg-light-3 border-neutral-2 cursor-not-allowed',\n false: '',\n },\n },\n defaultVariants: {\n isError: false,\n },\n compoundVariants: [\n {\n isError: true,\n isFocused: true,\n className: 'border-danger-2 ring-4 ring-danger-1',\n },\n {\n isError: false,\n isFocused: true,\n className: 'border-primary-2 ring-4 ring-primary-1',\n },\n {\n isError: true,\n isFocused: false,\n className: 'border-danger-2',\n },\n {\n isError: false,\n isFocused: false,\n className: 'border-light-2',\n },\n ],\n }\n)\n"],"names":["InputVariants","cva"],"mappings":";AAEO,MAAMA,IAAgBC;AAAA,EAC3B;AAAA;AAAA;AAAA;AAAA,EAIA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,MAAM;AAAA,QACN,OAAO;AAAA,MAAA;AAAA,MAET,WAAW;AAAA,QACT,MAAM;AAAA,QACN,OAAO;AAAA,MAAA;AAAA,MAET,UAAU;AAAA,QACR,MAAM;AAAA,QACN,OAAO;AAAA,MAAA;AAAA,IACT;AAAA,IAEF,iBAAiB;AAAA,MACf,SAAS;AAAA,IAAA;AAAA,IAEX,kBAAkB;AAAA,MAChB;AAAA,QACE,SAAS;AAAA,QACT,WAAW;AAAA,QACX,WAAW;AAAA,MAAA;AAAA,MAEb;AAAA,QACE,SAAS;AAAA,QACT,WAAW;AAAA,QACX,WAAW;AAAA,MAAA;AAAA,MAEb;AAAA,QACE,SAAS;AAAA,QACT,WAAW;AAAA,QACX,WAAW;AAAA,MAAA;AAAA,MAEb;AAAA,QACE,SAAS;AAAA,QACT,WAAW;AAAA,QACX,WAAW;AAAA,MAAA;AAAA,IACb;AAAA,EACF;AAEJ;"}
1
+ {"version":3,"file":"index132.es.js","sources":["../src/components/atoms/input/input.styles.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nexport const InputVariants = cva(\n ` h-[38px] w-full border flex items-center justify-between gap-1.5 relative mt-1.5 rounded-lg \n text-light-2 px-3 py-2\n file:border-0 file:bg-transparent\n placeholder:font-normal placeholder:text-light-4`,\n {\n variants: {\n isError: {\n true: '',\n false: '',\n },\n isFocused: {\n true: '',\n false: '',\n },\n disabled: {\n true: 'bg-light-3 border-neutral-2 cursor-not-allowed',\n false: '',\n },\n },\n defaultVariants: {\n isError: false,\n },\n compoundVariants: [\n {\n isError: true,\n isFocused: true,\n className: 'border-danger-2 ring-4 ring-danger-1',\n },\n {\n isError: false,\n isFocused: true,\n className: 'border-primary-2 ring-4 ring-primary-1',\n },\n {\n isError: true,\n isFocused: false,\n className: 'border-danger-2',\n },\n {\n isError: false,\n isFocused: false,\n className: 'border-light-2',\n },\n ],\n }\n)\n"],"names":["InputVariants","cva"],"mappings":";AAEO,MAAMA,IAAgBC;AAAA,EAC3B;AAAA;AAAA;AAAA;AAAA,EAIA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,MAAM;AAAA,QACN,OAAO;AAAA,MAAA;AAAA,MAET,WAAW;AAAA,QACT,MAAM;AAAA,QACN,OAAO;AAAA,MAAA;AAAA,MAET,UAAU;AAAA,QACR,MAAM;AAAA,QACN,OAAO;AAAA,MAAA;AAAA,IACT;AAAA,IAEF,iBAAiB;AAAA,MACf,SAAS;AAAA,IAAA;AAAA,IAEX,kBAAkB;AAAA,MAChB;AAAA,QACE,SAAS;AAAA,QACT,WAAW;AAAA,QACX,WAAW;AAAA,MAAA;AAAA,MAEb;AAAA,QACE,SAAS;AAAA,QACT,WAAW;AAAA,QACX,WAAW;AAAA,MAAA;AAAA,MAEb;AAAA,QACE,SAAS;AAAA,QACT,WAAW;AAAA,QACX,WAAW;AAAA,MAAA;AAAA,MAEb;AAAA,QACE,SAAS;AAAA,QACT,WAAW;AAAA,QACX,WAAW;AAAA,MAAA;AAAA,IACb;AAAA,EACF;AAEJ;"}
@@ -1,8 +1,8 @@
1
1
  import * as e from "react";
2
2
  import { OTPInput as l, OTPInputContext as u } from "input-otp";
3
3
  import { Dot as f } from "lucide-react";
4
- import { cn as n } from "./index.es89.js";
5
- import { OTPInputVariants as d } from "./index.es158.js";
4
+ import { cn as n } from "./index91.es.js";
5
+ import { OTPInputVariants as d } from "./index165.es.js";
6
6
  const O = e.forwardRef(({ className: t, containerClassName: a, ...r }, o) => /* @__PURE__ */ e.createElement(
7
7
  l,
8
8
  {
@@ -43,4 +43,4 @@ export {
43
43
  I as InputOTPSeparator,
44
44
  T as InputOTPSlot
45
45
  };
46
- //# sourceMappingURL=index.es114.js.map
46
+ //# sourceMappingURL=index133.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es114.js","sources":["../src/components/unstyled/otp-input/otp-input-component.tsx"],"sourcesContent":["'use client'\n\nimport * as React from 'react'\nimport { OTPInput, OTPInputContext } from 'input-otp'\nimport { Dot } from 'lucide-react'\nimport { cn } from '@/lib/utils'\nimport { InputOTPSlotProps } from './otp-input.types'\nimport { OTPInputVariants } from './otp-input.styles'\n\nconst InputOTP = React.forwardRef<\n React.ElementRef<typeof OTPInput>,\n React.ComponentPropsWithoutRef<typeof OTPInput> & { isError?: boolean }\n>(({ className, containerClassName, ...props }, ref) => (\n <OTPInput\n ref={ref}\n containerClassName={cn('flex items-center gap-3', containerClassName)}\n className={cn(className)}\n {...props}\n inputMode=\"text\"\n />\n))\nInputOTP.displayName = 'InputOTP'\n\nconst InputOTPGroup = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn('flex items-center', className)} {...props} />\n))\nInputOTPGroup.displayName = 'InputOTPGroup'\n\nconst InputOTPSlot = React.forwardRef<HTMLDivElement, InputOTPSlotProps>(\n ({ index, className, isError, ...props }, ref) => {\n const inputOTPContext = React.useContext(OTPInputContext)\n const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index]\n return (\n <div\n ref={ref}\n className={cn(\n OTPInputVariants({ isError, isFocused: isActive }),\n className\n )}\n {...props}\n >\n {char}\n {hasFakeCaret && (\n <div className=\"pointer-events-none absolute inset-0 flex items-center justify-center\">\n <div className=\"h-4 w-px animate-caret-blink bg-black duration-1000\" />\n </div>\n )}\n </div>\n )\n }\n)\n\nInputOTPSlot.displayName = 'InputOTPSlot'\n\nconst InputOTPSeparator = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ ...props }, ref) => (\n <div ref={ref} role=\"separator\" {...props}>\n <Dot />\n </div>\n))\nInputOTPSeparator.displayName = 'InputOTPSeparator'\n\nexport { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator }\n"],"names":["InputOTP","React","className","containerClassName","props","ref","OTPInput","cn","InputOTPGroup","InputOTPSlot","index","isError","inputOTPContext","OTPInputContext","char","hasFakeCaret","isActive","OTPInputVariants","InputOTPSeparator","Dot"],"mappings":";;;;;AASA,MAAMA,IAAWC,EAAM,WAGrB,CAAC,EAAE,WAAAC,GAAW,oBAAAC,GAAoB,GAAGC,EAAA,GAASC,MAC9C,gBAAAJ,EAAA;AAAA,EAACK;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,oBAAoBE,EAAG,2BAA2BJ,CAAkB;AAAA,IACpE,WAAWI,EAAGL,CAAS;AAAA,IACtB,GAAGE;AAAA,IACJ,WAAU;AAAA,EAAA;AACZ,CACD;AACDJ,EAAS,cAAc;AAEvB,MAAMQ,IAAgBP,EAAM,WAG1B,CAAC,EAAE,WAAAC,GAAW,GAAGE,KAASC,sCACzB,OAAA,EAAI,KAAAA,GAAU,WAAWE,EAAG,qBAAqBL,CAAS,GAAI,GAAGE,GAAO,CAC1E;AACDI,EAAc,cAAc;AAE5B,MAAMC,IAAeR,EAAM;AAAA,EACzB,CAAC,EAAE,OAAAS,GAAO,WAAAR,GAAW,SAAAS,GAAS,GAAGP,EAAA,GAASC,MAAQ;AAChD,UAAMO,IAAkBX,EAAM,WAAWY,CAAe,GAClD,EAAE,MAAAC,GAAM,cAAAC,GAAc,UAAAC,MAAaJ,EAAgB,MAAMF,CAAK;AACpE,WACE,gBAAAT,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAI;AAAA,QACA,WAAWE;AAAA,UACTU,EAAiB,EAAE,SAAAN,GAAS,WAAWK,GAAU;AAAA,UACjDd;AAAA,QAAA;AAAA,QAED,GAAGE;AAAA,MAAA;AAAA,MAEHU;AAAA,MACAC,qCACE,OAAA,EAAI,WAAU,2EACb,gBAAAd,EAAA,cAAC,OAAA,EAAI,WAAU,sDAAA,CAAsD,CACvE;AAAA,IAAA;AAAA,EAIR;AACF;AAEAQ,EAAa,cAAc;AAE3B,MAAMS,IAAoBjB,EAAM,WAG9B,CAAC,EAAE,GAAGG,KAASC,sCACd,OAAA,EAAI,KAAAA,GAAU,MAAK,aAAa,GAAGD,KAClC,gBAAAH,EAAA,cAACkB,GAAA,IAAI,CACP,CACD;AACDD,EAAkB,cAAc;"}
1
+ {"version":3,"file":"index133.es.js","sources":["../src/components/unstyled/otp-input/otp-input-component.tsx"],"sourcesContent":["'use client'\n\nimport * as React from 'react'\nimport { OTPInput, OTPInputContext } from 'input-otp'\nimport { Dot } from 'lucide-react'\nimport { cn } from '@/lib/utils'\nimport { InputOTPSlotProps } from './otp-input.types'\nimport { OTPInputVariants } from './otp-input.styles'\n\nconst InputOTP = React.forwardRef<\n React.ElementRef<typeof OTPInput>,\n React.ComponentPropsWithoutRef<typeof OTPInput> & { isError?: boolean }\n>(({ className, containerClassName, ...props }, ref) => (\n <OTPInput\n ref={ref}\n containerClassName={cn('flex items-center gap-3', containerClassName)}\n className={cn(className)}\n {...props}\n inputMode=\"text\"\n />\n))\nInputOTP.displayName = 'InputOTP'\n\nconst InputOTPGroup = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn('flex items-center', className)} {...props} />\n))\nInputOTPGroup.displayName = 'InputOTPGroup'\n\nconst InputOTPSlot = React.forwardRef<HTMLDivElement, InputOTPSlotProps>(\n ({ index, className, isError, ...props }, ref) => {\n const inputOTPContext = React.useContext(OTPInputContext)\n const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index]\n return (\n <div\n ref={ref}\n className={cn(\n OTPInputVariants({ isError, isFocused: isActive }),\n className\n )}\n {...props}\n >\n {char}\n {hasFakeCaret && (\n <div className=\"pointer-events-none absolute inset-0 flex items-center justify-center\">\n <div className=\"h-4 w-px animate-caret-blink bg-black duration-1000\" />\n </div>\n )}\n </div>\n )\n }\n)\n\nInputOTPSlot.displayName = 'InputOTPSlot'\n\nconst InputOTPSeparator = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ ...props }, ref) => (\n <div ref={ref} role=\"separator\" {...props}>\n <Dot />\n </div>\n))\nInputOTPSeparator.displayName = 'InputOTPSeparator'\n\nexport { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator }\n"],"names":["InputOTP","React","className","containerClassName","props","ref","OTPInput","cn","InputOTPGroup","InputOTPSlot","index","isError","inputOTPContext","OTPInputContext","char","hasFakeCaret","isActive","OTPInputVariants","InputOTPSeparator","Dot"],"mappings":";;;;;AASA,MAAMA,IAAWC,EAAM,WAGrB,CAAC,EAAE,WAAAC,GAAW,oBAAAC,GAAoB,GAAGC,EAAA,GAASC,MAC9C,gBAAAJ,EAAA;AAAA,EAACK;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,oBAAoBE,EAAG,2BAA2BJ,CAAkB;AAAA,IACpE,WAAWI,EAAGL,CAAS;AAAA,IACtB,GAAGE;AAAA,IACJ,WAAU;AAAA,EAAA;AACZ,CACD;AACDJ,EAAS,cAAc;AAEvB,MAAMQ,IAAgBP,EAAM,WAG1B,CAAC,EAAE,WAAAC,GAAW,GAAGE,KAASC,sCACzB,OAAA,EAAI,KAAAA,GAAU,WAAWE,EAAG,qBAAqBL,CAAS,GAAI,GAAGE,GAAO,CAC1E;AACDI,EAAc,cAAc;AAE5B,MAAMC,IAAeR,EAAM;AAAA,EACzB,CAAC,EAAE,OAAAS,GAAO,WAAAR,GAAW,SAAAS,GAAS,GAAGP,EAAA,GAASC,MAAQ;AAChD,UAAMO,IAAkBX,EAAM,WAAWY,CAAe,GAClD,EAAE,MAAAC,GAAM,cAAAC,GAAc,UAAAC,MAAaJ,EAAgB,MAAMF,CAAK;AACpE,WACE,gBAAAT,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAI;AAAA,QACA,WAAWE;AAAA,UACTU,EAAiB,EAAE,SAAAN,GAAS,WAAWK,GAAU;AAAA,UACjDd;AAAA,QAAA;AAAA,QAED,GAAGE;AAAA,MAAA;AAAA,MAEHU;AAAA,MACAC,qCACE,OAAA,EAAI,WAAU,2EACb,gBAAAd,EAAA,cAAC,OAAA,EAAI,WAAU,sDAAA,CAAsD,CACvE;AAAA,IAAA;AAAA,EAIR;AACF;AAEAQ,EAAa,cAAc;AAE3B,MAAMS,IAAoBjB,EAAM,WAG9B,CAAC,EAAE,GAAGG,KAASC,sCACd,OAAA,EAAI,KAAAA,GAAU,MAAK,aAAa,GAAGD,KAClC,gBAAAH,EAAA,cAACkB,GAAA,IAAI,CACP,CACD;AACDD,EAAkB,cAAc;"}
@@ -40,4 +40,4 @@ export {
40
40
  i as TabTriggerVariants,
41
41
  e as TabsVariants
42
42
  };
43
- //# sourceMappingURL=index.es132.js.map
43
+ //# sourceMappingURL=index134.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es132.js","sources":["../src/components/molecules/tabs/tabs.styles.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nexport const TabsVariants = cva(\n 'inline-flex items-center justify-evenly p-1 text-muted-foreground',\n {\n variants: {\n variant: {\n primary: 'bg-light-3 border rounded-xl border-neutral-1',\n secondary: 'bg-background ',\n },\n size: {\n sm: 'h-10 rounded-xl ',\n md: 'h-12 rounded-xl ',\n },\n },\n defaultVariants: {\n variant: 'primary',\n size: 'md',\n },\n }\n)\n\nexport const TabTriggerVariants = cva(\n 'inline-flex w-full items-center justify-center whitespace-nowrap text-sm text-light-2 font-medium disabled:pointer-events-none disabled:opacity-50 ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring ',\n {\n variants: {\n size: {\n sm: 'h-8 text-[14px] p-1.5 ',\n md: 'h-10 text-[16px] p-2 ',\n },\n variant: {\n primary:\n 'rounded-lg data-[state=active]:bg-rest-s1 data-[state=active]:text-primary-1 data-[state=active]:border data-[state=active]:border-neutral-1 data-[state=active]:font-semibold data-[state=active]:shadow-sm ',\n secondary:\n 'data-[state=active]:bg-background data-[state=active]:text-primary-1 data-[state=active]:font-semibold data-[state=active]:border-b-2 data-[state=active]:border-primary-2 ',\n },\n },\n defaultVariants: {\n variant: 'primary',\n size: 'md',\n },\n }\n)\n"],"names":["TabsVariants","cva","TabTriggerVariants"],"mappings":";AAEO,MAAMA,IAAeC;AAAA,EAC1B;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,MAEb,MAAM;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,MAAA;AAAA,IACN;AAAA,IAEF,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,MAAM;AAAA,IAAA;AAAA,EACR;AAEJ,GAEaC,IAAqBD;AAAA,EAChC;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,MAAM;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,MAAA;AAAA,MAEN,SAAS;AAAA,QACP,SACE;AAAA,QACF,WACE;AAAA,MAAA;AAAA,IACJ;AAAA,IAEF,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,MAAM;AAAA,IAAA;AAAA,EACR;AAEJ;"}
1
+ {"version":3,"file":"index134.es.js","sources":["../src/components/molecules/tabs/tabs.styles.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nexport const TabsVariants = cva(\n 'inline-flex items-center justify-evenly p-1 text-muted-foreground',\n {\n variants: {\n variant: {\n primary: 'bg-light-3 border rounded-xl border-neutral-1',\n secondary: 'bg-background ',\n },\n size: {\n sm: 'h-10 rounded-xl ',\n md: 'h-12 rounded-xl ',\n },\n },\n defaultVariants: {\n variant: 'primary',\n size: 'md',\n },\n }\n)\n\nexport const TabTriggerVariants = cva(\n 'inline-flex w-full items-center justify-center whitespace-nowrap text-sm text-light-2 font-medium disabled:pointer-events-none disabled:opacity-50 ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring ',\n {\n variants: {\n size: {\n sm: 'h-8 text-[14px] p-1.5 ',\n md: 'h-10 text-[16px] p-2 ',\n },\n variant: {\n primary:\n 'rounded-lg data-[state=active]:bg-rest-s1 data-[state=active]:text-primary-1 data-[state=active]:border data-[state=active]:border-neutral-1 data-[state=active]:font-semibold data-[state=active]:shadow-sm ',\n secondary:\n 'data-[state=active]:bg-background data-[state=active]:text-primary-1 data-[state=active]:font-semibold data-[state=active]:border-b-2 data-[state=active]:border-primary-2 ',\n },\n },\n defaultVariants: {\n variant: 'primary',\n size: 'md',\n },\n }\n)\n"],"names":["TabsVariants","cva","TabTriggerVariants"],"mappings":";AAEO,MAAMA,IAAeC;AAAA,EAC1B;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,MAEb,MAAM;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,MAAA;AAAA,IACN;AAAA,IAEF,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,MAAM;AAAA,IAAA;AAAA,EACR;AAEJ,GAEaC,IAAqBD;AAAA,EAChC;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,MAAM;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,MAAA;AAAA,MAEN,SAAS;AAAA,QACP,SACE;AAAA,QACF,WACE;AAAA,MAAA;AAAA,IACJ;AAAA,IAEF,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,MAAM;AAAA,IAAA;AAAA,EACR;AAEJ;"}
@@ -22,4 +22,4 @@ export {
22
22
  y as defaultTypographyVariant,
23
23
  p as variantElementMap
24
24
  };
25
- //# sourceMappingURL=index.es108.js.map
25
+ //# sourceMappingURL=index135.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es108.js","sources":["../src/components/atoms/typography/typography.config.ts"],"sourcesContent":["export const variantElementMap = {\n display1: 'p',\n display2: 'p',\n display3: 'p',\n h1: 'h1',\n h2: 'h2',\n h3: 'h3',\n body1: 'p',\n body2: 'p',\n body3: 'p',\n body4: 'p',\n body5: 'p',\n body6: 'p',\n // overline1: 'p',\n // overline2: 'p',\n // overline3: 'p',\n // 'cta-large': 'p',\n // 'cta-normal': 'p',\n // 'cta-small': 'p',\n}\n\nexport const defaultTypographyVariant = 'body1'\n"],"names":["variantElementMap","defaultTypographyVariant"],"mappings":"AAAO,MAAMA,IAAoB;AAAA,EAC/B,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOT,GAEaC,IAA2B;"}
1
+ {"version":3,"file":"index135.es.js","sources":["../src/components/atoms/typography/typography.config.ts"],"sourcesContent":["export const variantElementMap = {\n display1: 'p',\n display2: 'p',\n display3: 'p',\n h1: 'h1',\n h2: 'h2',\n h3: 'h3',\n body1: 'p',\n body2: 'p',\n body3: 'p',\n body4: 'p',\n body5: 'p',\n body6: 'p',\n // overline1: 'p',\n // overline2: 'p',\n // overline3: 'p',\n // 'cta-large': 'p',\n // 'cta-normal': 'p',\n // 'cta-small': 'p',\n}\n\nexport const defaultTypographyVariant = 'body1'\n"],"names":["variantElementMap","defaultTypographyVariant"],"mappings":"AAAO,MAAMA,IAAoB;AAAA,EAC/B,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOT,GAEaC,IAA2B;"}
@@ -11,4 +11,4 @@ const a = e(
11
11
  export {
12
12
  a as SliderVariants
13
13
  };
14
- //# sourceMappingURL=index.es102.js.map
14
+ //# sourceMappingURL=index136.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es102.js","sources":["../src/components/molecules/slider/slider.styles.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nexport const SliderVariants = cva(\n 'relative flex w-60 touch-none select-none items-center',\n {\n variants: {\n variant: {},\n },\n defaultVariants: {},\n }\n)\n"],"names":["SliderVariants","cva"],"mappings":";AAEO,MAAMA,IAAiBC;AAAA,EAC5B;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS,CAAA;AAAA,IAAC;AAAA,IAEZ,iBAAiB,CAAA;AAAA,EAAC;AAEtB;"}
1
+ {"version":3,"file":"index136.es.js","sources":["../src/components/molecules/slider/slider.styles.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nexport const SliderVariants = cva(\n 'relative flex w-60 touch-none select-none items-center',\n {\n variants: {\n variant: {},\n },\n defaultVariants: {},\n }\n)\n"],"names":["SliderVariants","cva"],"mappings":";AAEO,MAAMA,IAAiBC;AAAA,EAC5B;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS,CAAA;AAAA,IAAC;AAAA,IAEZ,iBAAiB,CAAA;AAAA,EAAC;AAEtB;"}
@@ -1,5 +1,5 @@
1
1
  import e from "react";
2
- import { Typography as n } from "./index.es19.js";
2
+ import { Typography as n } from "./index19.es.js";
3
3
  import { ResponsiveContainer as o, PieChart as i, Pie as m, Cell as s } from "recharts";
4
4
  function p({
5
5
  list: l,
@@ -35,4 +35,4 @@ function p({
35
35
  export {
36
36
  p as ClusterHoverCard
37
37
  };
38
- //# sourceMappingURL=index.es110.js.map
38
+ //# sourceMappingURL=index137.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es110.js","sources":["../src/components/ui/map-marker-hover-card/components/map-cluster-hover-card.tsx"],"sourcesContent":["import React from 'react'\nimport { Typography } from '@/components/atoms/typography'\nimport { PieChart, Pie, Cell, ResponsiveContainer } from 'recharts'\nimport { MapMarkerHoverCardNS } from '../map-marker-hover-card.types'\n\nexport function ClusterHoverCard({\n list,\n total,\n}: MapMarkerHoverCardNS.ClusterHoverCardProps) {\n const totalCount =\n list?.reduce(\n (sum: number, item: MapMarkerHoverCardNS.ClusterDataItem) =>\n sum + item.count,\n 0\n ) || 1\n\n return (\n <div className=\"flex gap-2 p-4 border rounded-lg border-neutral-1 bg-light-1\">\n <div className=\"relative w-[180px] h-[164px] flex items-center justify-center\">\n <ResponsiveContainer width=\"100%\" height=\"100%\">\n <PieChart>\n <Pie\n data={list}\n labelLine={false}\n outerRadius=\"100%\"\n innerRadius={total != null ? '40%' : undefined}\n dataKey=\"count\"\n >\n {list?.map(\n (\n entry: MapMarkerHoverCardNS.ClusterDataItem,\n index: number\n ) => (\n <Cell\n key={`cell-${index}`}\n fill={entry.color}\n stroke=\"none\"\n />\n )\n )}\n </Pie>\n </PieChart>\n </ResponsiveContainer>\n {total != null && (\n <div className=\"absolute inset-0 flex flex-col items-center justify-center pointer-events-none\">\n <Typography variant=\"body4\" className=\"text-light-1\">\n Total\n </Typography>\n <Typography variant=\"body2\" className=\"text-light-1 font-semibold\">\n {total}\n </Typography>\n </div>\n )}\n </div>\n <div className=\"flex flex-col gap-4\">\n {list?.map(\n (item: MapMarkerHoverCardNS.ClusterDataItem, index: number) => (\n <div key={index} className=\"flex flex-col gap-1\">\n <div className=\"flex items-center gap-1\">\n <img src={item.icon_url} alt={item.name || 'Brand icon'} />\n <Typography variant=\"body4\" className=\"text-light-3\">\n {item.name}\n </Typography>\n </div>\n <Typography variant=\"body4\" className=\"text-light-2\">\n {((item.count / totalCount) * 100).toFixed(2)}% ({item.count})\n </Typography>\n </div>\n )\n )}\n </div>\n </div>\n )\n}\n"],"names":["ClusterHoverCard","list","total","totalCount","sum","item","React","ResponsiveContainer","PieChart","Pie","entry","index","Cell","Typography"],"mappings":";;;AAKO,SAASA,EAAiB;AAAA,EAC/B,MAAAC;AAAA,EACA,OAAAC;AACF,GAA+C;AAC7C,QAAMC,IACJF,GAAM;AAAA,IACJ,CAACG,GAAaC,MACZD,IAAMC,EAAK;AAAA,IACb;AAAA,EAAA,KACG;AAEP,SACEC,gBAAAA,EAAA,cAAC,OAAA,EAAI,WAAU,kGACZ,OAAA,EAAI,WAAU,gEAAA,GACbA,gBAAAA,EAAA,cAACC,KAAoB,OAAM,QAAO,QAAO,0CACtCC,GAAA,MACCF,gBAAAA,EAAA;AAAA,IAACG;AAAA,IAAA;AAAA,MACC,MAAMR;AAAA,MACN,WAAW;AAAA,MACX,aAAY;AAAA,MACZ,aAAaC,KAAS,OAAO,QAAQ;AAAA,MACrC,SAAQ;AAAA,IAAA;AAAA,IAEPD,GAAM;AAAA,MACL,CACES,GACAC,MAEAL,gBAAAA,EAAA;AAAA,QAACM;AAAA,QAAA;AAAA,UACC,KAAK,QAAQD,CAAK;AAAA,UAClB,MAAMD,EAAM;AAAA,UACZ,QAAO;AAAA,QAAA;AAAA,MAAA;AAAA,IACT;AAAA,EAEJ,CAEJ,CACF,GACCR,KAAS,QACRI,gBAAAA,EAAA,cAAC,OAAA,EAAI,WAAU,iFAAA,GACbA,gBAAAA,EAAA,cAACO,GAAA,EAAW,SAAQ,SAAQ,WAAU,kBAAe,OAErD,GACAP,gBAAAA,EAAA,cAACO,GAAA,EAAW,SAAQ,SAAQ,WAAU,gCACnCX,CACH,CACF,CAEJ,GACAI,gBAAAA,EAAA,cAAC,OAAA,EAAI,WAAU,yBACZL,GAAM;AAAA,IACL,CAACI,GAA4CM,MAC3CL,gBAAAA,EAAA,cAAC,SAAI,KAAKK,GAAO,WAAU,sBAAA,GACzBL,gBAAAA,EAAA,cAAC,OAAA,EAAI,WAAU,0BAAA,GACbA,gBAAAA,EAAA,cAAC,OAAA,EAAI,KAAKD,EAAK,UAAU,KAAKA,EAAK,QAAQ,aAAA,CAAc,GACzDC,gBAAAA,EAAA,cAACO,GAAA,EAAW,SAAQ,SAAQ,WAAU,kBACnCR,EAAK,IACR,CACF,GACAC,gBAAAA,EAAA,cAACO,GAAA,EAAW,SAAQ,SAAQ,WAAU,mBACjCR,EAAK,QAAQF,IAAc,KAAK,QAAQ,CAAC,GAAE,OAAIE,EAAK,OAAM,GAC/D,CACF;AAAA,EAAA,CAGN,CACF;AAEJ;"}
1
+ {"version":3,"file":"index137.es.js","sources":["../src/components/ui/map-marker-hover-card/components/map-cluster-hover-card.tsx"],"sourcesContent":["import React from 'react'\nimport { Typography } from '@/components/atoms/typography'\nimport { PieChart, Pie, Cell, ResponsiveContainer } from 'recharts'\nimport { MapMarkerHoverCardNS } from '../map-marker-hover-card.types'\n\nexport function ClusterHoverCard({\n list,\n total,\n}: MapMarkerHoverCardNS.ClusterHoverCardProps) {\n const totalCount =\n list?.reduce(\n (sum: number, item: MapMarkerHoverCardNS.ClusterDataItem) =>\n sum + item.count,\n 0\n ) || 1\n\n return (\n <div className=\"flex gap-2 p-4 border rounded-lg border-neutral-1 bg-light-1\">\n <div className=\"relative w-[180px] h-[164px] flex items-center justify-center\">\n <ResponsiveContainer width=\"100%\" height=\"100%\">\n <PieChart>\n <Pie\n data={list}\n labelLine={false}\n outerRadius=\"100%\"\n innerRadius={total != null ? '40%' : undefined}\n dataKey=\"count\"\n >\n {list?.map(\n (\n entry: MapMarkerHoverCardNS.ClusterDataItem,\n index: number\n ) => (\n <Cell\n key={`cell-${index}`}\n fill={entry.color}\n stroke=\"none\"\n />\n )\n )}\n </Pie>\n </PieChart>\n </ResponsiveContainer>\n {total != null && (\n <div className=\"absolute inset-0 flex flex-col items-center justify-center pointer-events-none\">\n <Typography variant=\"body4\" className=\"text-light-1\">\n Total\n </Typography>\n <Typography variant=\"body2\" className=\"text-light-1 font-semibold\">\n {total}\n </Typography>\n </div>\n )}\n </div>\n <div className=\"flex flex-col gap-4\">\n {list?.map(\n (item: MapMarkerHoverCardNS.ClusterDataItem, index: number) => (\n <div key={index} className=\"flex flex-col gap-1\">\n <div className=\"flex items-center gap-1\">\n <img src={item.icon_url} alt={item.name || 'Brand icon'} />\n <Typography variant=\"body4\" className=\"text-light-3\">\n {item.name}\n </Typography>\n </div>\n <Typography variant=\"body4\" className=\"text-light-2\">\n {((item.count / totalCount) * 100).toFixed(2)}% ({item.count})\n </Typography>\n </div>\n )\n )}\n </div>\n </div>\n )\n}\n"],"names":["ClusterHoverCard","list","total","totalCount","sum","item","React","ResponsiveContainer","PieChart","Pie","entry","index","Cell","Typography"],"mappings":";;;AAKO,SAASA,EAAiB;AAAA,EAC/B,MAAAC;AAAA,EACA,OAAAC;AACF,GAA+C;AAC7C,QAAMC,IACJF,GAAM;AAAA,IACJ,CAACG,GAAaC,MACZD,IAAMC,EAAK;AAAA,IACb;AAAA,EAAA,KACG;AAEP,SACEC,gBAAAA,EAAA,cAAC,OAAA,EAAI,WAAU,kGACZ,OAAA,EAAI,WAAU,gEAAA,GACbA,gBAAAA,EAAA,cAACC,KAAoB,OAAM,QAAO,QAAO,0CACtCC,GAAA,MACCF,gBAAAA,EAAA;AAAA,IAACG;AAAA,IAAA;AAAA,MACC,MAAMR;AAAA,MACN,WAAW;AAAA,MACX,aAAY;AAAA,MACZ,aAAaC,KAAS,OAAO,QAAQ;AAAA,MACrC,SAAQ;AAAA,IAAA;AAAA,IAEPD,GAAM;AAAA,MACL,CACES,GACAC,MAEAL,gBAAAA,EAAA;AAAA,QAACM;AAAA,QAAA;AAAA,UACC,KAAK,QAAQD,CAAK;AAAA,UAClB,MAAMD,EAAM;AAAA,UACZ,QAAO;AAAA,QAAA;AAAA,MAAA;AAAA,IACT;AAAA,EAEJ,CAEJ,CACF,GACCR,KAAS,QACRI,gBAAAA,EAAA,cAAC,OAAA,EAAI,WAAU,iFAAA,GACbA,gBAAAA,EAAA,cAACO,GAAA,EAAW,SAAQ,SAAQ,WAAU,kBAAe,OAErD,GACAP,gBAAAA,EAAA,cAACO,GAAA,EAAW,SAAQ,SAAQ,WAAU,gCACnCX,CACH,CACF,CAEJ,GACAI,gBAAAA,EAAA,cAAC,OAAA,EAAI,WAAU,yBACZL,GAAM;AAAA,IACL,CAACI,GAA4CM,MAC3CL,gBAAAA,EAAA,cAAC,SAAI,KAAKK,GAAO,WAAU,sBAAA,GACzBL,gBAAAA,EAAA,cAAC,OAAA,EAAI,WAAU,0BAAA,GACbA,gBAAAA,EAAA,cAAC,OAAA,EAAI,KAAKD,EAAK,UAAU,KAAKA,EAAK,QAAQ,aAAA,CAAc,GACzDC,gBAAAA,EAAA,cAACO,GAAA,EAAW,SAAQ,SAAQ,WAAU,kBACnCR,EAAK,IACR,CACF,GACAC,gBAAAA,EAAA,cAACO,GAAA,EAAW,SAAQ,SAAQ,WAAU,mBACjCR,EAAK,QAAQF,IAAc,KAAK,QAAQ,CAAC,GAAE,OAAIE,EAAK,OAAM,GAC/D,CACF;AAAA,EAAA,CAGN,CACF;AAEJ;"}
@@ -1,9 +1,9 @@
1
1
  import e from "react";
2
- import { StarScore as h } from "./index.es52.js";
3
- import { Badge as c } from "./index.es8.js";
4
- import { Typography as i } from "./index.es19.js";
5
- import { Skeleton as t } from "./index.es14.js";
6
- import { hoverDetailCardStyles as g } from "./index.es157.js";
2
+ import { StarScore as h } from "./index54.es.js";
3
+ import { Badge as c } from "./index8.es.js";
4
+ import { Typography as i } from "./index19.es.js";
5
+ import { Skeleton as t } from "./index14.es.js";
6
+ import { hoverDetailCardStyles as g } from "./index166.es.js";
7
7
  function b({
8
8
  title: o,
9
9
  icon: n,
@@ -63,4 +63,4 @@ function b({
63
63
  export {
64
64
  b as PointHoverCard
65
65
  };
66
- //# sourceMappingURL=index.es111.js.map
66
+ //# sourceMappingURL=index138.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es111.js","sources":["../src/components/ui/map-marker-hover-card/components/map-point-hover-card.tsx"],"sourcesContent":["import React from 'react'\nimport { StarScore } from '../../star-score'\nimport { Badge } from '@/components/atoms/badge'\nimport { Typography } from '@/components/atoms/typography'\nimport { Skeleton } from '@/components/atoms/skeleton'\nimport { hoverDetailCardStyles } from '../map-marker-hover-card.styles'\nimport { MapMarkerHoverCardNS } from '../map-marker-hover-card.types'\n\nexport function PointHoverCard({\n title,\n icon,\n isLoading = false,\n tags = [],\n description,\n score,\n badge,\n actions,\n}: MapMarkerHoverCardNS.PointHoverCardProps) {\n return (\n <div className=\"w-[396px] border border-neutral-1 rounded-xl overflow-hidden bg-light-1\">\n <div className=\"flex items-center gap-3 p-4\">\n <div className=\"flex items-center justify-center w-12 h-12 overflow-hidden rounded-full bg-light-3\">\n {isLoading ? (\n <Skeleton className=\"w-12 h-12 rounded-full bg-light-4\" />\n ) : (\n <img\n src={\n icon ||\n 'https://frontend-static-files.geoiq.io/strapi/map_pin_ed26828f00.svg'\n }\n alt=\"title\"\n className={hoverDetailCardStyles.img({ hasIcon: !!icon })}\n />\n )}\n </div>\n <div className=\"truncate max-w-[300px]\">\n {isLoading ? (\n <Skeleton className=\"h-5 mb-2 w-[280px] bg-light-4 rounded-full\" />\n ) : (\n <Typography variant=\"h3\" className=\"truncate text-light-2\">\n {title}\n </Typography>\n )}\n <div className=\"flex flex-wrap gap-2\">\n {isLoading ? (\n <Skeleton\n key={'header-badge'}\n className=\"w-20 h-6 mb-1 rounded-full bg-light-4\"\n />\n ) : (\n tags\n .filter((tag) => tag.icon_url && tag.name)\n .map((badge, index) => (\n <Badge\n key={index}\n variant=\"default\"\n showBorder\n size=\"sm\"\n className=\"rounded-full pl-1.5 pr-3\"\n >\n <img\n src={badge.icon_url}\n alt=\"icon\"\n className=\"w-3 rounded-full\"\n />\n {badge.name}\n </Badge>\n ))\n )}\n </div>\n </div>\n </div>\n <div className=\"px-4\">\n <div className=\"mb-2\">\n {isLoading ? (\n <Skeleton className=\"w-full h-10 bg-light-4 rounded-xl\" />\n ) : (\n <Typography\n variant=\"body4\"\n className=\"text-light-3 text-overflow: ellipsis\"\n >\n {description}\n </Typography>\n )}\n </div>\n {(score || badge) && (\n <div className=\"flex justify-between mb-4\">\n {isLoading ? (\n <>\n <Skeleton className=\"w-24 h-5 rounded bg-light-4\" />\n <Skeleton className=\"w-24 h-5 rounded bg-light-4\" />\n </>\n ) : (\n <>\n {score && (\n <StarScore\n score={score?.value}\n isLoading={score?.isLoading}\n />\n )}\n {badge && (\n <Badge variant=\"select\" size=\"sm\" showBorder>\n {badge}\n </Badge>\n )}\n </>\n )}\n </div>\n )}\n </div>\n {actions && (\n <div className=\"flex items-center justify-center bg-light-3\">\n {actions}\n </div>\n )}\n </div>\n )\n}\n"],"names":["PointHoverCard","title","icon","isLoading","tags","description","score","badge","actions","React","Skeleton","hoverDetailCardStyles","Typography","tag","index","Badge","StarScore"],"mappings":";;;;;;AAQO,SAASA,EAAe;AAAA,EAC7B,OAAAC;AAAA,EACA,MAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,MAAAC,IAAO,CAAA;AAAA,EACP,aAAAC;AAAA,EACA,OAAAC;AAAA,EACA,OAAAC;AAAA,EACA,SAAAC;AACF,GAA6C;AAC3C,yCACG,OAAA,EAAI,WAAU,0EAAA,GACbC,gBAAAA,EAAA,cAAC,SAAI,WAAU,8BAAA,GACbA,gBAAAA,EAAA,cAAC,OAAA,EAAI,WAAU,qFAAA,GACZN,oCACEO,GAAA,EAAS,WAAU,qCAAoC,IAExDD,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KACEP,KACA;AAAA,MAEF,KAAI;AAAA,MACJ,WAAWS,EAAsB,IAAI,EAAE,SAAS,CAAC,CAACT,GAAM;AAAA,IAAA;AAAA,EAAA,CAG9D,GACAO,gBAAAA,EAAA,cAAC,OAAA,EAAI,WAAU,4BACZN,IACCM,gBAAAA,EAAA,cAACC,GAAA,EAAS,WAAU,6CAAA,CAA6C,oCAEhEE,GAAA,EAAW,SAAQ,MAAK,WAAU,wBAAA,GAChCX,CACH,GAEFQ,gBAAAA,EAAA,cAAC,OAAA,EAAI,WAAU,uBAAA,GACZN,IACCM,gBAAAA,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,KAAK;AAAA,MACL,WAAU;AAAA,IAAA;AAAA,EAAA,IAGZN,EACG,OAAO,CAACS,MAAQA,EAAI,YAAYA,EAAI,IAAI,EACxC,IAAI,CAACN,GAAOO,MACXL,gBAAAA,EAAA;AAAA,IAACM;AAAA,IAAA;AAAA,MACC,KAAKD;AAAA,MACL,SAAQ;AAAA,MACR,YAAU;AAAA,MACV,MAAK;AAAA,MACL,WAAU;AAAA,IAAA;AAAA,IAEVL,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAKF,EAAM;AAAA,QACX,KAAI;AAAA,QACJ,WAAU;AAAA,MAAA;AAAA,IAAA;AAAA,IAEXA,EAAM;AAAA,EAAA,CAEV,CAEP,CACF,CACF,GACAE,gBAAAA,EAAA,cAAC,SAAI,WAAU,OAAA,GACbA,gBAAAA,EAAA,cAAC,OAAA,EAAI,WAAU,OAAA,GACZN,oCACEO,GAAA,EAAS,WAAU,qCAAoC,IAExDD,gBAAAA,EAAA;AAAA,IAACG;AAAA,IAAA;AAAA,MACC,SAAQ;AAAA,MACR,WAAU;AAAA,IAAA;AAAA,IAETP;AAAA,EAAA,CAGP,IACEC,KAASC,sCACR,OAAA,EAAI,WAAU,4BAAA,GACZJ,IACCM,gBAAAA,EAAA,cAAAA,EAAA,UAAA,MACEA,gBAAAA,EAAA,cAACC,KAAS,WAAU,8BAAA,CAA8B,GAClDD,gBAAAA,EAAA,cAACC,GAAA,EAAS,WAAU,8BAAA,CAA8B,CACpD,IAEAD,gBAAAA,EAAA,cAAAA,EAAA,UAAA,MACGH,KACCG,gBAAAA,EAAA;AAAA,IAACO;AAAA,IAAA;AAAA,MACC,OAAOV,GAAO;AAAA,MACd,WAAWA,GAAO;AAAA,IAAA;AAAA,EAAA,GAGrBC,KACCE,gBAAAA,EAAA,cAACM,GAAA,EAAM,SAAQ,UAAS,MAAK,MAAK,YAAU,GAAA,GACzCR,CACH,CAEJ,CAEJ,CAEJ,GACCC,qCACE,OAAA,EAAI,WAAU,8CAAA,GACZA,CACH,CAEJ;AAEJ;"}
1
+ {"version":3,"file":"index138.es.js","sources":["../src/components/ui/map-marker-hover-card/components/map-point-hover-card.tsx"],"sourcesContent":["import React from 'react'\nimport { StarScore } from '../../star-score'\nimport { Badge } from '@/components/atoms/badge'\nimport { Typography } from '@/components/atoms/typography'\nimport { Skeleton } from '@/components/atoms/skeleton'\nimport { hoverDetailCardStyles } from '../map-marker-hover-card.styles'\nimport { MapMarkerHoverCardNS } from '../map-marker-hover-card.types'\n\nexport function PointHoverCard({\n title,\n icon,\n isLoading = false,\n tags = [],\n description,\n score,\n badge,\n actions,\n}: MapMarkerHoverCardNS.PointHoverCardProps) {\n return (\n <div className=\"w-[396px] border border-neutral-1 rounded-xl overflow-hidden bg-light-1\">\n <div className=\"flex items-center gap-3 p-4\">\n <div className=\"flex items-center justify-center w-12 h-12 overflow-hidden rounded-full bg-light-3\">\n {isLoading ? (\n <Skeleton className=\"w-12 h-12 rounded-full bg-light-4\" />\n ) : (\n <img\n src={\n icon ||\n 'https://frontend-static-files.geoiq.io/strapi/map_pin_ed26828f00.svg'\n }\n alt=\"title\"\n className={hoverDetailCardStyles.img({ hasIcon: !!icon })}\n />\n )}\n </div>\n <div className=\"truncate max-w-[300px]\">\n {isLoading ? (\n <Skeleton className=\"h-5 mb-2 w-[280px] bg-light-4 rounded-full\" />\n ) : (\n <Typography variant=\"h3\" className=\"truncate text-light-2\">\n {title}\n </Typography>\n )}\n <div className=\"flex flex-wrap gap-2\">\n {isLoading ? (\n <Skeleton\n key={'header-badge'}\n className=\"w-20 h-6 mb-1 rounded-full bg-light-4\"\n />\n ) : (\n tags\n .filter((tag) => tag.icon_url && tag.name)\n .map((badge, index) => (\n <Badge\n key={index}\n variant=\"default\"\n showBorder\n size=\"sm\"\n className=\"rounded-full pl-1.5 pr-3\"\n >\n <img\n src={badge.icon_url}\n alt=\"icon\"\n className=\"w-3 rounded-full\"\n />\n {badge.name}\n </Badge>\n ))\n )}\n </div>\n </div>\n </div>\n <div className=\"px-4\">\n <div className=\"mb-2\">\n {isLoading ? (\n <Skeleton className=\"w-full h-10 bg-light-4 rounded-xl\" />\n ) : (\n <Typography\n variant=\"body4\"\n className=\"text-light-3 text-overflow: ellipsis\"\n >\n {description}\n </Typography>\n )}\n </div>\n {(score || badge) && (\n <div className=\"flex justify-between mb-4\">\n {isLoading ? (\n <>\n <Skeleton className=\"w-24 h-5 rounded bg-light-4\" />\n <Skeleton className=\"w-24 h-5 rounded bg-light-4\" />\n </>\n ) : (\n <>\n {score && (\n <StarScore\n score={score?.value}\n isLoading={score?.isLoading}\n />\n )}\n {badge && (\n <Badge variant=\"select\" size=\"sm\" showBorder>\n {badge}\n </Badge>\n )}\n </>\n )}\n </div>\n )}\n </div>\n {actions && (\n <div className=\"flex items-center justify-center bg-light-3\">\n {actions}\n </div>\n )}\n </div>\n )\n}\n"],"names":["PointHoverCard","title","icon","isLoading","tags","description","score","badge","actions","React","Skeleton","hoverDetailCardStyles","Typography","tag","index","Badge","StarScore"],"mappings":";;;;;;AAQO,SAASA,EAAe;AAAA,EAC7B,OAAAC;AAAA,EACA,MAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,MAAAC,IAAO,CAAA;AAAA,EACP,aAAAC;AAAA,EACA,OAAAC;AAAA,EACA,OAAAC;AAAA,EACA,SAAAC;AACF,GAA6C;AAC3C,yCACG,OAAA,EAAI,WAAU,0EAAA,GACbC,gBAAAA,EAAA,cAAC,SAAI,WAAU,8BAAA,GACbA,gBAAAA,EAAA,cAAC,OAAA,EAAI,WAAU,qFAAA,GACZN,oCACEO,GAAA,EAAS,WAAU,qCAAoC,IAExDD,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KACEP,KACA;AAAA,MAEF,KAAI;AAAA,MACJ,WAAWS,EAAsB,IAAI,EAAE,SAAS,CAAC,CAACT,GAAM;AAAA,IAAA;AAAA,EAAA,CAG9D,GACAO,gBAAAA,EAAA,cAAC,OAAA,EAAI,WAAU,4BACZN,IACCM,gBAAAA,EAAA,cAACC,GAAA,EAAS,WAAU,6CAAA,CAA6C,oCAEhEE,GAAA,EAAW,SAAQ,MAAK,WAAU,wBAAA,GAChCX,CACH,GAEFQ,gBAAAA,EAAA,cAAC,OAAA,EAAI,WAAU,uBAAA,GACZN,IACCM,gBAAAA,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,KAAK;AAAA,MACL,WAAU;AAAA,IAAA;AAAA,EAAA,IAGZN,EACG,OAAO,CAACS,MAAQA,EAAI,YAAYA,EAAI,IAAI,EACxC,IAAI,CAACN,GAAOO,MACXL,gBAAAA,EAAA;AAAA,IAACM;AAAA,IAAA;AAAA,MACC,KAAKD;AAAA,MACL,SAAQ;AAAA,MACR,YAAU;AAAA,MACV,MAAK;AAAA,MACL,WAAU;AAAA,IAAA;AAAA,IAEVL,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAKF,EAAM;AAAA,QACX,KAAI;AAAA,QACJ,WAAU;AAAA,MAAA;AAAA,IAAA;AAAA,IAEXA,EAAM;AAAA,EAAA,CAEV,CAEP,CACF,CACF,GACAE,gBAAAA,EAAA,cAAC,SAAI,WAAU,OAAA,GACbA,gBAAAA,EAAA,cAAC,OAAA,EAAI,WAAU,OAAA,GACZN,oCACEO,GAAA,EAAS,WAAU,qCAAoC,IAExDD,gBAAAA,EAAA;AAAA,IAACG;AAAA,IAAA;AAAA,MACC,SAAQ;AAAA,MACR,WAAU;AAAA,IAAA;AAAA,IAETP;AAAA,EAAA,CAGP,IACEC,KAASC,sCACR,OAAA,EAAI,WAAU,4BAAA,GACZJ,IACCM,gBAAAA,EAAA,cAAAA,EAAA,UAAA,MACEA,gBAAAA,EAAA,cAACC,KAAS,WAAU,8BAAA,CAA8B,GAClDD,gBAAAA,EAAA,cAACC,GAAA,EAAS,WAAU,8BAAA,CAA8B,CACpD,IAEAD,gBAAAA,EAAA,cAAAA,EAAA,UAAA,MACGH,KACCG,gBAAAA,EAAA;AAAA,IAACO;AAAA,IAAA;AAAA,MACC,OAAOV,GAAO;AAAA,MACd,WAAWA,GAAO;AAAA,IAAA;AAAA,EAAA,GAGrBC,KACCE,gBAAAA,EAAA,cAACM,GAAA,EAAM,SAAQ,UAAS,MAAK,MAAK,YAAU,GAAA,GACzCR,CACH,CAEJ,CAEJ,CAEJ,GACCC,qCACE,OAAA,EAAI,WAAU,8CAAA,GACZA,CACH,CAEJ;AAEJ;"}
@@ -1,10 +1,10 @@
1
1
  import e from "react";
2
- import { FONT_FAMILY as v } from "./index.es163.js";
3
- import { _Dialog as N } from "./index.es41.js";
2
+ import { FONT_FAMILY as v } from "./index167.es.js";
3
+ import { _Dialog as N } from "./index43.es.js";
4
4
  import { X as w, ChevronLeft as S, ChevronRight as C } from "lucide-react";
5
- import { Typography as i } from "./index.es19.js";
5
+ import { Typography as i } from "./index19.es.js";
6
6
  import { ResponsiveContainer as d, BarChart as u, CartesianGrid as f, XAxis as g, YAxis as h, Tooltip as p, Bar as E } from "recharts";
7
- import { trendBoxStyles as k, trendValueStyles as F } from "./index.es164.js";
7
+ import { trendBoxStyles as k, trendValueStyles as F } from "./index168.es.js";
8
8
  const I = ({
9
9
  data: r,
10
10
  onToggle: t,
@@ -274,4 +274,4 @@ export {
274
274
  K as StoreInsightsSection,
275
275
  R as StoreOverviewSection
276
276
  };
277
- //# sourceMappingURL=index.es136.js.map
277
+ //# sourceMappingURL=index139.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es136.js","sources":["../src/components/ui/report-snippet-view/report-snippet-view-components.tsx"],"sourcesContent":["import React, { FC } from 'react'\nimport { ReportSnippetViewNS } from './report-snippet-view.types'\n\nimport { FONT_FAMILY } from '@/lib/constants'\n\nimport { Dialog } from '@/components/organisms/dialog'\nimport { ChevronLeft, ChevronRight, X } from 'lucide-react'\nimport { Typography } from '@/components/atoms/typography'\nimport {\n BarChart,\n Bar,\n XAxis,\n YAxis,\n CartesianGrid,\n Tooltip,\n ResponsiveContainer,\n} from 'recharts'\nimport { trendBoxStyles, trendValueStyles } from './report-snippet-view-style'\n\nconst ReportSnippetGalleryView: FC<{\n onToggle: () => void\n isOpen: boolean\n data?: ReportSnippetViewNS.StreetViewData\n galleryActiveIndex: number\n setgalleryActiveIndex: React.Dispatch<React.SetStateAction<number>>\n}> = ({\n data,\n onToggle,\n isOpen,\n galleryActiveIndex,\n setgalleryActiveIndex,\n}) => {\n // Current active item\n\n const isDataAvailable = data && data.length\n\n // Handle next click\n const handleNext = () => {\n if (!data) return\n setgalleryActiveIndex((prevIndex) => (prevIndex + 1) % data?.length)\n }\n\n // Handle previous click\n const handlePrev = () => {\n if (!data) return\n setgalleryActiveIndex(\n (prevIndex) => (prevIndex - 1 + data.length) % data.length\n )\n }\n\n const handleThumbnailClick = (index: number) => {\n setgalleryActiveIndex(index)\n }\n\n const toggleGallery = () => {\n onToggle()\n }\n\n return (\n <Dialog\n open={isOpen}\n trigger={null}\n contentClassName=\"bg-transparent w-fit border-0\"\n onInteractOutside={toggleGallery}\n body={\n <div className=\"flex flex-col items-center justify-center w-full h-full max-w-3xl mx-auto\">\n <X\n size={24}\n color=\"white\"\n className=\"absolute z-50 cursor-pointer -right-10 -top-10\"\n onClick={toggleGallery}\n />\n\n {/* Main Carousel */}\n <div className=\"relative\">\n <div className=\"relative \">\n {isDataAvailable && (\n <img\n key={data[galleryActiveIndex].image_url}\n src={data[galleryActiveIndex].image_url}\n alt={`Street ${galleryActiveIndex + 1}`}\n className=\"w-[500px] max-h-[80vh] object-contain flex-shrink-0\"\n />\n )}\n </div>\n\n {/* Navigation Buttons */}\n <div className=\"relative top-[-50%] left-[-10%] flex row w-[120%] justify-between\">\n <div role=\"button\" tabIndex={0} onClick={handlePrev}>\n <ChevronLeft size={30} color=\"white\" />\n </div>\n <div role=\"button\" tabIndex={0} onClick={handleNext}>\n <ChevronRight size={30} color=\"white\" />\n </div>\n </div>\n </div>\n\n {/* Thumbnails */}\n <div className=\"flex justify-center p-2 mt-4 space-x-2 rounded-lg\">\n {isDataAvailable &&\n data.map((item, index) => (\n <img\n key={index}\n src={item.image_url}\n alt={`Thumbnail ${index + 1}`}\n onClick={() => handleThumbnailClick(index)}\n className={`w-20 h-auto rounded-lg cursor-pointer ${\n index === galleryActiveIndex\n ? 'ring-2 ring-primary-1'\n : 'ring-2 ring-transparent'\n } hover:ring-gray-300`}\n />\n ))}\n </div>\n </div>\n }\n />\n )\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unused-vars\nconst CustomTooltipFootfall = ({ active, payload, label, year }: any) => {\n if (active && payload && payload.length) {\n const year = payload[0]?.payload?.year\n const footfall = payload[0]?.value\n return (\n <div className=\"flex flex-col bg-light-1 p-4 rounded-lg shadow-md min-w-[200px] gap-1\">\n {/* Month Information */}\n <Typography variant={'body6'} className=\"text-primary\">\n {`${label}'${year}`}\n </Typography>\n\n {/* Separator */}\n <div className=\"my-2 w-full h-px border border-stroke-1\" />\n\n {/* Footfall/Visits Information */}\n <div className=\"flex\">\n <div\n className=\"h-4 w-1 rounded-lg\"\n style={{ backgroundColor: '#6D48EF' }}\n />\n <Typography variant={'body6'} className=\"text-secondary mx-1\">\n Visits\n </Typography>\n <Typography variant={'body4'} className=\"text-secondary ml-auto\">\n {` ${footfall}`}\n </Typography>\n </div>\n </div>\n )\n }\n return null\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst CustomTooltipCannibalisation = ({ active, payload, label }: any) => {\n if (active && payload && payload.length) {\n const distance = payload[0]?.payload?.distance\n const cannibalisation = payload[0]?.value\n return (\n <div className=\"flex bg-light-1 items-center justify-between rounded-lg shadow-md min-w-45 max-w-80 gap-2 p-2\">\n {/* Month Information */}\n <Typography variant={'body6'} className=\"text-primary\">\n {\n <div className=\"flex h-full justify-between items-center p-2 gap-4\">\n <div>{label}</div>\n <div> {distance + 'km'}</div>\n </div>\n }\n </Typography>\n {/* Footfall/Visits Information */}\n <Typography\n variant={'body4'}\n className=\"text-normal text-danger-1 ml-auto p-2\"\n >\n {`${cannibalisation}%`}\n </Typography>\n </div>\n )\n }\n return null\n}\n\n{\n /*--------- Store insights ----------*/\n}\ninterface StoreInsightsSectionProps {\n insights: ReportSnippetViewNS.CatchmentInsights[]\n // customButton?: React.ReactNode\n}\n\nconst StoreInsightsSection: FC<StoreInsightsSectionProps> = ({ insights }) => {\n return (\n <div>\n <div className=\"flex flex-row mb-4 justify-between\">\n <Typography variant=\"body4\" className=\"text-light-2\">\n Store Insight:\n </Typography>\n </div>\n\n <div className=\"bg-light-2 p-3 border border-neutral-1 rounded-lg\">\n <Typography variant=\"body4\" className=\"text-light-2 mb-2\">\n Presence of other brands in catchment:\n </Typography>\n\n {/* Render store insights data */}\n <div className=\"flex gap-1 flex-wrap\">\n {insights.map((item) => (\n <div\n key={item.type}\n className=\"flex items-center gap-1 bg-light-1 px-2 py-1 rounded-full border border-neutral-1\"\n >\n {/* Icon */}\n <img\n src={item.iconUrl}\n alt={`${item.type} Icon`}\n className=\"w-4 h-4\"\n />\n\n {/* Name and Count */}\n <Typography variant=\"body6\" className=\"text-light-2\">\n {item.count}\n </Typography>\n <div className=\"flex items-center gap-1\">\n <Typography variant=\"body6\" className=\"text-light-2\">\n {item.type === 'competitor' ? 'Competitors' : 'Complementary'}\n </Typography>\n </div>\n </div>\n ))}\n </div>\n </div>\n </div>\n )\n}\n\n{\n /*--------- Store Overview ----------*/\n}\ninterface StoreOverviewSectionProps {\n highlights: ReportSnippetViewNS.StoreHighlights[]\n}\n\nconst StoreOverviewSection: FC<StoreOverviewSectionProps> = ({\n highlights,\n}) => {\n return (\n <div>\n <Typography variant={'body4'} className=\"text-light-2 mb-2\">\n Store Overview:\n </Typography>\n <div className=\"bg-light-2 p-1 border border-neutral-1 rounded-lg\">\n <div className=\"flex justify-evenly items-center\">\n {highlights.map((item, index) => (\n <React.Fragment key={index}>\n <div className=\"flex flex-col items-center justify-center text-center gap-1 p-\">\n {/* Trend Box */}\n <div\n className={trendBoxStyles({\n trend: item.trend?.toString() as '1' | '-1' | '0' | null,\n })}\n >\n {item.trend === 1 && (\n <img\n src=\"https://frontend-static-files.geoiq.io/strapi/trending_up_9d73d6fac5.svg\"\n alt=\"High Trend\"\n className={'w-3 h-3'}\n />\n )}\n {item.trend === -1 && (\n <img\n src=\"https://frontend-static-files.geoiq.io/strapi/trending_down_87adc7f3a6.svg\"\n alt=\"Low Trend\"\n className={'w-3 h-3'}\n />\n )}\n {item.value && item.trend ? (\n <Typography\n variant=\"body5\"\n className={trendValueStyles({\n trend: item.trend?.toString() as\n | '1'\n | '-1'\n | '0'\n | null,\n })}\n >\n {`${item.value}%`}\n </Typography>\n ) : (\n <Typography variant=\"body5\" className=\"text-sm\">\n -\n </Typography>\n )}\n </div>\n\n {/* Name */}\n {item.name && (\n <Typography variant={'body6'} className=\"text-light-2\">\n {item.name}\n </Typography>\n )}\n </div>\n\n {/* Separator */}\n {index < highlights.length - 1 && (\n <div className=\"border-l border-stroke-light-1 h-20 mx-1\" />\n )}\n </React.Fragment>\n ))}\n </div>\n </div>\n </div>\n )\n}\n\n{\n /*----------------- Footfall Trends ------------------*/\n}\ninterface FootfallChartSectionProps {\n data: ReportSnippetViewNS.FootfallChartData[]\n}\n\nconst FootfallChartSection: FC<FootfallChartSectionProps> = ({ data }) => {\n if (!data || data.every((item) => item.footfall === null)) {\n return null\n }\n return (\n <div className=\"w-full h-full bg-light-2 border border-neutral-1 p-3 rounded-lg\">\n {/* Section heading */}\n <Typography variant={'body4'} className=\"text-light-2 mb-4\">\n Footfall trends\n </Typography>\n\n {/* Bar Chart */}\n <ResponsiveContainer width=\"100%\" height={300}>\n <BarChart\n data={data}\n margin={{\n top: 3,\n right: 3,\n bottom: -10,\n left: 3,\n }}\n barSize={24}\n >\n <CartesianGrid strokeDasharray=\"10 10\" />\n <XAxis\n dataKey=\"month\"\n style={{\n font: FONT_FAMILY,\n fontSize: '12px',\n fontWeight: '500',\n color: '#4A4A4A',\n }}\n />\n <YAxis\n className=\"text-4-grey\"\n style={{ fontSize: '12px', fontWeight: '500' }}\n tickFormatter={(val) => {\n if (val > 1000000) {\n return `${val / 1000000}M`\n }\n if (val > 1000) {\n return `${val / 1000}K`\n }\n return val\n }}\n label={{\n value: 'AVG FOOTFALL FOR A 3-MONTH PERIOD',\n angle: -90,\n position: 'insideLeft',\n dy: -5,\n style: {\n textAnchor: 'middle',\n fontSize: '12px',\n fontWeight: '500',\n },\n }}\n />\n <Tooltip content={<CustomTooltipFootfall />} />\n <Bar\n dataKey=\"footfall\"\n fill=\"#6D48EF\"\n radius={[4, 4, 4, 4]}\n style={{ cursor: 'pointer' }}\n />\n </BarChart>\n </ResponsiveContainer>\n </div>\n )\n}\n\n{\n /* -----------------Cannibalisation Effect------------------ */\n}\ninterface CannibalisationChartSectionProps {\n data: ReportSnippetViewNS.CannibalisationChartData[]\n}\n\nconst CannibalisationChartSection: FC<CannibalisationChartSectionProps> = ({\n data,\n}) => {\n if (!data || data.every((item) => item.cannibalisation === null)) {\n return null\n }\n const formatXAxisLabel = (label: string) => {\n const barCount = data.length\n let maxLength\n\n if (barCount <= 1) {\n maxLength = 50\n } else if (barCount <= 6) {\n maxLength = 22 - (barCount - 1) * 4\n } else {\n maxLength = 6\n }\n\n return label.length > maxLength ? `${label.slice(0, maxLength)}...` : label\n }\n return (\n <div className=\"w-full h-full bg-light-2 border border-neutral-1 p-3 rounded-lg\">\n {/* Section heading */}\n <Typography variant={'body4'} className=\"text-light-2 mb-4\">\n Cannibalisation effects\n </Typography>\n\n {/* Bar Chart */}\n <ResponsiveContainer width=\"100%\" height={300}>\n <BarChart\n data={data}\n margin={{\n top: 3,\n right: 3,\n bottom: 5,\n left: 3,\n }}\n barSize={24}\n >\n <CartesianGrid strokeDasharray=\"10 10\" />\n <XAxis\n dataKey=\"store_name\"\n tickFormatter={formatXAxisLabel}\n tickMargin={10}\n tick={(props) => {\n const { x, y, payload } = props\n return (\n <text x={x} y={y} textAnchor={'end'} fill=\"#666\">\n <tspan x={x} style={{ fontSize: 12 }}>\n {formatXAxisLabel(payload.value)}\n </tspan>\n <tspan\n x={x}\n dy=\"1.5em\"\n style={{\n fontSize: 10,\n whiteSpace: 'nowrap',\n paddingTop: '2px',\n }}\n >\n {data[payload.index].distance + ' kms'}\n </tspan>\n </text>\n )\n }}\n />\n <YAxis\n className=\"text-4-grey\"\n style={{ fontSize: '12px', fontWeight: '500' }}\n tickFormatter={(val) => {\n if (val > 1000000) {\n return `${val / 1000000}M`\n }\n if (val > 1000) {\n return `${val / 1000}K`\n }\n return val\n }}\n label={{\n value: 'CANNIBALISATION IN %',\n angle: -90,\n position: 'insideLeft',\n dy: -5,\n style: {\n textAnchor: 'middle',\n fontSize: '12px',\n fontWeight: '500',\n },\n }}\n domain={[0, 100]}\n />\n <Tooltip content={<CustomTooltipCannibalisation />} />\n <Bar\n dataKey=\"cannibalisation\"\n fill=\"#F93232\"\n radius={[4, 4, 4, 4]}\n style={{ cursor: 'pointer' }}\n />\n </BarChart>\n </ResponsiveContainer>\n </div>\n )\n}\n\nexport {\n ReportSnippetGalleryView,\n StoreInsightsSection,\n StoreOverviewSection,\n FootfallChartSection,\n CannibalisationChartSection,\n}\n"],"names":["ReportSnippetGalleryView","data","onToggle","isOpen","galleryActiveIndex","setgalleryActiveIndex","isDataAvailable","handleNext","prevIndex","handlePrev","handleThumbnailClick","index","toggleGallery","React","Dialog","X","ChevronLeft","ChevronRight","item","CustomTooltipFootfall","active","payload","label","year","footfall","Typography","CustomTooltipCannibalisation","distance","cannibalisation","StoreInsightsSection","insights","StoreOverviewSection","highlights","trendBoxStyles","trendValueStyles","FootfallChartSection","ResponsiveContainer","BarChart","CartesianGrid","XAxis","FONT_FAMILY","YAxis","val","Tooltip","Bar","CannibalisationChartSection","formatXAxisLabel","barCount","maxLength","props","x","y"],"mappings":"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"}
1
+ {"version":3,"file":"index139.es.js","sources":["../src/components/ui/report-snippet-view/report-snippet-view-components.tsx"],"sourcesContent":["import React, { FC } from 'react'\nimport { ReportSnippetViewNS } from './report-snippet-view.types'\n\nimport { FONT_FAMILY } from '@/lib/constants'\n\nimport { Dialog } from '@/components/organisms/dialog'\nimport { ChevronLeft, ChevronRight, X } from 'lucide-react'\nimport { Typography } from '@/components/atoms/typography'\nimport {\n BarChart,\n Bar,\n XAxis,\n YAxis,\n CartesianGrid,\n Tooltip,\n ResponsiveContainer,\n} from 'recharts'\nimport { trendBoxStyles, trendValueStyles } from './report-snippet-view-style'\n\nconst ReportSnippetGalleryView: FC<{\n onToggle: () => void\n isOpen: boolean\n data?: ReportSnippetViewNS.StreetViewData\n galleryActiveIndex: number\n setgalleryActiveIndex: React.Dispatch<React.SetStateAction<number>>\n}> = ({\n data,\n onToggle,\n isOpen,\n galleryActiveIndex,\n setgalleryActiveIndex,\n}) => {\n // Current active item\n\n const isDataAvailable = data && data.length\n\n // Handle next click\n const handleNext = () => {\n if (!data) return\n setgalleryActiveIndex((prevIndex) => (prevIndex + 1) % data?.length)\n }\n\n // Handle previous click\n const handlePrev = () => {\n if (!data) return\n setgalleryActiveIndex(\n (prevIndex) => (prevIndex - 1 + data.length) % data.length\n )\n }\n\n const handleThumbnailClick = (index: number) => {\n setgalleryActiveIndex(index)\n }\n\n const toggleGallery = () => {\n onToggle()\n }\n\n return (\n <Dialog\n open={isOpen}\n trigger={null}\n contentClassName=\"bg-transparent w-fit border-0\"\n onInteractOutside={toggleGallery}\n body={\n <div className=\"flex flex-col items-center justify-center w-full h-full max-w-3xl mx-auto\">\n <X\n size={24}\n color=\"white\"\n className=\"absolute z-50 cursor-pointer -right-10 -top-10\"\n onClick={toggleGallery}\n />\n\n {/* Main Carousel */}\n <div className=\"relative\">\n <div className=\"relative \">\n {isDataAvailable && (\n <img\n key={data[galleryActiveIndex].image_url}\n src={data[galleryActiveIndex].image_url}\n alt={`Street ${galleryActiveIndex + 1}`}\n className=\"w-[500px] max-h-[80vh] object-contain flex-shrink-0\"\n />\n )}\n </div>\n\n {/* Navigation Buttons */}\n <div className=\"relative top-[-50%] left-[-10%] flex row w-[120%] justify-between\">\n <div role=\"button\" tabIndex={0} onClick={handlePrev}>\n <ChevronLeft size={30} color=\"white\" />\n </div>\n <div role=\"button\" tabIndex={0} onClick={handleNext}>\n <ChevronRight size={30} color=\"white\" />\n </div>\n </div>\n </div>\n\n {/* Thumbnails */}\n <div className=\"flex justify-center p-2 mt-4 space-x-2 rounded-lg\">\n {isDataAvailable &&\n data.map((item, index) => (\n <img\n key={index}\n src={item.image_url}\n alt={`Thumbnail ${index + 1}`}\n onClick={() => handleThumbnailClick(index)}\n className={`w-20 h-auto rounded-lg cursor-pointer ${\n index === galleryActiveIndex\n ? 'ring-2 ring-primary-1'\n : 'ring-2 ring-transparent'\n } hover:ring-gray-300`}\n />\n ))}\n </div>\n </div>\n }\n />\n )\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unused-vars\nconst CustomTooltipFootfall = ({ active, payload, label, year }: any) => {\n if (active && payload && payload.length) {\n const year = payload[0]?.payload?.year\n const footfall = payload[0]?.value\n return (\n <div className=\"flex flex-col bg-light-1 p-4 rounded-lg shadow-md min-w-[200px] gap-1\">\n {/* Month Information */}\n <Typography variant={'body6'} className=\"text-primary\">\n {`${label}'${year}`}\n </Typography>\n\n {/* Separator */}\n <div className=\"my-2 w-full h-px border border-stroke-1\" />\n\n {/* Footfall/Visits Information */}\n <div className=\"flex\">\n <div\n className=\"h-4 w-1 rounded-lg\"\n style={{ backgroundColor: '#6D48EF' }}\n />\n <Typography variant={'body6'} className=\"text-secondary mx-1\">\n Visits\n </Typography>\n <Typography variant={'body4'} className=\"text-secondary ml-auto\">\n {` ${footfall}`}\n </Typography>\n </div>\n </div>\n )\n }\n return null\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst CustomTooltipCannibalisation = ({ active, payload, label }: any) => {\n if (active && payload && payload.length) {\n const distance = payload[0]?.payload?.distance\n const cannibalisation = payload[0]?.value\n return (\n <div className=\"flex bg-light-1 items-center justify-between rounded-lg shadow-md min-w-45 max-w-80 gap-2 p-2\">\n {/* Month Information */}\n <Typography variant={'body6'} className=\"text-primary\">\n {\n <div className=\"flex h-full justify-between items-center p-2 gap-4\">\n <div>{label}</div>\n <div> {distance + 'km'}</div>\n </div>\n }\n </Typography>\n {/* Footfall/Visits Information */}\n <Typography\n variant={'body4'}\n className=\"text-normal text-danger-1 ml-auto p-2\"\n >\n {`${cannibalisation}%`}\n </Typography>\n </div>\n )\n }\n return null\n}\n\n{\n /*--------- Store insights ----------*/\n}\ninterface StoreInsightsSectionProps {\n insights: ReportSnippetViewNS.CatchmentInsights[]\n // customButton?: React.ReactNode\n}\n\nconst StoreInsightsSection: FC<StoreInsightsSectionProps> = ({ insights }) => {\n return (\n <div>\n <div className=\"flex flex-row mb-4 justify-between\">\n <Typography variant=\"body4\" className=\"text-light-2\">\n Store Insight:\n </Typography>\n </div>\n\n <div className=\"bg-light-2 p-3 border border-neutral-1 rounded-lg\">\n <Typography variant=\"body4\" className=\"text-light-2 mb-2\">\n Presence of other brands in catchment:\n </Typography>\n\n {/* Render store insights data */}\n <div className=\"flex gap-1 flex-wrap\">\n {insights.map((item) => (\n <div\n key={item.type}\n className=\"flex items-center gap-1 bg-light-1 px-2 py-1 rounded-full border border-neutral-1\"\n >\n {/* Icon */}\n <img\n src={item.iconUrl}\n alt={`${item.type} Icon`}\n className=\"w-4 h-4\"\n />\n\n {/* Name and Count */}\n <Typography variant=\"body6\" className=\"text-light-2\">\n {item.count}\n </Typography>\n <div className=\"flex items-center gap-1\">\n <Typography variant=\"body6\" className=\"text-light-2\">\n {item.type === 'competitor' ? 'Competitors' : 'Complementary'}\n </Typography>\n </div>\n </div>\n ))}\n </div>\n </div>\n </div>\n )\n}\n\n{\n /*--------- Store Overview ----------*/\n}\ninterface StoreOverviewSectionProps {\n highlights: ReportSnippetViewNS.StoreHighlights[]\n}\n\nconst StoreOverviewSection: FC<StoreOverviewSectionProps> = ({\n highlights,\n}) => {\n return (\n <div>\n <Typography variant={'body4'} className=\"text-light-2 mb-2\">\n Store Overview:\n </Typography>\n <div className=\"bg-light-2 p-1 border border-neutral-1 rounded-lg\">\n <div className=\"flex justify-evenly items-center\">\n {highlights.map((item, index) => (\n <React.Fragment key={index}>\n <div className=\"flex flex-col items-center justify-center text-center gap-1 p-\">\n {/* Trend Box */}\n <div\n className={trendBoxStyles({\n trend: item.trend?.toString() as '1' | '-1' | '0' | null,\n })}\n >\n {item.trend === 1 && (\n <img\n src=\"https://frontend-static-files.geoiq.io/strapi/trending_up_9d73d6fac5.svg\"\n alt=\"High Trend\"\n className={'w-3 h-3'}\n />\n )}\n {item.trend === -1 && (\n <img\n src=\"https://frontend-static-files.geoiq.io/strapi/trending_down_87adc7f3a6.svg\"\n alt=\"Low Trend\"\n className={'w-3 h-3'}\n />\n )}\n {item.value && item.trend ? (\n <Typography\n variant=\"body5\"\n className={trendValueStyles({\n trend: item.trend?.toString() as\n | '1'\n | '-1'\n | '0'\n | null,\n })}\n >\n {`${item.value}%`}\n </Typography>\n ) : (\n <Typography variant=\"body5\" className=\"text-sm\">\n -\n </Typography>\n )}\n </div>\n\n {/* Name */}\n {item.name && (\n <Typography variant={'body6'} className=\"text-light-2\">\n {item.name}\n </Typography>\n )}\n </div>\n\n {/* Separator */}\n {index < highlights.length - 1 && (\n <div className=\"border-l border-stroke-light-1 h-20 mx-1\" />\n )}\n </React.Fragment>\n ))}\n </div>\n </div>\n </div>\n )\n}\n\n{\n /*----------------- Footfall Trends ------------------*/\n}\ninterface FootfallChartSectionProps {\n data: ReportSnippetViewNS.FootfallChartData[]\n}\n\nconst FootfallChartSection: FC<FootfallChartSectionProps> = ({ data }) => {\n if (!data || data.every((item) => item.footfall === null)) {\n return null\n }\n return (\n <div className=\"w-full h-full bg-light-2 border border-neutral-1 p-3 rounded-lg\">\n {/* Section heading */}\n <Typography variant={'body4'} className=\"text-light-2 mb-4\">\n Footfall trends\n </Typography>\n\n {/* Bar Chart */}\n <ResponsiveContainer width=\"100%\" height={300}>\n <BarChart\n data={data}\n margin={{\n top: 3,\n right: 3,\n bottom: -10,\n left: 3,\n }}\n barSize={24}\n >\n <CartesianGrid strokeDasharray=\"10 10\" />\n <XAxis\n dataKey=\"month\"\n style={{\n font: FONT_FAMILY,\n fontSize: '12px',\n fontWeight: '500',\n color: '#4A4A4A',\n }}\n />\n <YAxis\n className=\"text-4-grey\"\n style={{ fontSize: '12px', fontWeight: '500' }}\n tickFormatter={(val) => {\n if (val > 1000000) {\n return `${val / 1000000}M`\n }\n if (val > 1000) {\n return `${val / 1000}K`\n }\n return val\n }}\n label={{\n value: 'AVG FOOTFALL FOR A 3-MONTH PERIOD',\n angle: -90,\n position: 'insideLeft',\n dy: -5,\n style: {\n textAnchor: 'middle',\n fontSize: '12px',\n fontWeight: '500',\n },\n }}\n />\n <Tooltip content={<CustomTooltipFootfall />} />\n <Bar\n dataKey=\"footfall\"\n fill=\"#6D48EF\"\n radius={[4, 4, 4, 4]}\n style={{ cursor: 'pointer' }}\n />\n </BarChart>\n </ResponsiveContainer>\n </div>\n )\n}\n\n{\n /* -----------------Cannibalisation Effect------------------ */\n}\ninterface CannibalisationChartSectionProps {\n data: ReportSnippetViewNS.CannibalisationChartData[]\n}\n\nconst CannibalisationChartSection: FC<CannibalisationChartSectionProps> = ({\n data,\n}) => {\n if (!data || data.every((item) => item.cannibalisation === null)) {\n return null\n }\n const formatXAxisLabel = (label: string) => {\n const barCount = data.length\n let maxLength\n\n if (barCount <= 1) {\n maxLength = 50\n } else if (barCount <= 6) {\n maxLength = 22 - (barCount - 1) * 4\n } else {\n maxLength = 6\n }\n\n return label.length > maxLength ? `${label.slice(0, maxLength)}...` : label\n }\n return (\n <div className=\"w-full h-full bg-light-2 border border-neutral-1 p-3 rounded-lg\">\n {/* Section heading */}\n <Typography variant={'body4'} className=\"text-light-2 mb-4\">\n Cannibalisation effects\n </Typography>\n\n {/* Bar Chart */}\n <ResponsiveContainer width=\"100%\" height={300}>\n <BarChart\n data={data}\n margin={{\n top: 3,\n right: 3,\n bottom: 5,\n left: 3,\n }}\n barSize={24}\n >\n <CartesianGrid strokeDasharray=\"10 10\" />\n <XAxis\n dataKey=\"store_name\"\n tickFormatter={formatXAxisLabel}\n tickMargin={10}\n tick={(props) => {\n const { x, y, payload } = props\n return (\n <text x={x} y={y} textAnchor={'end'} fill=\"#666\">\n <tspan x={x} style={{ fontSize: 12 }}>\n {formatXAxisLabel(payload.value)}\n </tspan>\n <tspan\n x={x}\n dy=\"1.5em\"\n style={{\n fontSize: 10,\n whiteSpace: 'nowrap',\n paddingTop: '2px',\n }}\n >\n {data[payload.index].distance + ' kms'}\n </tspan>\n </text>\n )\n }}\n />\n <YAxis\n className=\"text-4-grey\"\n style={{ fontSize: '12px', fontWeight: '500' }}\n tickFormatter={(val) => {\n if (val > 1000000) {\n return `${val / 1000000}M`\n }\n if (val > 1000) {\n return `${val / 1000}K`\n }\n return val\n }}\n label={{\n value: 'CANNIBALISATION IN %',\n angle: -90,\n position: 'insideLeft',\n dy: -5,\n style: {\n textAnchor: 'middle',\n fontSize: '12px',\n fontWeight: '500',\n },\n }}\n domain={[0, 100]}\n />\n <Tooltip content={<CustomTooltipCannibalisation />} />\n <Bar\n dataKey=\"cannibalisation\"\n fill=\"#F93232\"\n radius={[4, 4, 4, 4]}\n style={{ cursor: 'pointer' }}\n />\n </BarChart>\n </ResponsiveContainer>\n </div>\n )\n}\n\nexport {\n ReportSnippetGalleryView,\n StoreInsightsSection,\n StoreOverviewSection,\n FootfallChartSection,\n CannibalisationChartSection,\n}\n"],"names":["ReportSnippetGalleryView","data","onToggle","isOpen","galleryActiveIndex","setgalleryActiveIndex","isDataAvailable","handleNext","prevIndex","handlePrev","handleThumbnailClick","index","toggleGallery","React","Dialog","X","ChevronLeft","ChevronRight","item","CustomTooltipFootfall","active","payload","label","year","footfall","Typography","CustomTooltipCannibalisation","distance","cannibalisation","StoreInsightsSection","insights","StoreOverviewSection","highlights","trendBoxStyles","trendValueStyles","FootfallChartSection","ResponsiveContainer","BarChart","CartesianGrid","XAxis","FONT_FAMILY","YAxis","val","Tooltip","Bar","CannibalisationChartSection","formatXAxisLabel","barCount","maxLength","props","x","y"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { cn as i } from "./index.es89.js";
1
+ import { cn as i } from "./index91.es.js";
2
2
  import m from "react";
3
3
  function a({
4
4
  className: t,
@@ -16,4 +16,4 @@ function a({
16
16
  export {
17
17
  a as Skeleton
18
18
  };
19
- //# sourceMappingURL=index.es14.js.map
19
+ //# sourceMappingURL=index14.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es14.js","sources":["../src/components/atoms/skeleton/skeleton.tsx"],"sourcesContent":["import { cn } from '@/lib/utils'\nimport React from 'react'\n\nfunction Skeleton({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) {\n return (\n <div\n className={cn('animate-pulse rounded-md bg-light-4', className)}\n id={props.id}\n {...props}\n />\n )\n}\n\nexport { Skeleton }\n"],"names":["Skeleton","className","props","React","cn"],"mappings":";;AAGA,SAASA,EAAS;AAAA,EAChB,WAAAC;AAAA,EACA,GAAGC;AACL,GAAyC;AACvC,SACEC,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAG,uCAAuCH,CAAS;AAAA,MAC9D,IAAIC,EAAM;AAAA,MACT,GAAGA;AAAA,IAAA;AAAA,EAAA;AAGV;"}
1
+ {"version":3,"file":"index14.es.js","sources":["../src/components/atoms/skeleton/skeleton.tsx"],"sourcesContent":["import { cn } from '@/lib/utils'\nimport React from 'react'\n\nfunction Skeleton({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) {\n return (\n <div\n className={cn('animate-pulse rounded-md bg-light-4', className)}\n id={props.id}\n {...props}\n />\n )\n}\n\nexport { Skeleton }\n"],"names":["Skeleton","className","props","React","cn"],"mappings":";;AAGA,SAASA,EAAS;AAAA,EAChB,WAAAC;AAAA,EACA,GAAGC;AACL,GAAyC;AACvC,SACEC,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAG,uCAAuCH,CAAS;AAAA,MAC9D,IAAIC,EAAM;AAAA,MACT,GAAGA;AAAA,IAAA;AAAA,EAAA;AAGV;"}