geoiq-frontend-ui-kit 2.0.0 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (494) hide show
  1. package/dist/components/atoms/badge/badge.styles.d.ts +2 -2
  2. package/dist/components/atoms/button/button.styles.d.ts +2 -2
  3. package/dist/components/atoms/checkbox/checkbox.styles.d.ts +2 -2
  4. package/dist/components/atoms/switch/switch.styles.d.ts +2 -2
  5. package/dist/components/molecules/alert/alert.styles.d.ts +1 -1
  6. package/dist/components/molecules/creatable-multi-combobox/creatable-multi-combobox.d.ts +4 -0
  7. package/dist/components/molecules/creatable-multi-combobox/creatable-multi-combobox.d.ts.map +1 -0
  8. package/dist/components/molecules/creatable-multi-combobox/creatable-multi-combobox.types.d.ts +49 -0
  9. package/dist/components/molecules/creatable-multi-combobox/creatable-multi-combobox.types.d.ts.map +1 -0
  10. package/dist/components/molecules/creatable-multi-combobox/index.d.ts +4 -0
  11. package/dist/components/molecules/creatable-multi-combobox/index.d.ts.map +1 -0
  12. package/dist/components/molecules/single-select/index.d.ts.map +1 -1
  13. package/dist/components/molecules/single-select/single-select-components.d.ts +3 -1
  14. package/dist/components/molecules/single-select/single-select-components.d.ts.map +1 -1
  15. package/dist/components/molecules/single-select/single-select.types.d.ts +9 -0
  16. package/dist/components/molecules/single-select/single-select.types.d.ts.map +1 -1
  17. package/dist/components/molecules/split-button/split-button.styles.d.ts +3 -3
  18. package/dist/components/molecules/swatch-grid/index.d.ts +3 -0
  19. package/dist/components/molecules/swatch-grid/index.d.ts.map +1 -0
  20. package/dist/components/molecules/swatch-grid/swatch-grid.d.ts +4 -0
  21. package/dist/components/molecules/swatch-grid/swatch-grid.d.ts.map +1 -0
  22. package/dist/components/molecules/swatch-grid/swatch-grid.types.d.ts +17 -0
  23. package/dist/components/molecules/swatch-grid/swatch-grid.types.d.ts.map +1 -0
  24. package/dist/components/molecules/tabs/tabs.d.ts.map +1 -1
  25. package/dist/components/molecules/tabs/tabs.styles.d.ts +2 -2
  26. package/dist/components/molecules/tabs/tabs.types.d.ts +1 -0
  27. package/dist/components/molecules/tabs/tabs.types.d.ts.map +1 -1
  28. package/dist/components/organisms/dialog/dialog.d.ts +1 -1
  29. package/dist/components/organisms/dialog/dialog.d.ts.map +1 -1
  30. package/dist/components/organisms/dialog/dialog.types.d.ts +9 -0
  31. package/dist/components/organisms/dialog/dialog.types.d.ts.map +1 -1
  32. package/dist/components/organisms/image-editor/components/color-picker.d.ts +7 -0
  33. package/dist/components/organisms/image-editor/components/color-picker.d.ts.map +1 -0
  34. package/dist/components/organisms/image-editor/components/layers-list.d.ts +9 -0
  35. package/dist/components/organisms/image-editor/components/layers-list.d.ts.map +1 -0
  36. package/dist/components/organisms/image-editor/components/panel-adjust.d.ts +9 -0
  37. package/dist/components/organisms/image-editor/components/panel-adjust.d.ts.map +1 -0
  38. package/dist/components/organisms/image-editor/components/panel-crop.d.ts +9 -0
  39. package/dist/components/organisms/image-editor/components/panel-crop.d.ts.map +1 -0
  40. package/dist/components/organisms/image-editor/components/panel-insert.d.ts +9 -0
  41. package/dist/components/organisms/image-editor/components/panel-insert.d.ts.map +1 -0
  42. package/dist/components/organisms/image-editor/components/panel-selected.d.ts +9 -0
  43. package/dist/components/organisms/image-editor/components/panel-selected.d.ts.map +1 -0
  44. package/dist/components/organisms/image-editor/components/panel.d.ts +9 -0
  45. package/dist/components/organisms/image-editor/components/panel.d.ts.map +1 -0
  46. package/dist/components/organisms/image-editor/components/portal-context.d.ts +3 -0
  47. package/dist/components/organisms/image-editor/components/portal-context.d.ts.map +1 -0
  48. package/dist/components/organisms/image-editor/components/ribbon.d.ts +9 -0
  49. package/dist/components/organisms/image-editor/components/ribbon.d.ts.map +1 -0
  50. package/dist/components/organisms/image-editor/components/shape-icons.d.ts +4 -0
  51. package/dist/components/organisms/image-editor/components/shape-icons.d.ts.map +1 -0
  52. package/dist/components/organisms/image-editor/components/stage.d.ts +18 -0
  53. package/dist/components/organisms/image-editor/components/stage.d.ts.map +1 -0
  54. package/dist/components/organisms/image-editor/components/status-bar.d.ts +6 -0
  55. package/dist/components/organisms/image-editor/components/status-bar.d.ts.map +1 -0
  56. package/dist/components/organisms/image-editor/image-editor-modal.d.ts +10 -0
  57. package/dist/components/organisms/image-editor/image-editor-modal.d.ts.map +1 -0
  58. package/dist/components/organisms/image-editor/image-editor.d.ts +5 -0
  59. package/dist/components/organisms/image-editor/image-editor.d.ts.map +1 -0
  60. package/dist/components/organisms/image-editor/image-editor.types.d.ts +182 -0
  61. package/dist/components/organisms/image-editor/image-editor.types.d.ts.map +1 -0
  62. package/dist/components/organisms/image-editor/index.d.ts +4 -0
  63. package/dist/components/organisms/image-editor/index.d.ts.map +1 -0
  64. package/dist/components/organisms/image-editor/native-bridge.d.ts +3 -0
  65. package/dist/components/organisms/image-editor/native-bridge.d.ts.map +1 -0
  66. package/dist/components/organisms/image-editor/picture-studio-engine.d.ts +16 -0
  67. package/dist/components/organisms/image-editor/use-image-editor.d.ts +4 -0
  68. package/dist/components/organisms/image-editor/use-image-editor.d.ts.map +1 -0
  69. package/dist/components/organisms/navbar/navbar-desktop.d.ts.map +1 -1
  70. package/dist/components/organisms/navbar/navbar-extended.d.ts.map +1 -1
  71. package/dist/components/organisms/navbar/navbar-mobile.d.ts.map +1 -1
  72. package/dist/components/organisms/navbar/navbar.types.d.ts +17 -0
  73. package/dist/components/organisms/navbar/navbar.types.d.ts.map +1 -1
  74. package/dist/components/organisms/sheet/sheet.d.ts +1 -1
  75. package/dist/components/organisms/sheet/sheet.d.ts.map +1 -1
  76. package/dist/components/organisms/sheet/sheet.types.d.ts +1 -0
  77. package/dist/components/organisms/sheet/sheet.types.d.ts.map +1 -1
  78. package/dist/components/organisms/sidebar/sidebar-components.d.ts +1 -1
  79. package/dist/components/ui/brand-switcher/brand-switcher.d.ts +5 -0
  80. package/dist/components/ui/brand-switcher/brand-switcher.d.ts.map +1 -0
  81. package/dist/components/ui/brand-switcher/brand-switcher.types.d.ts +29 -0
  82. package/dist/components/ui/brand-switcher/brand-switcher.types.d.ts.map +1 -0
  83. package/dist/components/ui/brand-switcher/index.d.ts +3 -0
  84. package/dist/components/ui/brand-switcher/index.d.ts.map +1 -0
  85. package/dist/components/ui/credit-sheet/credit-sheet.d.ts.map +1 -1
  86. package/dist/components/ui/credit-sheet/credit-sheet.types.d.ts +3 -0
  87. package/dist/components/ui/credit-sheet/credit-sheet.types.d.ts.map +1 -1
  88. package/dist/components/ui/credits-indicator/credits-indicator.d.ts +6 -0
  89. package/dist/components/ui/credits-indicator/credits-indicator.d.ts.map +1 -0
  90. package/dist/components/ui/credits-indicator/credits-indicator.styles.d.ts +7 -0
  91. package/dist/components/ui/credits-indicator/credits-indicator.styles.d.ts.map +1 -0
  92. package/dist/components/ui/credits-indicator/credits-indicator.types.d.ts +14 -0
  93. package/dist/components/ui/credits-indicator/credits-indicator.types.d.ts.map +1 -0
  94. package/dist/components/ui/credits-indicator/index.d.ts +3 -0
  95. package/dist/components/ui/credits-indicator/index.d.ts.map +1 -0
  96. package/dist/components/ui/form-renderer/components/form-fields/components/multi-image-picker/index.d.ts.map +1 -1
  97. package/dist/components/ui/form-renderer/components/form-fields/components/single-image-picker/index.d.ts.map +1 -1
  98. package/dist/components/ui/form-renderer/components/form-fields/components/taggable-multi-image-picker/index.d.ts.map +1 -1
  99. package/dist/components/ui/form-renderer/components/form-fields/components/taggable-multi-image-picker-with-input/index.d.ts.map +1 -1
  100. package/dist/components/ui/form-renderer/components/form-fields/index.d.ts.map +1 -1
  101. package/dist/components/ui/form-renderer/components/form-read-only-view.d.ts.map +1 -1
  102. package/dist/components/ui/form-renderer/context/form-values/form-values.context.d.ts +4 -0
  103. package/dist/components/ui/form-renderer/context/form-values/form-values.context.d.ts.map +1 -1
  104. package/dist/components/ui/form-renderer/context/form-values/form-values.provider.d.ts +2 -0
  105. package/dist/components/ui/form-renderer/context/form-values/form-values.provider.d.ts.map +1 -1
  106. package/dist/components/ui/form-renderer/form-renderer.d.ts +10 -0
  107. package/dist/components/ui/form-renderer/form-renderer.d.ts.map +1 -1
  108. package/dist/components/ui/form-renderer/form.enums.d.ts +1 -0
  109. package/dist/components/ui/form-renderer/form.enums.d.ts.map +1 -1
  110. package/dist/components/ui/form-renderer/form.types.d.ts +20 -1
  111. package/dist/components/ui/form-renderer/form.types.d.ts.map +1 -1
  112. package/dist/components/ui/map-marker-hover-card/components/map-cluster-hover-card.d.ts +1 -1
  113. package/dist/components/ui/map-marker-hover-card/components/map-cluster-hover-card.d.ts.map +1 -1
  114. package/dist/components/ui/report-snippet-view/report-snippet-view-components.d.ts.map +1 -1
  115. package/dist/components/ui/request-credits-view/component/request-credit-dialog.d.ts.map +1 -1
  116. package/dist/components/ui/request-credits-view/component/request-credit-dialog.types.d.ts +3 -0
  117. package/dist/components/ui/request-credits-view/component/request-credit-dialog.types.d.ts.map +1 -1
  118. package/dist/components/ui/request-credits-view/index.d.ts +1 -0
  119. package/dist/components/ui/request-credits-view/index.d.ts.map +1 -1
  120. package/dist/components/ui/request-credits-view/request-credits-view.d.ts.map +1 -1
  121. package/dist/components/ui/request-credits-view/request-credits-view.types.d.ts +3 -0
  122. package/dist/components/ui/request-credits-view/request-credits-view.types.d.ts.map +1 -1
  123. package/dist/components/unstyled/spinner/spinner.styles.d.ts +1 -1
  124. package/dist/index.d.ts +8 -0
  125. package/dist/index.d.ts.map +1 -1
  126. package/dist/index.es.js +210 -193
  127. package/dist/index.es.js.map +1 -1
  128. package/dist/index.es10.js +30 -23
  129. package/dist/index.es10.js.map +1 -1
  130. package/dist/index.es100.js +120 -10
  131. package/dist/index.es100.js.map +1 -1
  132. package/dist/index.es101.js +16 -97
  133. package/dist/index.es101.js.map +1 -1
  134. package/dist/index.es102.js +41 -60
  135. package/dist/index.es102.js.map +1 -1
  136. package/dist/index.es103.js +13 -54
  137. package/dist/index.es103.js.map +1 -1
  138. package/dist/index.es104.js +68 -5
  139. package/dist/index.es104.js.map +1 -1
  140. package/dist/index.es105.js +32 -9
  141. package/dist/index.es105.js.map +1 -1
  142. package/dist/index.es106.js +19 -32
  143. package/dist/index.es106.js.map +1 -1
  144. package/dist/index.es107.js +18 -61
  145. package/dist/index.es107.js.map +1 -1
  146. package/dist/index.es108.js +12 -22
  147. package/dist/index.es108.js.map +1 -1
  148. package/dist/index.es109.js +98 -22
  149. package/dist/index.es109.js.map +1 -1
  150. package/dist/index.es11.js +77 -25
  151. package/dist/index.es11.js.map +1 -1
  152. package/dist/index.es110.js +62 -21
  153. package/dist/index.es110.js.map +1 -1
  154. package/dist/index.es111.js +48 -174
  155. package/dist/index.es111.js.map +1 -1
  156. package/dist/index.es112.js +39 -37
  157. package/dist/index.es112.js.map +1 -1
  158. package/dist/index.es113.js +10 -40
  159. package/dist/index.es113.js.map +1 -1
  160. package/dist/index.es114.js +88 -37
  161. package/dist/index.es114.js.map +1 -1
  162. package/dist/index.es115.js +15 -13
  163. package/dist/index.es115.js.map +1 -1
  164. package/dist/index.es116.js +88 -261
  165. package/dist/index.es116.js.map +1 -1
  166. package/dist/index.es117.js +14 -9
  167. package/dist/index.es117.js.map +1 -1
  168. package/dist/index.es118.js +101 -67
  169. package/dist/index.es118.js.map +1 -1
  170. package/dist/index.es119.js +23 -185
  171. package/dist/index.es119.js.map +1 -1
  172. package/dist/index.es12.js +26 -14
  173. package/dist/index.es12.js.map +1 -1
  174. package/dist/index.es120.js +25 -23
  175. package/dist/index.es120.js.map +1 -1
  176. package/dist/index.es121.js +22 -177
  177. package/dist/index.es121.js.map +1 -1
  178. package/dist/index.es122.js +43 -7
  179. package/dist/index.es122.js.map +1 -1
  180. package/dist/index.es123.js +32 -84
  181. package/dist/index.es123.js.map +1 -1
  182. package/dist/index.es124.js +63 -37
  183. package/dist/index.es124.js.map +1 -1
  184. package/dist/index.es125.js +180 -11
  185. package/dist/index.es125.js.map +1 -1
  186. package/dist/index.es126.js +13 -35
  187. package/dist/index.es126.js.map +1 -1
  188. package/dist/index.es127.js +9 -16
  189. package/dist/index.es127.js.map +1 -1
  190. package/dist/index.es128.js +68 -5
  191. package/dist/index.es128.js.map +1 -1
  192. package/dist/index.es129.js +185 -10
  193. package/dist/index.es129.js.map +1 -1
  194. package/dist/index.es13.js +27 -19
  195. package/dist/index.es13.js.map +1 -1
  196. package/dist/index.es130.js +22 -10
  197. package/dist/index.es130.js.map +1 -1
  198. package/dist/index.es131.js +203 -2
  199. package/dist/index.es131.js.map +1 -1
  200. package/dist/index.es132.js +40 -22
  201. package/dist/index.es132.js.map +1 -1
  202. package/dist/index.es133.js +11 -257
  203. package/dist/index.es133.js.map +1 -1
  204. package/dist/index.es134.js +7 -35
  205. package/dist/index.es134.js.map +1 -1
  206. package/dist/index.es135.js +34 -8
  207. package/dist/index.es135.js.map +1 -1
  208. package/dist/index.es136.js +36 -78
  209. package/dist/index.es136.js.map +1 -1
  210. package/dist/index.es137.js +2 -76
  211. package/dist/index.es137.js.map +1 -1
  212. package/dist/index.es138.js +21 -110
  213. package/dist/index.es138.js.map +1 -1
  214. package/dist/index.es139.js +14 -107
  215. package/dist/index.es139.js.map +1 -1
  216. package/dist/index.es14.js +16 -46
  217. package/dist/index.es14.js.map +1 -1
  218. package/dist/index.es140.js +7 -87
  219. package/dist/index.es140.js.map +1 -1
  220. package/dist/index.es141.js +21 -128
  221. package/dist/index.es141.js.map +1 -1
  222. package/dist/index.es142.js +155 -114
  223. package/dist/index.es142.js.map +1 -1
  224. package/dist/index.es143.js +82 -6
  225. package/dist/index.es143.js.map +1 -1
  226. package/dist/index.es144.js +8 -0
  227. package/dist/index.es144.js.map +1 -0
  228. package/dist/index.es145.js +59 -0
  229. package/dist/index.es145.js.map +1 -0
  230. package/dist/index.es146.js +120 -0
  231. package/dist/index.es146.js.map +1 -0
  232. package/dist/index.es147.js +325 -0
  233. package/dist/index.es147.js.map +1 -0
  234. package/dist/index.es148.js +31 -0
  235. package/dist/index.es148.js.map +1 -0
  236. package/dist/index.es149.js +71 -0
  237. package/dist/index.es149.js.map +1 -0
  238. package/dist/index.es15.js +18 -21
  239. package/dist/index.es15.js.map +1 -1
  240. package/dist/index.es150.js +35 -0
  241. package/dist/index.es150.js.map +1 -0
  242. package/dist/index.es151.js +28 -0
  243. package/dist/index.es151.js.map +1 -0
  244. package/dist/index.es152.js +41 -0
  245. package/dist/index.es152.js.map +1 -0
  246. package/dist/index.es153.js +146 -0
  247. package/dist/index.es153.js.map +1 -0
  248. package/dist/index.es154.js +147 -0
  249. package/dist/index.es154.js.map +1 -0
  250. package/dist/index.es155.js +50 -0
  251. package/dist/index.es155.js.map +1 -0
  252. package/dist/index.es156.js +15 -0
  253. package/dist/index.es156.js.map +1 -0
  254. package/dist/index.es157.js +47 -0
  255. package/dist/index.es157.js.map +1 -0
  256. package/dist/index.es158.js +8 -0
  257. package/dist/index.es158.js.map +1 -0
  258. package/dist/index.es159.js +14 -0
  259. package/dist/index.es159.js.map +1 -0
  260. package/dist/index.es16.js +44 -22
  261. package/dist/index.es16.js.map +1 -1
  262. package/dist/index.es160.js +14 -0
  263. package/dist/index.es160.js.map +1 -0
  264. package/dist/index.es161.js +5 -0
  265. package/dist/index.es161.js.map +1 -0
  266. package/dist/index.es162.js +94 -0
  267. package/dist/index.es162.js.map +1 -0
  268. package/dist/index.es163.js +216 -0
  269. package/dist/index.es163.js.map +1 -0
  270. package/dist/index.es164.js +57 -0
  271. package/dist/index.es164.js.map +1 -0
  272. package/dist/index.es165.js +39 -0
  273. package/dist/index.es165.js.map +1 -0
  274. package/dist/index.es166.js +36 -0
  275. package/dist/index.es166.js.map +1 -0
  276. package/dist/index.es167.js +36 -0
  277. package/dist/index.es167.js.map +1 -0
  278. package/dist/index.es168.js +94 -0
  279. package/dist/index.es168.js.map +1 -0
  280. package/dist/index.es169.js +120 -0
  281. package/dist/index.es169.js.map +1 -0
  282. package/dist/index.es17.js +22 -20
  283. package/dist/index.es17.js.map +1 -1
  284. package/dist/index.es170.js +289 -0
  285. package/dist/index.es170.js.map +1 -0
  286. package/dist/index.es171.js +38 -0
  287. package/dist/index.es171.js.map +1 -0
  288. package/dist/index.es172.js +14 -0
  289. package/dist/index.es172.js.map +1 -0
  290. package/dist/index.es173.js +87 -0
  291. package/dist/index.es173.js.map +1 -0
  292. package/dist/index.es174.js +79 -0
  293. package/dist/index.es174.js.map +1 -0
  294. package/dist/index.es175.js +118 -0
  295. package/dist/index.es175.js.map +1 -0
  296. package/dist/index.es176.js +112 -0
  297. package/dist/index.es176.js.map +1 -0
  298. package/dist/index.es177.js +90 -0
  299. package/dist/index.es177.js.map +1 -0
  300. package/dist/index.es178.js +133 -0
  301. package/dist/index.es178.js.map +1 -0
  302. package/dist/index.es179.js +133 -0
  303. package/dist/index.es179.js.map +1 -0
  304. package/dist/index.es18.js +23 -73
  305. package/dist/index.es18.js.map +1 -1
  306. package/dist/index.es180.js +29 -0
  307. package/dist/index.es180.js.map +1 -0
  308. package/dist/index.es181.js +27 -0
  309. package/dist/index.es181.js.map +1 -0
  310. package/dist/index.es182.js +9 -0
  311. package/dist/index.es182.js.map +1 -0
  312. package/dist/index.es19.js +18 -48
  313. package/dist/index.es19.js.map +1 -1
  314. package/dist/index.es2.js +120 -22
  315. package/dist/index.es2.js.map +1 -1
  316. package/dist/index.es20.js +70 -45
  317. package/dist/index.es20.js.map +1 -1
  318. package/dist/index.es21.js +43 -122
  319. package/dist/index.es21.js.map +1 -1
  320. package/dist/index.es22.js +39 -96
  321. package/dist/index.es22.js.map +1 -1
  322. package/dist/index.es23.js +113 -152
  323. package/dist/index.es23.js.map +1 -1
  324. package/dist/index.es24.js +98 -64
  325. package/dist/index.es24.js.map +1 -1
  326. package/dist/index.es25.js +160 -77
  327. package/dist/index.es25.js.map +1 -1
  328. package/dist/index.es26.js +69 -51
  329. package/dist/index.es26.js.map +1 -1
  330. package/dist/index.es27.js +82 -17
  331. package/dist/index.es27.js.map +1 -1
  332. package/dist/index.es28.js +274 -2
  333. package/dist/index.es28.js.map +1 -1
  334. package/dist/index.es29.js +55 -5
  335. package/dist/index.es29.js.map +1 -1
  336. package/dist/index.es3.js +40 -41
  337. package/dist/index.es3.js.map +1 -1
  338. package/dist/index.es30.js +16 -75
  339. package/dist/index.es30.js.map +1 -1
  340. package/dist/index.es31.js +2 -28
  341. package/dist/index.es31.js.map +1 -1
  342. package/dist/index.es32.js +4 -84
  343. package/dist/index.es32.js.map +1 -1
  344. package/dist/index.es33.js +72 -43
  345. package/dist/index.es33.js.map +1 -1
  346. package/dist/index.es34.js +25 -68
  347. package/dist/index.es34.js.map +1 -1
  348. package/dist/index.es35.js +85 -12
  349. package/dist/index.es35.js.map +1 -1
  350. package/dist/index.es36.js +47 -85
  351. package/dist/index.es36.js.map +1 -1
  352. package/dist/index.es37.js +63 -32
  353. package/dist/index.es37.js.map +1 -1
  354. package/dist/index.es38.js +49 -40
  355. package/dist/index.es38.js.map +1 -1
  356. package/dist/index.es39.js +12 -98
  357. package/dist/index.es39.js.map +1 -1
  358. package/dist/index.es4.js +17 -17
  359. package/dist/index.es4.js.map +1 -1
  360. package/dist/index.es40.js +81 -156
  361. package/dist/index.es40.js.map +1 -1
  362. package/dist/index.es41.js +39 -226
  363. package/dist/index.es41.js.map +1 -1
  364. package/dist/index.es42.js +40 -269
  365. package/dist/index.es42.js.map +1 -1
  366. package/dist/index.es43.js +97 -21
  367. package/dist/index.es43.js.map +1 -1
  368. package/dist/index.es44.js +15 -9
  369. package/dist/index.es44.js.map +1 -1
  370. package/dist/index.es45.js +64 -20
  371. package/dist/index.es45.js.map +1 -1
  372. package/dist/index.es46.js +159 -61
  373. package/dist/index.es46.js.map +1 -1
  374. package/dist/index.es47.js +226 -123
  375. package/dist/index.es47.js.map +1 -1
  376. package/dist/index.es48.js +300 -109
  377. package/dist/index.es48.js.map +1 -1
  378. package/dist/index.es49.js +19 -31
  379. package/dist/index.es49.js.map +1 -1
  380. package/dist/index.es5.js +33 -31
  381. package/dist/index.es5.js.map +1 -1
  382. package/dist/index.es50.js +8 -142
  383. package/dist/index.es50.js.map +1 -1
  384. package/dist/index.es51.js +18 -70
  385. package/dist/index.es51.js.map +1 -1
  386. package/dist/index.es52.js +69 -21
  387. package/dist/index.es52.js.map +1 -1
  388. package/dist/index.es53.js +143 -103
  389. package/dist/index.es53.js.map +1 -1
  390. package/dist/index.es54.js +123 -11
  391. package/dist/index.es54.js.map +1 -1
  392. package/dist/index.es55.js +103 -18
  393. package/dist/index.es55.js.map +1 -1
  394. package/dist/index.es56.js +73 -11
  395. package/dist/index.es56.js.map +1 -1
  396. package/dist/index.es57.js +141 -16
  397. package/dist/index.es57.js.map +1 -1
  398. package/dist/index.es58.js +67 -40
  399. package/dist/index.es58.js.map +1 -1
  400. package/dist/index.es59.js +22 -86
  401. package/dist/index.es59.js.map +1 -1
  402. package/dist/index.es6.js +19 -23
  403. package/dist/index.es6.js.map +1 -1
  404. package/dist/index.es60.js +104 -7
  405. package/dist/index.es60.js.map +1 -1
  406. package/dist/index.es61.js +11 -41
  407. package/dist/index.es61.js.map +1 -1
  408. package/dist/index.es62.js +19 -79
  409. package/dist/index.es62.js.map +1 -1
  410. package/dist/index.es63.js +10 -35
  411. package/dist/index.es63.js.map +1 -1
  412. package/dist/index.es64.js +16 -86
  413. package/dist/index.es64.js.map +1 -1
  414. package/dist/index.es65.js +43 -58
  415. package/dist/index.es65.js.map +1 -1
  416. package/dist/index.es66.js +86 -69
  417. package/dist/index.es66.js.map +1 -1
  418. package/dist/index.es67.js +7 -32
  419. package/dist/index.es67.js.map +1 -1
  420. package/dist/index.es68.js +39 -65
  421. package/dist/index.es68.js.map +1 -1
  422. package/dist/index.es69.js +79 -28
  423. package/dist/index.es69.js.map +1 -1
  424. package/dist/index.es7.js +38 -43
  425. package/dist/index.es7.js.map +1 -1
  426. package/dist/index.es70.js +66 -84
  427. package/dist/index.es70.js.map +1 -1
  428. package/dist/index.es71.js +88 -11
  429. package/dist/index.es71.js.map +1 -1
  430. package/dist/index.es72.js +59 -46
  431. package/dist/index.es72.js.map +1 -1
  432. package/dist/index.es73.js +65 -108
  433. package/dist/index.es73.js.map +1 -1
  434. package/dist/index.es74.js +30 -15
  435. package/dist/index.es74.js.map +1 -1
  436. package/dist/index.es75.js +56 -35
  437. package/dist/index.es75.js.map +1 -1
  438. package/dist/index.es76.js +18 -19
  439. package/dist/index.es76.js.map +1 -1
  440. package/dist/index.es77.js +30 -38
  441. package/dist/index.es77.js.map +1 -1
  442. package/dist/index.es78.js +85 -28
  443. package/dist/index.es78.js.map +1 -1
  444. package/dist/index.es79.js +10 -94
  445. package/dist/index.es79.js.map +1 -1
  446. package/dist/index.es8.js +26 -33
  447. package/dist/index.es8.js.map +1 -1
  448. package/dist/index.es80.js +47 -2
  449. package/dist/index.es80.js.map +1 -1
  450. package/dist/index.es81.js +113 -6
  451. package/dist/index.es81.js.map +1 -1
  452. package/dist/index.es82.js +16 -26
  453. package/dist/index.es82.js.map +1 -1
  454. package/dist/index.es83.js +42 -109
  455. package/dist/index.es83.js.map +1 -1
  456. package/dist/index.es84.js +27 -22
  457. package/dist/index.es84.js.map +1 -1
  458. package/dist/index.es85.js +39 -18
  459. package/dist/index.es85.js.map +1 -1
  460. package/dist/index.es86.js +27 -18
  461. package/dist/index.es86.js.map +1 -1
  462. package/dist/index.es87.js +94 -18
  463. package/dist/index.es87.js.map +1 -1
  464. package/dist/index.es88.js +1 -18
  465. package/dist/index.es88.js.map +1 -1
  466. package/dist/index.es89.js +6 -49
  467. package/dist/index.es89.js.map +1 -1
  468. package/dist/index.es9.js +37 -72
  469. package/dist/index.es9.js.map +1 -1
  470. package/dist/index.es90.js +23 -84
  471. package/dist/index.es90.js.map +1 -1
  472. package/dist/index.es91.js +96 -99
  473. package/dist/index.es91.js.map +1 -1
  474. package/dist/index.es92.js +24 -16
  475. package/dist/index.es92.js.map +1 -1
  476. package/dist/index.es93.js +16 -22
  477. package/dist/index.es93.js.map +1 -1
  478. package/dist/index.es94.js +17 -100
  479. package/dist/index.es94.js.map +1 -1
  480. package/dist/index.es95.js +16 -71
  481. package/dist/index.es95.js.map +1 -1
  482. package/dist/index.es96.js +16 -42
  483. package/dist/index.es96.js.map +1 -1
  484. package/dist/index.es97.js +9 -32
  485. package/dist/index.es97.js.map +1 -1
  486. package/dist/index.es98.js +269 -15
  487. package/dist/index.es98.js.map +1 -1
  488. package/dist/index.es99.js +85 -17
  489. package/dist/index.es99.js.map +1 -1
  490. package/dist/lib/constants.d.ts +2 -0
  491. package/dist/lib/constants.d.ts.map +1 -0
  492. package/dist/styles.css +363 -31
  493. package/dist/ui-kit-preset.js +2 -1
  494. package/package.json +1 -1
@@ -1,14 +1,189 @@
1
- import { createContext as r, useContext as e } from "react";
2
- const o = r(null), n = () => {
3
- const t = e(o);
4
- if (!t)
5
- throw new Error(
6
- "useFormStructure must be used within a FormStructureProvider"
7
- );
8
- return t;
1
+ import e from "react";
2
+ import { Typography as s } from "./index.es19.js";
3
+ import { Checkbox as N } from "@radix-ui/react-checkbox";
4
+ import { AccordionDemo as I } from "./index.es4.js";
5
+ import { Badge as b } from "./index.es8.js";
6
+ import { FormFieldType as a } from "./index.es161.js";
7
+ const x = ({
8
+ structure: u,
9
+ values: o
10
+ }) => {
11
+ const E = (r, n) => {
12
+ if (r.type === a.REPEATABLE_GROUP_FIELD) {
13
+ const t = `${r.id}||`, c = /* @__PURE__ */ new Set();
14
+ Object.keys(o).forEach((i) => {
15
+ if (i.startsWith(t)) {
16
+ const m = i.match(new RegExp(`^${r.id}\\|\\|(\\d+)\\|\\|`));
17
+ m && m[1] && c.add(parseInt(m[1]));
18
+ }
19
+ });
20
+ const l = Array.from(c).sort((i, m) => i - m);
21
+ return l.length === 0 ? [] : l.flatMap((i) => r.options.map((m) => {
22
+ const d = `${r.id}||${i}||${m.id}`, _ = o[d], p = {
23
+ ...m,
24
+ id: d
25
+ };
26
+ return /* @__PURE__ */ e.createElement(e.Fragment, { key: d }, g(p), E(p, _));
27
+ }));
28
+ }
29
+ if (n == null || n === "")
30
+ return /* @__PURE__ */ e.createElement(s, { variant: "body2", className: "text-light-4" }, "Not answered");
31
+ switch (r.type) {
32
+ case a.SHORT_TEXT:
33
+ case a.LONG_TEXT:
34
+ case a.EMAIL:
35
+ case a.NUMBER:
36
+ case a.MOBILE_NUMBER:
37
+ case a.SINGLE_VIDEO_PICKER_WITH_INPUT:
38
+ return /* @__PURE__ */ e.createElement(s, { variant: "body2", className: "text-light-1" }, n);
39
+ case a.DATE_PICKER:
40
+ return /* @__PURE__ */ e.createElement(s, { variant: "body2", className: "text-light-1" }, new Date(n * 1e3).toLocaleDateString());
41
+ case a.SINGLE_COMBOBOX:
42
+ case a.RADIO_GROUP:
43
+ return /* @__PURE__ */ e.createElement(s, { variant: "body2", className: "text-light-1" }, n);
44
+ case a.CHECKBOX_GROUP: {
45
+ const t = o[r.id];
46
+ return /* @__PURE__ */ e.createElement("div", { className: "flex flex-col gap-2" }, r.options.map((c) => /* @__PURE__ */ e.createElement("div", { key: c, className: "flex items-center space-x-2" }, /* @__PURE__ */ e.createElement(
47
+ N,
48
+ {
49
+ disabled: !0,
50
+ id: c,
51
+ checked: t?.split(",").includes(c)
52
+ }
53
+ ), /* @__PURE__ */ e.createElement(s, { variant: "body1", className: "text-light-4" }, c))));
54
+ }
55
+ case a.MULTI_COMBOBOX:
56
+ case a.CREATABLE_MULTI_COMBOBOX:
57
+ return /* @__PURE__ */ e.createElement(s, { variant: "body2", className: "text-light-1" }, typeof n == "string" ? n.split(",").join(", ") : null);
58
+ case a.RADIO_GROUP_WITH_OPTIONAL_INPUT: {
59
+ const t = n;
60
+ return /* @__PURE__ */ e.createElement(s, { variant: "body2", className: "text-light-1" }, t.radio_value, t.input_value && t.radio_value === r.inputTriggerOptionValue && `: ${t.input_value}`);
61
+ }
62
+ case a.SINGLE_IMAGE_PICKER: {
63
+ const t = n;
64
+ return /* @__PURE__ */ e.createElement("div", { className: "mt-1" }, /* @__PURE__ */ e.createElement(
65
+ "a",
66
+ {
67
+ href: t.public_url,
68
+ target: "_blank",
69
+ rel: "noopener noreferrer"
70
+ },
71
+ /* @__PURE__ */ e.createElement(
72
+ "img",
73
+ {
74
+ src: t.public_url,
75
+ alt: r.name,
76
+ className: "object-cover w-full h-32 rounded-md hover:opacity-90"
77
+ }
78
+ )
79
+ ));
80
+ }
81
+ case a.SINGLE_VIDEO_PICKER: {
82
+ const t = n;
83
+ return /* @__PURE__ */ e.createElement("div", { className: "mt-1" }, /* @__PURE__ */ e.createElement(
84
+ "video",
85
+ {
86
+ src: t.public_url,
87
+ controls: !0,
88
+ className: "w-full h-32 rounded-md"
89
+ },
90
+ /* @__PURE__ */ e.createElement(
91
+ "track",
92
+ {
93
+ kind: "captions",
94
+ label: "English captions",
95
+ srcLang: "en",
96
+ src: "",
97
+ default: !0
98
+ }
99
+ )
100
+ ));
101
+ }
102
+ case a.MULTI_IMAGE_PICKER: {
103
+ const t = n;
104
+ return /* @__PURE__ */ e.createElement("div", { className: "grid grid-cols-1 gap-2 mt-1 sm:grid-cols-3 md:grid-cols-4" }, t.map((c, l) => /* @__PURE__ */ e.createElement(
105
+ "a",
106
+ {
107
+ key: l,
108
+ href: c.public_url,
109
+ target: "_blank",
110
+ rel: "noopener noreferrer"
111
+ },
112
+ /* @__PURE__ */ e.createElement(
113
+ "img",
114
+ {
115
+ src: c.public_url,
116
+ alt: r.name,
117
+ className: "object-cover w-full h-32 rounded-md hover:opacity-90"
118
+ }
119
+ )
120
+ )));
121
+ }
122
+ case a.MULTI_VIDEO_PICKER: {
123
+ const t = n;
124
+ return /* @__PURE__ */ e.createElement("div", { className: "grid grid-cols-1 gap-4 mt-1 sm:grid-cols-2" }, t.map((c, l) => /* @__PURE__ */ e.createElement("div", { key: l, className: "flex flex-col" }, /* @__PURE__ */ e.createElement(
125
+ "video",
126
+ {
127
+ src: c.public_url,
128
+ controls: !0,
129
+ className: "h-32 rounded-md"
130
+ },
131
+ /* @__PURE__ */ e.createElement(
132
+ "track",
133
+ {
134
+ kind: "captions",
135
+ label: "English captions",
136
+ srcLang: "en",
137
+ src: "",
138
+ default: !0
139
+ }
140
+ )
141
+ ))));
142
+ }
143
+ case a.TAGGABLE_MULTI_IMAGE_PICKER:
144
+ case a.TAGGABLE_MULTI_IMAGE_PICKER_WITH_INPUT: {
145
+ const t = n;
146
+ return /* @__PURE__ */ e.createElement("div", { className: "grid grid-cols-1 gap-2 mt-1 sm:grid-cols-3 md:grid-cols-4" }, t.map((c, l) => /* @__PURE__ */ e.createElement("div", { key: l, className: "relative" }, /* @__PURE__ */ e.createElement(
147
+ "a",
148
+ {
149
+ key: l,
150
+ href: c.public_url,
151
+ target: "_blank",
152
+ rel: "noopener noreferrer"
153
+ },
154
+ /* @__PURE__ */ e.createElement(
155
+ "img",
156
+ {
157
+ src: c.public_url,
158
+ alt: r.name,
159
+ className: "object-cover w-full h-32 rounded-md hover:opacity-90"
160
+ }
161
+ )
162
+ ), /* @__PURE__ */ e.createElement(
163
+ b,
164
+ {
165
+ className: "absolute bottom-2 right-2 ",
166
+ variant: "select"
167
+ },
168
+ c.tag && c.tag.length > 8 ? `${c.tag.substring(0, 8)}...` : c.tag
169
+ ))));
170
+ }
171
+ default:
172
+ return /* @__PURE__ */ e.createElement(s, { variant: "body2", className: "text-light-4" }, "Unsupported field type");
173
+ }
174
+ }, g = (r) => /* @__PURE__ */ e.createElement(s, { variant: "body1", className: "mb-1 text-light-3" }, r.name, r.required && /* @__PURE__ */ e.createElement("span", { className: "text-danger-1" }, "*"));
175
+ return /* @__PURE__ */ e.createElement("div", { className: "" }, u.steps.map((r) => /* @__PURE__ */ e.createElement(
176
+ I,
177
+ {
178
+ key: r.id,
179
+ trigger: /* @__PURE__ */ e.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ e.createElement(s, { variant: "h3", className: "text-light-2" }, r.name)),
180
+ triggerProps: { className: "mt-4 " },
181
+ contentProps: { className: "mt-4 p-2 bg-light-2 rounded" },
182
+ content: r.sections.map((n) => /* @__PURE__ */ e.createElement("div", { key: n.id, className: "mb-4" }, /* @__PURE__ */ e.createElement(s, { variant: "h3", className: "mb-2 text-light-2" }, n.name), /* @__PURE__ */ e.createElement("div", { className: "flex flex-col gap-3" }, n.fields.map((t) => /* @__PURE__ */ e.createElement("div", { key: t.id, className: "last:border-b-0" }, g(t), E(t, o[t.id]))))))
183
+ }
184
+ )));
9
185
  };
10
186
  export {
11
- o as FormStructureContext,
12
- n as useFormStructure
187
+ x as FormReadOnlyView
13
188
  };
14
189
  //# sourceMappingURL=index.es129.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es129.js","sources":["../src/components/ui/form-renderer/context/form-structure/form-structure.context.ts"],"sourcesContent":["// contexts/FormStructureContext.tsx\nimport { createContext, useContext } from 'react'\nimport { FormStructure, FormStep } from '../../form.types'\n\ninterface FormStructureContextType {\n structure: FormStructure\n currentStepIndex: number\n currentStep: FormStep\n goToNextStep: () => void\n goToPreviousStep: () => void\n goToStep: (stepIndex: number) => void\n isFirstStep: boolean\n isLastStep: boolean\n totalSteps: number\n}\n\nexport const FormStructureContext =\n createContext<FormStructureContextType | null>(null)\n\nexport const useFormStructure = () => {\n const context = useContext(FormStructureContext)\n if (!context) {\n throw new Error(\n 'useFormStructure must be used within a FormStructureProvider'\n )\n }\n return context\n}\n"],"names":["FormStructureContext","createContext","useFormStructure","context","useContext"],"mappings":";AAgBO,MAAMA,IACXC,EAA+C,IAAI,GAExCC,IAAmB,MAAM;AACpC,QAAMC,IAAUC,EAAWJ,CAAoB;AAC/C,MAAI,CAACG;AACH,UAAM,IAAI;AAAA,MACR;AAAA,IAAA;AAGJ,SAAOA;AACT;"}
1
+ {"version":3,"file":"index.es129.js","sources":["../src/components/ui/form-renderer/components/form-read-only-view.tsx"],"sourcesContent":["// components/form-readonly-view.tsx\nimport React, { ReactNode } from 'react'\nimport {\n FormStructure,\n FormValues,\n FormField,\n FormFieldValue,\n AssetValue,\n TaggableAssetValue,\n RadioGroupWithInputFieldValue,\n} from './../form.types'\nimport { Typography } from '@/components/atoms/typography'\nimport { Checkbox } from '@radix-ui/react-checkbox'\nimport { Accordion } from '@/components/atoms/accordion'\nimport { Badge } from '@/components/atoms/badge'\n\nimport { FormFieldType } from '../form.enums'\n\ninterface FormReadOnlyViewProps {\n structure: FormStructure\n values: FormValues\n}\n\nexport const FormReadOnlyView: React.FC<FormReadOnlyViewProps> = ({\n structure,\n values,\n}) => {\n // Helper function to render field value based on type\n const renderFieldValue = (\n field: FormField,\n value: FormFieldValue\n ): ReactNode => {\n // Special handling for repeatable groups, Since values[field.id] wont exist for repeatable groups\n\n if (field.type === FormFieldType.REPEATABLE_GROUP_FIELD) {\n const prefix = `${field.id}||`\n const entryIndices = new Set<number>()\n\n // Extract unique entry indices from the keys present in `values`\n Object.keys(values).forEach((key) => {\n if (key.startsWith(prefix)) {\n // Regex to capture the index part: field.id||INDEX||subfield.id\n // Assuming field.id does not contain characters that need escaping for RegExp\n const match = key.match(new RegExp(`^${field.id}\\\\|\\\\|(\\\\d+)\\\\|\\\\|`))\n if (match && match[1]) {\n entryIndices.add(parseInt(match[1]))\n }\n }\n })\n\n // Sort indices numerically\n const sortedIndices = Array.from(entryIndices).sort((a, b) => a - b)\n\n if (sortedIndices.length === 0) {\n return [] // No entries to render\n }\n\n // Use flatMap to iterate through each entry index, then each sub-field template,\n // and flatten the results into a single array of React elements.\n return sortedIndices.flatMap((entryIndex) => {\n // For each entry, map over its defined sub-fields from the field's options\n return field.options.map((subFieldTemplate) => {\n // Construct the unique key for this specific instance of the sub-field\n const instanceKey = `${field.id}||${entryIndex}||${subFieldTemplate.id}`\n const value = values[instanceKey] // Get the value for this specific instance\n\n // Create a new field object for this instance,\n // using the subFieldTemplate and overriding its 'id' with the unique instanceKey.\n const instanceSpecificSubField: FormField = {\n ...subFieldTemplate,\n id: instanceKey,\n }\n\n return (\n <React.Fragment key={instanceKey}>\n {renderQuestionLabel(instanceSpecificSubField)}\n {renderFieldValue(instanceSpecificSubField, value)}\n </React.Fragment>\n )\n })\n })\n }\n\n if (value === undefined || value === null || value === '') {\n return (\n <Typography variant=\"body2\" className=\"text-light-4\">\n Not answered\n </Typography>\n )\n }\n\n switch (field.type) {\n case FormFieldType.SHORT_TEXT:\n case FormFieldType.LONG_TEXT:\n case FormFieldType.EMAIL:\n case FormFieldType.NUMBER:\n case FormFieldType.MOBILE_NUMBER:\n case FormFieldType.SINGLE_VIDEO_PICKER_WITH_INPUT:\n return (\n <Typography variant=\"body2\" className=\"text-light-1\">\n {value as string}\n </Typography>\n )\n\n case FormFieldType.DATE_PICKER:\n return (\n <Typography variant=\"body2\" className=\"text-light-1\">\n {new Date((value as number) * 1000).toLocaleDateString()}\n </Typography>\n )\n\n case FormFieldType.SINGLE_COMBOBOX:\n case FormFieldType.RADIO_GROUP:\n return (\n <Typography variant=\"body2\" className=\"text-light-1\">\n {value as string}\n </Typography>\n )\n\n case FormFieldType.CHECKBOX_GROUP: {\n const value = values[field.id] as string\n return (\n <div className=\"flex flex-col gap-2\">\n {field.options.map((option) => {\n return (\n <div key={option} className=\"flex items-center space-x-2\">\n <Checkbox\n disabled\n id={option}\n checked={value?.split(',').includes(option)}\n />\n <Typography variant=\"body1\" className=\"text-light-4\">\n {option}\n </Typography>\n </div>\n )\n })}\n </div>\n )\n }\n case FormFieldType.MULTI_COMBOBOX:\n case FormFieldType.CREATABLE_MULTI_COMBOBOX:\n return (\n <Typography variant=\"body2\" className=\"text-light-1\">\n {typeof value === 'string' ? value.split(',').join(', ') : null}\n </Typography>\n )\n\n case FormFieldType.RADIO_GROUP_WITH_OPTIONAL_INPUT: {\n const radioValue = value as RadioGroupWithInputFieldValue\n return (\n <Typography variant=\"body2\" className=\"text-light-1\">\n {radioValue.radio_value}\n {radioValue.input_value &&\n radioValue.radio_value === field.inputTriggerOptionValue &&\n `: ${radioValue.input_value}`}\n </Typography>\n )\n }\n\n // For single image/video uploads\n case FormFieldType.SINGLE_IMAGE_PICKER: {\n const asset = value as AssetValue\n return (\n <div className=\"mt-1\">\n <a\n href={asset.public_url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <img\n src={asset.public_url}\n alt={field.name}\n className=\"object-cover w-full h-32 rounded-md hover:opacity-90\"\n />\n </a>\n </div>\n )\n }\n\n case FormFieldType.SINGLE_VIDEO_PICKER: {\n const asset = value as AssetValue\n return (\n <div className=\"mt-1\">\n <video\n src={asset.public_url}\n controls\n className=\"w-full h-32 rounded-md\"\n >\n <track\n kind=\"captions\"\n label=\"English captions\"\n srcLang=\"en\"\n src=\"\"\n default\n />\n </video>\n </div>\n )\n }\n\n case FormFieldType.MULTI_IMAGE_PICKER: {\n const assets = value as AssetValue[]\n return (\n <div className=\"grid grid-cols-1 gap-2 mt-1 sm:grid-cols-3 md:grid-cols-4\">\n {assets.map((asset, index) => (\n <a\n key={index}\n href={asset.public_url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <img\n src={asset.public_url}\n alt={field.name}\n className=\"object-cover w-full h-32 rounded-md hover:opacity-90\"\n />\n </a>\n ))}\n </div>\n )\n }\n\n case FormFieldType.MULTI_VIDEO_PICKER: {\n const assets = value as AssetValue[]\n return (\n <div className=\"grid grid-cols-1 gap-4 mt-1 sm:grid-cols-2\">\n {assets.map((asset, index) => (\n <div key={index} className=\"flex flex-col\">\n <video\n src={asset.public_url}\n controls\n className=\"h-32 rounded-md\"\n >\n <track\n kind=\"captions\"\n label=\"English captions\"\n srcLang=\"en\"\n src=\"\"\n default\n />\n </video>\n </div>\n ))}\n </div>\n )\n }\n\n case FormFieldType.TAGGABLE_MULTI_IMAGE_PICKER:\n case FormFieldType.TAGGABLE_MULTI_IMAGE_PICKER_WITH_INPUT: {\n const taggedAssets = value as TaggableAssetValue[]\n return (\n <div className=\"grid grid-cols-1 gap-2 mt-1 sm:grid-cols-3 md:grid-cols-4\">\n {taggedAssets.map((asset, index) => (\n <div key={index} className=\"relative\">\n <a\n key={index}\n href={asset.public_url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <img\n src={asset.public_url}\n alt={field.name}\n className=\"object-cover w-full h-32 rounded-md hover:opacity-90\"\n />\n </a>\n <Badge\n className=\"absolute bottom-2 right-2 \"\n variant={'select'}\n >\n {asset.tag && asset.tag.length > 8\n ? `${asset.tag.substring(0, 8)}...`\n : asset.tag}\n </Badge>\n </div>\n ))}\n </div>\n )\n }\n\n default:\n return (\n <Typography variant=\"body2\" className=\"text-light-4\">\n Unsupported field type\n </Typography>\n )\n }\n }\n\n const renderQuestionLabel = (field: FormField): ReactNode => {\n return (\n <Typography variant=\"body1\" className=\"mb-1 text-light-3\">\n {field.name}\n {field.required && <span className=\"text-danger-1\">*</span>}\n </Typography>\n )\n }\n\n return (\n <div className=\"\">\n {structure.steps.map((step) => (\n <Accordion\n key={step.id}\n trigger={\n <div className=\"flex items-center gap-2\">\n <Typography variant=\"h3\" className=\"text-light-2\">\n {step.name}\n </Typography>\n </div>\n }\n triggerProps={{ className: 'mt-4 ' }}\n contentProps={{ className: 'mt-4 p-2 bg-light-2 rounded' }}\n content={step.sections.map((section) => (\n <div key={section.id} className=\"mb-4\">\n <Typography variant=\"h3\" className=\"mb-2 text-light-2\">\n {section.name}\n </Typography>\n\n <div className=\"flex flex-col gap-3\">\n {section.fields.map((field) => (\n <div key={field.id} className=\"last:border-b-0\">\n {renderQuestionLabel(field)}\n {renderFieldValue(field, values[field.id])}\n </div>\n ))}\n </div>\n </div>\n ))}\n />\n ))}\n </div>\n )\n}\n"],"names":["FormReadOnlyView","structure","values","renderFieldValue","field","value","FormFieldType","prefix","entryIndices","key","match","sortedIndices","a","b","entryIndex","subFieldTemplate","instanceKey","instanceSpecificSubField","React","renderQuestionLabel","Typography","option","Checkbox","radioValue","asset","assets","index","taggedAssets","Badge","step","Accordion","section"],"mappings":"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"}
@@ -1,22 +1,30 @@
1
- import * as t from "react";
2
- import * as r from "@radix-ui/react-switch";
3
- import { cn as a } from "./index.es81.js";
4
- import { SwitchVariants as o, SwitchThumbVariants as n } from "./index.es76.js";
5
- const h = t.forwardRef((m, i) => {
6
- const { className: s, size: e, ...c } = m;
7
- return /* @__PURE__ */ t.createElement(
8
- r.Root,
9
- {
10
- className: a(o({ size: e }), s),
11
- ...c,
12
- ref: i
13
- },
14
- /* @__PURE__ */ t.createElement(r.Thumb, { className: a(n({ size: e })) })
15
- );
16
- });
17
- h.displayName = "Switch";
1
+ import * as e from "react";
2
+ import * as a from "@radix-ui/react-radio-group";
3
+ import { cn as d } from "./index.es89.js";
4
+ import { RadioGroupVariants as i } from "./index.es79.js";
5
+ const m = e.forwardRef(({ className: r, ...t }, o) => /* @__PURE__ */ e.createElement(
6
+ a.Root,
7
+ {
8
+ className: d("grid gap-2", r),
9
+ ...t,
10
+ ref: o
11
+ }
12
+ ));
13
+ m.displayName = a.Root.displayName;
14
+ const c = e.forwardRef(({ className: r, ...t }, o) => /* @__PURE__ */ e.createElement(
15
+ a.Item,
16
+ {
17
+ ref: o,
18
+ className: d(i({ className: r })),
19
+ ...t
20
+ },
21
+ t.children,
22
+ /* @__PURE__ */ e.createElement(a.Indicator, { className: "flex data=[state=unchecked]:hover:bg-primary-1 data-[state=checked]:bg-rest-p1 data-[state=checked]:hover:bg-hover-p1 h-2.5 w-2.5 rounded-full t-7 l-y disabled:opacity-50 items-center justify-center border-none" })
23
+ ));
24
+ c.displayName = a.Item.displayName;
18
25
  export {
19
- h as Switch,
20
- o as SwitchVariants
26
+ m as RadioGroup,
27
+ c as RadioGroupItem,
28
+ i as RadioGroupVariants
21
29
  };
22
30
  //# sourceMappingURL=index.es13.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es13.js","sources":["../src/components/atoms/switch/switch.tsx"],"sourcesContent":["'use client'\nimport * as React from 'react'\nimport * as SwitchPrimitives from '@radix-ui/react-switch'\nimport { cn } from '@/lib/utils'\nimport { SwitchThumbVariants, SwitchVariants } from './switch.styles'\nimport { SwitchProps } from './switch.types'\n\nconst Switch = React.forwardRef<\n React.ElementRef<typeof SwitchPrimitives.Root>,\n React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root> & SwitchProps\n>((props, ref) => {\n const { className, size, ...rest } = props\n\n return (\n <SwitchPrimitives.Root\n className={cn(SwitchVariants({ size }), className)}\n {...rest}\n ref={ref}\n >\n <SwitchPrimitives.Thumb className={cn(SwitchThumbVariants({ size }))} />\n </SwitchPrimitives.Root>\n )\n})\n\nSwitch.displayName = 'Switch'\n\nexport { Switch, SwitchVariants }\n"],"names":["Switch","React","props","ref","className","size","rest","SwitchPrimitives","cn","SwitchVariants","SwitchThumbVariants"],"mappings":";;;;AAOA,MAAMA,IAASC,EAAM,WAGnB,CAACC,GAAOC,MAAQ;AAChB,QAAM,EAAE,WAAAC,GAAW,MAAAC,GAAM,GAAGC,MAASJ;AAErC,SACE,gBAAAD,EAAA;AAAA,IAACM,EAAiB;AAAA,IAAjB;AAAA,MACC,WAAWC,EAAGC,EAAe,EAAE,MAAAJ,EAAA,CAAM,GAAGD,CAAS;AAAA,MAChD,GAAGE;AAAA,MACJ,KAAAH;AAAA,IAAA;AAAA,IAEA,gBAAAF,EAAA,cAACM,EAAiB,OAAjB,EAAuB,WAAWC,EAAGE,EAAoB,EAAE,MAAAL,EAAA,CAAM,CAAC,EAAA,CAAG;AAAA,EAAA;AAG5E,CAAC;AAEDL,EAAO,cAAc;"}
1
+ {"version":3,"file":"index.es13.js","sources":["../src/components/atoms/radio-group/radio-group.tsx"],"sourcesContent":["'use client'\nimport * as React from 'react'\nimport * as RadioGroupPrimitive from '@radix-ui/react-radio-group'\n\nimport { cn } from '@/lib/utils'\nimport { RadioGroupVariants } from './radio-group-style'\nconst RadioGroup = React.forwardRef<\n React.ElementRef<typeof RadioGroupPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root>\n>(({ className, ...props }, ref) => {\n return (\n <RadioGroupPrimitive.Root\n className={cn('grid gap-2', className)}\n {...props}\n ref={ref}\n />\n )\n})\n\nRadioGroup.displayName = RadioGroupPrimitive.Root.displayName\n\nconst RadioGroupItem = React.forwardRef<\n React.ElementRef<typeof RadioGroupPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item>\n>(({ className, ...props }, ref) => {\n return (\n <RadioGroupPrimitive.Item\n ref={ref}\n className={cn(RadioGroupVariants({ className }))}\n {...props}\n >\n {props.children}\n <RadioGroupPrimitive.Indicator className=\"flex data=[state=unchecked]:hover:bg-primary-1 data-[state=checked]:bg-rest-p1 data-[state=checked]:hover:bg-hover-p1 h-2.5 w-2.5 rounded-full t-7 l-y disabled:opacity-50 items-center justify-center border-none\"></RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n )\n})\nRadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName\n\nexport { RadioGroup, RadioGroupItem, RadioGroupVariants }\n"],"names":["RadioGroup","React","className","props","ref","RadioGroupPrimitive","cn","RadioGroupItem","RadioGroupVariants"],"mappings":";;;;AAMA,MAAMA,IAAaC,EAAM,WAGvB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAExB,gBAAAH,EAAA;AAAA,EAACI,EAAoB;AAAA,EAApB;AAAA,IACC,WAAWC,EAAG,cAAcJ,CAAS;AAAA,IACpC,GAAGC;AAAA,IACJ,KAAAC;AAAA,EAAA;AAAA,CAGL;AAEDJ,EAAW,cAAcK,EAAoB,KAAK;AAElD,MAAME,IAAiBN,EAAM,WAG3B,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAExB,gBAAAH,EAAA;AAAA,EAACI,EAAoB;AAAA,EAApB;AAAA,IACC,KAAAD;AAAA,IACA,WAAWE,EAAGE,EAAmB,EAAE,WAAAN,EAAA,CAAW,CAAC;AAAA,IAC9C,GAAGC;AAAA,EAAA;AAAA,EAEHA,EAAM;AAAA,EACP,gBAAAF,EAAA,cAACI,EAAoB,WAApB,EAA8B,WAAU,sNAAA,CAAsN;AAAA,CAGpQ;AACDE,EAAe,cAAcF,EAAoB,KAAK;"}
@@ -1,14 +1,26 @@
1
- import { createContext as t, useContext as o } from "react";
2
- const r = t(
3
- null
4
- ), n = () => {
5
- const e = o(r);
6
- if (!e)
7
- throw new Error("useFormValues must be used within a FormValuesProvider");
8
- return e;
1
+ import l, { useState as a } from "react";
2
+ import { FormStructureContext as c } from "./index.es159.js";
3
+ const f = ({ children: n, structure: e }) => {
4
+ const [t, o] = a(0), r = () => {
5
+ t < e.steps.length - 1 && o(t + 1);
6
+ }, p = () => {
7
+ t > 0 && o(t - 1);
8
+ }, S = (s) => {
9
+ s >= 0 && s < e.steps.length && o(s);
10
+ }, i = {
11
+ structure: e,
12
+ currentStepIndex: t,
13
+ currentStep: e.steps[t],
14
+ goToNextStep: r,
15
+ goToPreviousStep: p,
16
+ goToStep: S,
17
+ isFirstStep: t === 0,
18
+ isLastStep: t === e.steps.length - 1,
19
+ totalSteps: e.steps.length
20
+ };
21
+ return /* @__PURE__ */ l.createElement(c.Provider, { value: i }, n);
9
22
  };
10
23
  export {
11
- r as FormValuesContext,
12
- n as useFormValues
24
+ f as FormStructureProvider
13
25
  };
14
26
  //# sourceMappingURL=index.es130.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es130.js","sources":["../src/components/ui/form-renderer/context/form-values/form-values.context.ts"],"sourcesContent":["// contexts/FormValuesContext.tsx\nimport { createContext, useContext } from 'react'\nimport {\n AssetValue,\n FormField,\n FormFieldValue,\n FormStep,\n FormValues,\n onToggleImageEditor,\n} from '../../form.types'\n\ninterface FormValuesContextType {\n values: FormValues\n errors: Record<string, string>\n setValue: (fieldId: string, value: FormFieldValue) => void\n setFormValues: (formValues: FormValues) => void\n validateField: (field: FormField) => {\n isValid: boolean\n errorMessage: string\n }\n validateStep: (step: FormStep) => {\n isStepValid: boolean\n errors: Record<string, string>\n }\n submitForm: () => void\n onAssetUpload?: (file: File) => Promise<AssetValue>\n onToggleImageEditor?: onToggleImageEditor\n}\n\nexport const FormValuesContext = createContext<FormValuesContextType | null>(\n null\n)\n\nexport const useFormValues = () => {\n const context = useContext(FormValuesContext)\n if (!context) {\n throw new Error('useFormValues must be used within a FormValuesProvider')\n }\n return context\n}\n"],"names":["FormValuesContext","createContext","useFormValues","context","useContext"],"mappings":";AA6BO,MAAMA,IAAoBC;AAAA,EAC/B;AACF,GAEaC,IAAgB,MAAM;AACjC,QAAMC,IAAUC,EAAWJ,CAAiB;AAC5C,MAAI,CAACG;AACH,UAAM,IAAI,MAAM,wDAAwD;AAE1E,SAAOA;AACT;"}
1
+ {"version":3,"file":"index.es130.js","sources":["../src/components/ui/form-renderer/context/form-structure/form-structure.provider.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { FormStructureContext } from './form-structure.context'\nimport { FormStructure } from '../../form.types'\n\nexport const FormStructureProvider: React.FC<{\n children: React.ReactNode\n structure: FormStructure\n}> = ({ children, structure }) => {\n const [currentStepIndex, setCurrentStepIndex] = useState(0)\n\n const goToNextStep = () => {\n if (currentStepIndex < structure.steps.length - 1) {\n setCurrentStepIndex(currentStepIndex + 1)\n }\n }\n\n const goToPreviousStep = () => {\n if (currentStepIndex > 0) {\n setCurrentStepIndex(currentStepIndex - 1)\n }\n }\n\n const goToStep = (stepIndex: number) => {\n if (stepIndex >= 0 && stepIndex < structure.steps.length) {\n setCurrentStepIndex(stepIndex)\n }\n }\n\n const value = {\n structure,\n currentStepIndex,\n currentStep: structure.steps[currentStepIndex],\n goToNextStep,\n goToPreviousStep,\n goToStep,\n isFirstStep: currentStepIndex === 0,\n isLastStep: currentStepIndex === structure.steps.length - 1,\n totalSteps: structure.steps.length,\n }\n\n return (\n <FormStructureContext.Provider value={value}>\n {children}\n </FormStructureContext.Provider>\n )\n}\n"],"names":["FormStructureProvider","children","structure","currentStepIndex","setCurrentStepIndex","useState","goToNextStep","goToPreviousStep","goToStep","stepIndex","value","React","FormStructureContext"],"mappings":";;AAIO,MAAMA,IAGR,CAAC,EAAE,UAAAC,GAAU,WAAAC,QAAgB;AAChC,QAAM,CAACC,GAAkBC,CAAmB,IAAIC,EAAS,CAAC,GAEpDC,IAAe,MAAM;AACzB,IAAIH,IAAmBD,EAAU,MAAM,SAAS,KAC9CE,EAAoBD,IAAmB,CAAC;AAAA,EAE5C,GAEMI,IAAmB,MAAM;AAC7B,IAAIJ,IAAmB,KACrBC,EAAoBD,IAAmB,CAAC;AAAA,EAE5C,GAEMK,IAAW,CAACC,MAAsB;AACtC,IAAIA,KAAa,KAAKA,IAAYP,EAAU,MAAM,UAChDE,EAAoBK,CAAS;AAAA,EAEjC,GAEMC,IAAQ;AAAA,IACZ,WAAAR;AAAA,IACA,kBAAAC;AAAA,IACA,aAAaD,EAAU,MAAMC,CAAgB;AAAA,IAC7C,cAAAG;AAAA,IACA,kBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,aAAaL,MAAqB;AAAA,IAClC,YAAYA,MAAqBD,EAAU,MAAM,SAAS;AAAA,IAC1D,YAAYA,EAAU,MAAM;AAAA,EAAA;AAG9B,SACES,gBAAAA,EAAA,cAACC,EAAqB,UAArB,EAA8B,OAAAF,KAC5BT,CACH;AAEJ;"}
@@ -1,5 +1,206 @@
1
- var _ = /* @__PURE__ */ ((I) => (I.SHORT_TEXT = "short-text", I.EMAIL = "email", I.LONG_TEXT = "long-text", I.NUMBER = "number", I.MOBILE_NUMBER = "mobile-number", I.DATE_PICKER = "date-picker", I.SINGLE_COMBOBOX = "single-combobox", I.MULTI_COMBOBOX = "multi-combobox", I.RADIO_GROUP = "radio-group", I.RADIO_GROUP_WITH_OPTIONAL_INPUT = "radio-group-with-optional-input", I.CHECKBOX_GROUP = "checkbox-group", I.SINGLE_IMAGE_PICKER = "single-image-picker", I.MULTI_IMAGE_PICKER = "multi-image-picker", I.TAGGABLE_MULTI_IMAGE_PICKER = "taggable-multi-image-picker", I.SINGLE_VIDEO_PICKER = "single-video-picker", I.MULTI_VIDEO_PICKER = "multi-video-picker", I.SINGLE_VIDEO_PICKER_WITH_INPUT = "single-video-picker-with-input", I.TAGGABLE_MULTI_IMAGE_PICKER_WITH_INPUT = "taggable-multi-image-picker-with-input", I.REPEATABLE_GROUP_FIELD = "repeatable-group-field", I))(_ || {});
1
+ import G, { useState as E } from "react";
2
+ import { FormValuesContext as L } from "./index.es160.js";
3
+ import { FormFieldType as r } from "./index.es161.js";
4
+ const B = ({
5
+ children: I,
6
+ initialValues: m = {},
7
+ onSubmit: c,
8
+ onAssetUpload: p,
9
+ onToggleImageEditor: T,
10
+ getRequestHeaders: V,
11
+ getCreateOptionExtraBody: A
12
+ }) => {
13
+ const [n, f] = E(m), [M, P] = E({}), b = (s, e) => {
14
+ f((a) => ({ ...a, [s]: e })), M[s] && P((a) => {
15
+ const t = { ...a };
16
+ return delete t[s], t;
17
+ });
18
+ }, O = (s) => {
19
+ f(() => s);
20
+ }, u = (s) => {
21
+ if (s.type === r.REPEATABLE_GROUP_FIELD) {
22
+ const a = `${s.id}||`, t = Object.keys(n).filter((i) => i.startsWith(a));
23
+ if (t.length === 0)
24
+ return { isValid: !1, errorMessage: "This field is required" };
25
+ for (const i of t) {
26
+ const o = { ...s.options.find(
27
+ (g) => g.id === i.split("||")[2]
28
+ ), id: i }, { isValid: d, errorMessage: _ } = u(
29
+ o
30
+ );
31
+ if (!d)
32
+ return { isValid: !1, errorMessage: _ };
33
+ }
34
+ return { isValid: !0, errorMessage: "" };
35
+ }
36
+ const e = n[s.id];
37
+ if (s.required && e == null)
38
+ return { isValid: !1, errorMessage: "This field is required" };
39
+ if (!s.required && (e == null || e === ""))
40
+ return { isValid: !0, errorMessage: "" };
41
+ switch (s.type) {
42
+ case r.SHORT_TEXT:
43
+ case r.LONG_TEXT:
44
+ case r.SINGLE_VIDEO_PICKER_WITH_INPUT:
45
+ if (e === "")
46
+ return { isValid: !1, errorMessage: "This field cannot be empty" };
47
+ break;
48
+ case r.EMAIL:
49
+ if (e === "")
50
+ return { isValid: !1, errorMessage: "Email is required" };
51
+ if (!/^\S+@\S+\.\S+$/.test(e))
52
+ return {
53
+ isValid: !1,
54
+ errorMessage: "Please enter a valid email address"
55
+ };
56
+ break;
57
+ case r.NUMBER:
58
+ if (e === "")
59
+ return { isValid: !1, errorMessage: "Number is required" };
60
+ if (isNaN(Number(e)))
61
+ return { isValid: !1, errorMessage: "Please enter a valid number" };
62
+ break;
63
+ case r.MOBILE_NUMBER:
64
+ if (e === "")
65
+ return { isValid: !1, errorMessage: "Mobile number is required" };
66
+ if (!/^\d{10,15}$/.test(e.replace(/\D/g, "")))
67
+ return {
68
+ isValid: !1,
69
+ errorMessage: "Please enter a valid mobile number"
70
+ };
71
+ break;
72
+ case r.DATE_PICKER:
73
+ if (!e || e === "")
74
+ return { isValid: !1, errorMessage: "Date is required" };
75
+ break;
76
+ case r.SINGLE_COMBOBOX:
77
+ if (!e || e === "")
78
+ return {
79
+ isValid: !1,
80
+ errorMessage: "Please select or enter a value"
81
+ };
82
+ break;
83
+ case r.MULTI_COMBOBOX:
84
+ if (Array.isArray(e)) {
85
+ if (e.length === 0)
86
+ return {
87
+ isValid: !1,
88
+ errorMessage: "Please select at least one option"
89
+ };
90
+ } else if (typeof e == "string" && (!e || e.split(",").filter(Boolean).length === 0))
91
+ return {
92
+ isValid: !1,
93
+ errorMessage: "Please select at least one option"
94
+ };
95
+ break;
96
+ case r.CREATABLE_MULTI_COMBOBOX: {
97
+ const a = Array.isArray(e) ? e : typeof e == "string" ? e.split(",").filter(Boolean) : [], t = s.minSelected ?? 0, i = s.maxSelected;
98
+ if (t > 0 && a.length < t)
99
+ return {
100
+ isValid: !1,
101
+ errorMessage: i != null ? `Select at least ${t} option(s) (max ${i})` : `Select at least ${t} option(s)`
102
+ };
103
+ if (i != null && a.length > i)
104
+ return {
105
+ isValid: !1,
106
+ errorMessage: `Select at most ${i} option(s)`
107
+ };
108
+ if (s.required && a.length === 0)
109
+ return {
110
+ isValid: !1,
111
+ errorMessage: "This field is required"
112
+ };
113
+ break;
114
+ }
115
+ case r.CHECKBOX_GROUP:
116
+ case r.RADIO_GROUP:
117
+ if (!e || e === "")
118
+ return { isValid: !1, errorMessage: "Please select an option" };
119
+ break;
120
+ case r.RADIO_GROUP_WITH_OPTIONAL_INPUT: {
121
+ const a = e;
122
+ if (!a || !a.radio_value)
123
+ return { isValid: !1, errorMessage: "Please select an option" };
124
+ if (a.radio_value === s.inputTriggerOptionValue && !a.input_value)
125
+ return {
126
+ isValid: !1,
127
+ errorMessage: "Please provide additional information for your selection"
128
+ };
129
+ break;
130
+ }
131
+ case r.SINGLE_IMAGE_PICKER:
132
+ if (!e || !e.public_url)
133
+ return { isValid: !1, errorMessage: "Please upload an image" };
134
+ break;
135
+ case r.SINGLE_VIDEO_PICKER:
136
+ if (!e || !e.public_url)
137
+ return { isValid: !1, errorMessage: "Please upload a video" };
138
+ break;
139
+ case r.MULTI_IMAGE_PICKER:
140
+ if (!Array.isArray(e) || e.length === 0)
141
+ return {
142
+ isValid: !1,
143
+ errorMessage: "Please upload at least one image"
144
+ };
145
+ break;
146
+ case r.MULTI_VIDEO_PICKER:
147
+ if (!Array.isArray(e) || e.length === 0)
148
+ return {
149
+ isValid: !1,
150
+ errorMessage: "Please upload at least one video"
151
+ };
152
+ break;
153
+ case r.TAGGABLE_MULTI_IMAGE_PICKER:
154
+ case r.TAGGABLE_MULTI_IMAGE_PICKER_WITH_INPUT: {
155
+ if (!Array.isArray(e) || e.length === 0)
156
+ return {
157
+ isValid: !1,
158
+ errorMessage: "Please upload at least one image"
159
+ };
160
+ if (e.some((i) => !i.tag))
161
+ return {
162
+ isValid: !1,
163
+ errorMessage: "Please add tags to all uploaded images"
164
+ };
165
+ break;
166
+ }
167
+ }
168
+ return { isValid: !0, errorMessage: "" };
169
+ }, y = {
170
+ values: n,
171
+ errors: M,
172
+ setValue: b,
173
+ setFormValues: O,
174
+ submitForm: () => {
175
+ c && c(n);
176
+ },
177
+ onAssetUpload: p,
178
+ validateField: u,
179
+ validateStep: (s) => {
180
+ let e = !0;
181
+ const a = {}, t = {};
182
+ return s.sections.forEach((i) => {
183
+ i.fields.forEach((l) => {
184
+ t[l.id] = l;
185
+ });
186
+ }), Object.entries(t).forEach(([i, l]) => {
187
+ if (l.required) {
188
+ const { isValid: o, errorMessage: d } = u(l);
189
+ o || (a[l.id] = d, e = !1);
190
+ }
191
+ if ((l.type === r.TAGGABLE_MULTI_IMAGE_PICKER || l.type === r.TAGGABLE_MULTI_IMAGE_PICKER_WITH_INPUT) && !l.required) {
192
+ const o = n[l.id];
193
+ Array.isArray(o) && o.length > 0 && o.some((g) => !g.tag) && (a[l.id] = "Please add tags to all uploaded images", e = !1);
194
+ }
195
+ }), { isStepValid: e, errors: a };
196
+ },
197
+ onToggleImageEditor: T,
198
+ getRequestHeaders: V,
199
+ getCreateOptionExtraBody: A
200
+ };
201
+ return /* @__PURE__ */ G.createElement(L.Provider, { value: y }, I);
202
+ };
2
203
  export {
3
- _ as FormFieldType
204
+ B as FormValuesProvider
4
205
  };
5
206
  //# sourceMappingURL=index.es131.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es131.js","sources":["../src/components/ui/form-renderer/form.enums.ts"],"sourcesContent":["export enum FormFieldType {\n // Text fields\n SHORT_TEXT = 'short-text',\n EMAIL = 'email',\n LONG_TEXT = 'long-text',\n // Number fields\n NUMBER = 'number',\n MOBILE_NUMBER = 'mobile-number',\n DATE_PICKER = 'date-picker',\n\n // Selection fields\n SINGLE_COMBOBOX = 'single-combobox',\n MULTI_COMBOBOX = 'multi-combobox',\n RADIO_GROUP = 'radio-group',\n RADIO_GROUP_WITH_OPTIONAL_INPUT = 'radio-group-with-optional-input',\n CHECKBOX_GROUP = 'checkbox-group',\n\n // Upload fields\n SINGLE_IMAGE_PICKER = 'single-image-picker',\n MULTI_IMAGE_PICKER = 'multi-image-picker',\n TAGGABLE_MULTI_IMAGE_PICKER = 'taggable-multi-image-picker',\n SINGLE_VIDEO_PICKER = 'single-video-picker',\n MULTI_VIDEO_PICKER = 'multi-video-picker',\n SINGLE_VIDEO_PICKER_WITH_INPUT = 'single-video-picker-with-input',\n TAGGABLE_MULTI_IMAGE_PICKER_WITH_INPUT = 'taggable-multi-image-picker-with-input',\n\n REPEATABLE_GROUP_FIELD = 'repeatable-group-field',\n}\n"],"names":["FormFieldType"],"mappings":"AAAO,IAAKA,sBAAAA,OAEVA,EAAA,aAAa,cACbA,EAAA,QAAQ,SACRA,EAAA,YAAY,aAEZA,EAAA,SAAS,UACTA,EAAA,gBAAgB,iBAChBA,EAAA,cAAc,eAGdA,EAAA,kBAAkB,mBAClBA,EAAA,iBAAiB,kBACjBA,EAAA,cAAc,eACdA,EAAA,kCAAkC,mCAClCA,EAAA,iBAAiB,kBAGjBA,EAAA,sBAAsB,uBACtBA,EAAA,qBAAqB,sBACrBA,EAAA,8BAA8B,+BAC9BA,EAAA,sBAAsB,uBACtBA,EAAA,qBAAqB,sBACrBA,EAAA,iCAAiC,kCACjCA,EAAA,yCAAyC,0CAEzCA,EAAA,yBAAyB,0BA1BfA,IAAAA,KAAA,CAAA,CAAA;"}
1
+ {"version":3,"file":"index.es131.js","sources":["../src/components/ui/form-renderer/context/form-values/form-values.provider.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport {\n AssetValue,\n FormField,\n FormFieldValue,\n FormStep,\n FormValues,\n RadioGroupWithInputFieldValue,\n TaggableAssetValue,\n onToggleImageEditor,\n} from '../../form.types'\nimport { FormValuesContext } from './form-values.context'\nimport { FormFieldType } from '../../form.enums'\n\nexport const FormValuesProvider: React.FC<{\n children: React.ReactNode\n initialValues?: FormValues\n onSubmit?: (values: FormValues) => void\n onAssetUpload?: (file: File) => Promise<AssetValue>\n onToggleImageEditor?: onToggleImageEditor\n getRequestHeaders?: () =>\n | Record<string, string>\n | Promise<Record<string, string>>\n getCreateOptionExtraBody?: () =>\n | Record<string, unknown>\n | Promise<Record<string, unknown>>\n}> = ({\n children,\n initialValues = {},\n onSubmit,\n onAssetUpload,\n onToggleImageEditor,\n getRequestHeaders,\n getCreateOptionExtraBody,\n}) => {\n const [values, setValues] = useState<FormValues>(initialValues)\n const [errors, setErrors] = useState<Record<string, string>>({})\n\n // to update field value\n const setValue = (fieldId: string, value: FormFieldValue) => {\n setValues((prev) => ({ ...prev, [fieldId]: value }))\n // Clear error when value changes\n if (errors[fieldId]) {\n setErrors((prev) => {\n const newErrors = { ...prev }\n delete newErrors[fieldId]\n return newErrors\n })\n }\n }\n\n // to update state all at once\n const setFormValues = (newValues: FormValues) => {\n setValues(() => newValues)\n }\n\n /**\n * Validates a field based on its type\n * @param field - The field object with all properties\n * @returns Object containing validation status and error message\n */\n const validateField = (\n field: FormField\n ): { isValid: boolean; errorMessage: string } => {\n // Special handling for repeatable groups, Since values[field.id] wont exist for repeatable groups\n if (field.type === FormFieldType.REPEATABLE_GROUP_FIELD) {\n const prefix = `${field.id}||`\n // find all the keys that start with the prefix inside values\n const keys = Object.keys(values).filter((key) => key.startsWith(prefix))\n\n // if there are no keys, return invalid, since the field is required\n if (keys.length === 0) {\n return { isValid: false, errorMessage: 'This field is required' }\n }\n\n // loop through all the keys and validate each field if it is required using the same function validation field\n for (const key of keys) {\n const subField = field.options.find(\n (option) => option.id === key.split('||')[2]\n )\n\n const modifiedSubField = { ...subField, id: key }\n const { isValid, errorMessage } = validateField(\n modifiedSubField as FormField\n )\n if (!isValid) {\n return { isValid: false, errorMessage }\n }\n }\n\n // if all the fields are valid, return valid\n return { isValid: true, errorMessage: '' }\n }\n\n // For normal fields, proceed with regular validation\n const value = values[field.id]\n\n // Common check for undefined/null values for all required fields\n if (field.required && (value === undefined || value === null)) {\n return { isValid: false, errorMessage: 'This field is required' }\n }\n\n // If not required and no value, it's valid\n if (\n !field.required &&\n (value === undefined || value === null || value === '')\n ) {\n return { isValid: true, errorMessage: '' }\n }\n\n // Type-specific validation\n switch (field.type) {\n // Text fields\n case FormFieldType.SHORT_TEXT:\n case FormFieldType.LONG_TEXT:\n case FormFieldType.SINGLE_VIDEO_PICKER_WITH_INPUT:\n if (value === '') {\n return { isValid: false, errorMessage: 'This field cannot be empty' }\n }\n break\n\n case FormFieldType.EMAIL:\n if (value === '') {\n return { isValid: false, errorMessage: 'Email is required' }\n }\n // Basic email validation regex\n if (!/^\\S+@\\S+\\.\\S+$/.test(value as string)) {\n return {\n isValid: false,\n errorMessage: 'Please enter a valid email address',\n }\n }\n break\n\n // Number fields\n case FormFieldType.NUMBER:\n if (value === '') {\n return { isValid: false, errorMessage: 'Number is required' }\n }\n // Check if it's actually a number\n if (isNaN(Number(value))) {\n return { isValid: false, errorMessage: 'Please enter a valid number' }\n }\n break\n\n case FormFieldType.MOBILE_NUMBER:\n if (value === '') {\n return { isValid: false, errorMessage: 'Mobile number is required' }\n }\n // Mobile number validation\n if (!/^\\d{10,15}$/.test((value as string).replace(/\\D/g, ''))) {\n return {\n isValid: false,\n errorMessage: 'Please enter a valid mobile number',\n }\n }\n break\n\n case FormFieldType.DATE_PICKER:\n if (!value || value === '') {\n return { isValid: false, errorMessage: 'Date is required' }\n }\n break\n\n // Selection fields\n case FormFieldType.SINGLE_COMBOBOX:\n if (!value || value === '') {\n return {\n isValid: false,\n errorMessage: 'Please select or enter a value',\n }\n }\n break\n\n case FormFieldType.MULTI_COMBOBOX:\n // Could be array or comma-separated string depending on implementation\n if (Array.isArray(value)) {\n if (value.length === 0) {\n return {\n isValid: false,\n errorMessage: 'Please select at least one option',\n }\n }\n } else if (typeof value === 'string') {\n if (!value || value.split(',').filter(Boolean).length === 0) {\n return {\n isValid: false,\n errorMessage: 'Please select at least one option',\n }\n }\n }\n break\n\n case FormFieldType.CREATABLE_MULTI_COMBOBOX: {\n const arr = Array.isArray(value)\n ? value\n : typeof value === 'string'\n ? value.split(',').filter(Boolean)\n : []\n const minSelected = field.minSelected ?? 0\n const maxSelected = field.maxSelected\n if (minSelected > 0 && arr.length < minSelected) {\n return {\n isValid: false,\n errorMessage:\n maxSelected != null\n ? `Select at least ${minSelected} option(s) (max ${maxSelected})`\n : `Select at least ${minSelected} option(s)`,\n }\n }\n if (maxSelected != null && arr.length > maxSelected) {\n return {\n isValid: false,\n errorMessage: `Select at most ${maxSelected} option(s)`,\n }\n }\n if (field.required && arr.length === 0) {\n return {\n isValid: false,\n errorMessage: 'This field is required',\n }\n }\n break\n }\n\n case FormFieldType.CHECKBOX_GROUP:\n case FormFieldType.RADIO_GROUP:\n if (!value || value === '') {\n return { isValid: false, errorMessage: 'Please select an option' }\n }\n break\n\n case FormFieldType.RADIO_GROUP_WITH_OPTIONAL_INPUT: {\n const radioValue = value as RadioGroupWithInputFieldValue\n if (!radioValue || !radioValue.radio_value) {\n return { isValid: false, errorMessage: 'Please select an option' }\n }\n\n // If \"Other\" option is selected, check if input is provided\n if (\n radioValue.radio_value === field.inputTriggerOptionValue &&\n !radioValue.input_value\n ) {\n return {\n isValid: false,\n errorMessage:\n 'Please provide additional information for your selection',\n }\n }\n break\n }\n\n // Media upload fields\n case FormFieldType.SINGLE_IMAGE_PICKER:\n if (!value || !(value as AssetValue).public_url) {\n return { isValid: false, errorMessage: 'Please upload an image' }\n }\n break\n\n case FormFieldType.SINGLE_VIDEO_PICKER:\n if (!value || !(value as AssetValue).public_url) {\n return { isValid: false, errorMessage: 'Please upload a video' }\n }\n break\n\n case FormFieldType.MULTI_IMAGE_PICKER:\n if (!Array.isArray(value) || value.length === 0) {\n return {\n isValid: false,\n errorMessage: 'Please upload at least one image',\n }\n }\n break\n\n case FormFieldType.MULTI_VIDEO_PICKER:\n if (!Array.isArray(value) || value.length === 0) {\n return {\n isValid: false,\n errorMessage: 'Please upload at least one video',\n }\n }\n break\n\n case FormFieldType.TAGGABLE_MULTI_IMAGE_PICKER:\n case FormFieldType.TAGGABLE_MULTI_IMAGE_PICKER_WITH_INPUT: {\n if (!Array.isArray(value) || value.length === 0) {\n return {\n isValid: false,\n errorMessage: 'Please upload at least one image',\n }\n }\n\n // Check if all uploaded images have tags assigned\n const taggedAssets = value as TaggableAssetValue[]\n const missingTags = taggedAssets.some((asset) => !asset.tag)\n if (missingTags) {\n return {\n isValid: false,\n errorMessage: 'Please add tags to all uploaded images',\n }\n }\n break\n }\n }\n\n // If we reach here, validation passed\n return { isValid: true, errorMessage: '' }\n }\n // New function to validate an entire step\n const validateStep = (\n step: FormStep\n ): { isStepValid: boolean; errors: Record<string, string> } => {\n let isStepValid = true\n const errors = {} as Record<string, string>\n const fieldIdTypeMap = {} as Record<string, FormField>\n\n // Collect all required field IDs from this step\n step.sections.forEach((section) => {\n section.fields.forEach((field) => {\n fieldIdTypeMap[field.id] = field\n })\n })\n\n // Validate each required field\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Object.entries(fieldIdTypeMap).forEach(([_fieldId, field]) => {\n // Only validate required fields\n if (field.required) {\n // We can now pass the field type to a more specialized validation function\n const { isValid, errorMessage } = validateField(field)\n if (!isValid) {\n errors[field.id] = errorMessage\n isStepValid = false\n }\n }\n\n // For taggable image fields, validate tags even if field is optional\n // If images are uploaded, their tags must be filled in\n if (\n (field.type === FormFieldType.TAGGABLE_MULTI_IMAGE_PICKER ||\n field.type ===\n FormFieldType.TAGGABLE_MULTI_IMAGE_PICKER_WITH_INPUT) &&\n !field.required\n ) {\n const value = values[field.id]\n if (Array.isArray(value) && value.length > 0) {\n const taggedAssets = value as TaggableAssetValue[]\n const missingTags = taggedAssets.some((asset) => !asset.tag)\n if (missingTags) {\n errors[field.id] = 'Please add tags to all uploaded images'\n isStepValid = false\n }\n }\n }\n })\n\n return { isStepValid, errors }\n }\n\n const submitForm = () => {\n if (onSubmit) {\n onSubmit(values)\n }\n }\n\n const value = {\n values,\n errors,\n setValue,\n setFormValues,\n submitForm,\n onAssetUpload,\n validateField,\n validateStep,\n onToggleImageEditor,\n getRequestHeaders,\n getCreateOptionExtraBody,\n }\n\n return (\n <FormValuesContext.Provider value={value}>\n {children}\n </FormValuesContext.Provider>\n )\n}\n"],"names":["FormValuesProvider","children","initialValues","onSubmit","onAssetUpload","onToggleImageEditor","getRequestHeaders","getCreateOptionExtraBody","values","setValues","useState","errors","setErrors","setValue","fieldId","value","prev","newErrors","setFormValues","newValues","validateField","field","FormFieldType","prefix","keys","key","modifiedSubField","option","isValid","errorMessage","arr","minSelected","maxSelected","radioValue","asset","step","isStepValid","fieldIdTypeMap","section","_fieldId","React","FormValuesContext"],"mappings":"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"}