@dreamcommerce/aurora 3.0.0-62 → 3.0.0-64

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 (247) hide show
  1. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js +49 -0
  2. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
  3. package/build/cjs/external/@radix-ui/react-direction/dist/index.mjs.js +16 -0
  4. package/build/cjs/external/@radix-ui/react-direction/dist/index.mjs.js.map +1 -0
  5. package/build/cjs/external/@radix-ui/react-id/dist/index.mjs.js +49 -0
  6. package/build/cjs/external/@radix-ui/react-id/dist/index.mjs.js.map +1 -0
  7. package/build/cjs/external/@radix-ui/react-radio-group/dist/index.mjs.js +284 -0
  8. package/build/cjs/external/@radix-ui/react-radio-group/dist/index.mjs.js.map +1 -0
  9. package/build/cjs/external/@radix-ui/react-radio-group/external/@radix-ui/primitive/dist/index.mjs.js +19 -0
  10. package/build/cjs/external/@radix-ui/react-radio-group/external/@radix-ui/primitive/dist/index.mjs.js.map +1 -0
  11. package/build/cjs/external/@radix-ui/react-radio-group/external/@radix-ui/react-collection/dist/index.mjs.js +102 -0
  12. package/build/cjs/external/@radix-ui/react-radio-group/external/@radix-ui/react-collection/dist/index.mjs.js.map +1 -0
  13. package/build/cjs/external/@radix-ui/react-radio-group/external/@radix-ui/react-compose-refs/dist/index.mjs.js +51 -0
  14. package/build/cjs/external/@radix-ui/react-radio-group/external/@radix-ui/react-compose-refs/dist/index.mjs.js.map +1 -0
  15. package/build/cjs/external/@radix-ui/react-radio-group/external/@radix-ui/react-presence/dist/index.mjs.js +149 -0
  16. package/build/cjs/external/@radix-ui/react-radio-group/external/@radix-ui/react-presence/dist/index.mjs.js.map +1 -0
  17. package/build/cjs/external/@radix-ui/react-radio-group/external/@radix-ui/react-primitive/dist/index.mjs.js +30 -0
  18. package/build/cjs/external/@radix-ui/react-radio-group/external/@radix-ui/react-primitive/dist/index.mjs.js.map +1 -0
  19. package/build/cjs/external/@radix-ui/react-radio-group/external/@radix-ui/react-roving-focus/dist/index.mjs.js +282 -0
  20. package/build/cjs/external/@radix-ui/react-radio-group/external/@radix-ui/react-roving-focus/dist/index.mjs.js.map +1 -0
  21. package/build/cjs/packages/aurora/src/components/controls/input_control/input_control.js +6 -1
  22. package/build/cjs/packages/aurora/src/components/controls/input_control/input_control.js.map +1 -1
  23. package/build/cjs/packages/aurora/src/components/controls/switch_control/switch_control.js +2 -1
  24. package/build/cjs/packages/aurora/src/components/controls/switch_control/switch_control.js.map +1 -1
  25. package/build/cjs/packages/aurora/src/components/radio_group/radio_group.js +37 -0
  26. package/build/cjs/packages/aurora/src/components/radio_group/radio_group.js.map +1 -0
  27. package/build/cjs/packages/aurora/src/components/sidebar/components/temporal_sidebar.js +35 -39
  28. package/build/cjs/packages/aurora/src/components/sidebar/components/temporal_sidebar.js.map +1 -1
  29. package/build/cjs/packages/aurora/src/components/sidebar/context/sidebar_prvider.js +2 -1
  30. package/build/cjs/packages/aurora/src/components/sidebar/context/sidebar_prvider.js.map +1 -1
  31. package/build/cjs/packages/aurora/src/constants/css_tokens/css_icon_color_tokens.js +1 -1
  32. package/build/cjs/packages/aurora/src/index.js +2 -0
  33. package/build/cjs/packages/aurora/src/index.js.map +1 -1
  34. package/build/esm/_virtual/_rollupPluginBabelHelpers.js +49 -1
  35. package/build/esm/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
  36. package/build/esm/external/@radix-ui/react-direction/dist/index.mjs.js +12 -0
  37. package/build/esm/external/@radix-ui/react-direction/dist/index.mjs.js.map +1 -0
  38. package/build/esm/external/@radix-ui/react-id/dist/index.mjs.js +24 -0
  39. package/build/esm/external/@radix-ui/react-id/dist/index.mjs.js.map +1 -0
  40. package/build/esm/external/@radix-ui/react-radio-group/dist/index.mjs.js +276 -0
  41. package/build/esm/external/@radix-ui/react-radio-group/dist/index.mjs.js.map +1 -0
  42. package/build/esm/external/@radix-ui/react-radio-group/external/@radix-ui/primitive/dist/index.mjs.js +15 -0
  43. package/build/esm/external/@radix-ui/react-radio-group/external/@radix-ui/primitive/dist/index.mjs.js.map +1 -0
  44. package/build/esm/external/@radix-ui/react-radio-group/external/@radix-ui/react-collection/dist/index.mjs.js +94 -0
  45. package/build/esm/external/@radix-ui/react-radio-group/external/@radix-ui/react-collection/dist/index.mjs.js.map +1 -0
  46. package/build/esm/external/@radix-ui/react-radio-group/external/@radix-ui/react-compose-refs/dist/index.mjs.js +46 -0
  47. package/build/esm/external/@radix-ui/react-radio-group/external/@radix-ui/react-compose-refs/dist/index.mjs.js.map +1 -0
  48. package/build/esm/external/@radix-ui/react-radio-group/external/@radix-ui/react-presence/dist/index.mjs.js +145 -0
  49. package/build/esm/external/@radix-ui/react-radio-group/external/@radix-ui/react-presence/dist/index.mjs.js.map +1 -0
  50. package/build/esm/external/@radix-ui/react-radio-group/external/@radix-ui/react-primitive/dist/index.mjs.js +26 -0
  51. package/build/esm/external/@radix-ui/react-radio-group/external/@radix-ui/react-primitive/dist/index.mjs.js.map +1 -0
  52. package/build/esm/external/@radix-ui/react-radio-group/external/@radix-ui/react-roving-focus/dist/index.mjs.js +274 -0
  53. package/build/esm/external/@radix-ui/react-radio-group/external/@radix-ui/react-roving-focus/dist/index.mjs.js.map +1 -0
  54. package/build/esm/external/react-best-gradient-color-picker/dist/esm/components/EyeDropper.js +8 -8
  55. package/build/esm/external/react-best-gradient-color-picker/dist/esm/components/GradientBar.js +7 -7
  56. package/build/esm/external/react-best-gradient-color-picker/dist/esm/components/GradientControls.js +16 -16
  57. package/build/esm/external/react-best-gradient-color-picker/dist/esm/components/Hue.js +4 -4
  58. package/build/esm/external/react-best-gradient-color-picker/dist/esm/components/Opacity.js +5 -5
  59. package/build/esm/external/react-best-gradient-color-picker/dist/esm/components/Square.js +6 -6
  60. package/build/esm/external/react-best-gradient-color-picker/dist/esm/components/icon.js +16 -16
  61. package/build/esm/external/react-best-gradient-color-picker/dist/esm/context.js +2 -2
  62. package/build/esm/external/react-i18next/dist/es/context.js +2 -2
  63. package/build/esm/packages/aurora/src/assets/icons/circle_icon.d.ts +1 -0
  64. package/build/esm/packages/aurora/src/assets/icons/circle_icon.js +3 -0
  65. package/build/esm/packages/aurora/src/assets/icons/circle_icon.js.map +1 -0
  66. package/build/esm/packages/aurora/src/assets/icons/delete_bin_icon.d.ts +1 -0
  67. package/build/esm/packages/aurora/src/assets/icons/delete_bin_icon.js +3 -0
  68. package/build/esm/packages/aurora/src/assets/icons/delete_bin_icon.js.map +1 -0
  69. package/build/esm/packages/aurora/src/assets/icons/image_edit_icon.d.ts +1 -0
  70. package/build/esm/packages/aurora/src/assets/icons/image_edit_icon.js +3 -0
  71. package/build/esm/packages/aurora/src/assets/icons/image_edit_icon.js.map +1 -0
  72. package/build/esm/packages/aurora/src/assets/icons/layout_bottom_line_icon.d.ts +1 -0
  73. package/build/esm/packages/aurora/src/assets/icons/layout_bottom_line_icon.js +3 -0
  74. package/build/esm/packages/aurora/src/assets/icons/layout_bottom_line_icon.js.map +1 -0
  75. package/build/esm/packages/aurora/src/assets/icons/upload_icon.d.ts +1 -0
  76. package/build/esm/packages/aurora/src/assets/icons/upload_icon.js +3 -0
  77. package/build/esm/packages/aurora/src/assets/icons/upload_icon.js.map +1 -0
  78. package/build/esm/packages/aurora/src/components/accordion/context/accordion_context.js +2 -2
  79. package/build/esm/packages/aurora/src/components/action_list/action_list.js +2 -2
  80. package/build/esm/packages/aurora/src/components/action_list/components/action_list_content.js +3 -3
  81. package/build/esm/packages/aurora/src/components/action_list/components/action_list_divider.js +2 -2
  82. package/build/esm/packages/aurora/src/components/action_list/components/action_list_group.js +3 -3
  83. package/build/esm/packages/aurora/src/components/action_list/components/action_list_item.js +3 -3
  84. package/build/esm/packages/aurora/src/components/action_list/components/action_list_label.js +5 -5
  85. package/build/esm/packages/aurora/src/components/action_list/components/action_list_radio_group.js +3 -3
  86. package/build/esm/packages/aurora/src/components/action_list/components/action_list_radio_item.js +4 -4
  87. package/build/esm/packages/aurora/src/components/action_list/components/action_list_sub_content.js +3 -3
  88. package/build/esm/packages/aurora/src/components/action_list/components/action_list_sub_trigger.js +5 -5
  89. package/build/esm/packages/aurora/src/components/action_list/components/action_list_trigger.js +3 -3
  90. package/build/esm/packages/aurora/src/components/box/box.js +3 -3
  91. package/build/esm/packages/aurora/src/components/breadcrumbs/breadcrumb_child.d.ts +3 -0
  92. package/build/esm/packages/aurora/src/components/breadcrumbs/breadcrumb_child.js +14 -0
  93. package/build/esm/packages/aurora/src/components/breadcrumbs/breadcrumb_child.js.map +1 -0
  94. package/build/esm/packages/aurora/src/components/breadcrumbs/breadcrumbs.d.ts +6 -0
  95. package/build/esm/packages/aurora/src/components/breadcrumbs/breadcrumbs.js +35 -0
  96. package/build/esm/packages/aurora/src/components/breadcrumbs/breadcrumbs.js.map +1 -0
  97. package/build/esm/packages/aurora/src/components/breadcrumbs/breadcrumbs_types.d.ts +10 -0
  98. package/build/esm/packages/aurora/src/components/breadcrumbs/breadcrumbs_types.js +2 -0
  99. package/build/esm/packages/aurora/src/components/breadcrumbs/breadcrumbs_types.js.map +1 -0
  100. package/build/esm/packages/aurora/src/components/button/button.js +3 -3
  101. package/build/esm/packages/aurora/src/components/color_picker/color_picker.js +3 -3
  102. package/build/esm/packages/aurora/src/components/color_picker/components/color_label_input.js +2 -2
  103. package/build/esm/packages/aurora/src/components/color_picker/components/color_picker_content.js +5 -5
  104. package/build/esm/packages/aurora/src/components/color_picker/components/color_picker_controls.js +10 -10
  105. package/build/esm/packages/aurora/src/components/color_picker/components/color_picker_footer.js +4 -4
  106. package/build/esm/packages/aurora/src/components/color_picker/components/color_picker_gradient_controls/color_picker_gradient_angle.js +5 -5
  107. package/build/esm/packages/aurora/src/components/color_picker/components/color_picker_header.js +5 -5
  108. package/build/esm/packages/aurora/src/components/color_picker/components/color_picker_impl/color_picker_impl.js +4 -4
  109. package/build/esm/packages/aurora/src/components/color_picker/components/color_picker_impl/picker_impl.js +7 -7
  110. package/build/esm/packages/aurora/src/components/color_picker/components/color_picker_inputs/color_picker_inputs.js +10 -10
  111. package/build/esm/packages/aurora/src/components/color_picker/components/color_picker_inputs/color_picker_inputs_hex.js +3 -3
  112. package/build/esm/packages/aurora/src/components/color_picker/components/color_picker_inputs/color_picker_inputs_rgba.js +5 -5
  113. package/build/esm/packages/aurora/src/components/color_picker/components/color_picker_mode_toggler.js +11 -11
  114. package/build/esm/packages/aurora/src/components/color_picker/components/color_picker_shades.js +6 -6
  115. package/build/esm/packages/aurora/src/components/color_picker/components/color_picker_swatch.js +3 -3
  116. package/build/esm/packages/aurora/src/components/color_picker/components/color_picker_variables.js +10 -10
  117. package/build/esm/packages/aurora/src/components/color_picker/components/current_color_preview.js +2 -2
  118. package/build/esm/packages/aurora/src/components/color_picker/components/pure_color_picker.js +9 -9
  119. package/build/esm/packages/aurora/src/components/control/control.d.ts +1 -1
  120. package/build/esm/packages/aurora/src/components/control/control.js +2 -2
  121. package/build/esm/packages/aurora/src/components/control/control_types.d.ts +2 -1
  122. package/build/esm/packages/aurora/src/components/control/control_types.js +1 -1
  123. package/build/esm/packages/aurora/src/components/controls/checkbox_control/checkbox_control.js +1 -1
  124. package/build/esm/packages/aurora/src/components/controls/checkbox_control/checkbox_control.js.map +1 -1
  125. package/build/esm/packages/aurora/src/components/controls/color_picker_control/color_picker_control.js +5 -5
  126. package/build/esm/packages/aurora/src/components/controls/controls_group/controls_group.d.ts +3 -0
  127. package/build/esm/packages/aurora/src/components/controls/controls_group/controls_group.js +7 -0
  128. package/build/esm/packages/aurora/src/components/controls/controls_group/controls_group.js.map +1 -0
  129. package/build/esm/packages/aurora/src/components/controls/input_control/input_control.js +11 -6
  130. package/build/esm/packages/aurora/src/components/controls/input_control/input_control.js.map +1 -1
  131. package/build/esm/packages/aurora/src/components/controls/input_control/input_control_types.d.ts +1 -0
  132. package/build/esm/packages/aurora/src/components/controls/radio_group_control/radio_group_control.d.ts +3 -0
  133. package/build/esm/packages/aurora/src/components/controls/radio_group_control/radio_group_control.js +17 -0
  134. package/build/esm/packages/aurora/src/components/controls/radio_group_control/radio_group_control.js.map +1 -0
  135. package/build/esm/packages/aurora/src/components/controls/radio_group_control/radio_group_control_types.d.ts +8 -0
  136. package/build/esm/packages/aurora/src/components/controls/radio_group_control/radio_group_control_types.js +3 -0
  137. package/build/esm/packages/aurora/src/components/controls/radio_group_control/radio_group_control_types.js.map +1 -0
  138. package/build/esm/packages/aurora/src/components/controls/switch_control/switch_control.js +7 -6
  139. package/build/esm/packages/aurora/src/components/controls/switch_control/switch_control.js.map +1 -1
  140. package/build/esm/packages/aurora/src/components/controls/text_area_control/text_area_control.d.ts +3 -0
  141. package/build/esm/packages/aurora/src/components/controls/text_area_control/text_area_control.js +17 -0
  142. package/build/esm/packages/aurora/src/components/controls/text_area_control/text_area_control.js.map +1 -0
  143. package/build/esm/packages/aurora/src/components/controls/text_area_control/text_area_control_types.d.ts +8 -0
  144. package/build/esm/packages/aurora/src/components/controls/text_area_control/text_area_control_types.js +3 -0
  145. package/build/esm/packages/aurora/src/components/controls/text_area_control/text_area_control_types.js.map +1 -0
  146. package/build/esm/packages/aurora/src/components/controls/values_syncer_control/values_syncer_control.d.ts +3 -0
  147. package/build/esm/packages/aurora/src/components/controls/values_syncer_control/values_syncer_control.js +14 -0
  148. package/build/esm/packages/aurora/src/components/controls/values_syncer_control/values_syncer_control.js.map +1 -0
  149. package/build/esm/packages/aurora/src/components/controls/values_syncer_control/values_syncer_control_types.d.ts +9 -0
  150. package/build/esm/packages/aurora/src/components/controls/values_syncer_control/values_syncer_control_types.js +3 -0
  151. package/build/esm/packages/aurora/src/components/controls/values_syncer_control/values_syncer_control_types.js.map +1 -0
  152. package/build/esm/packages/aurora/src/components/controls/xhr_image_picker_control/xhr_image_picker_control.d.ts +3 -0
  153. package/build/esm/packages/aurora/src/components/controls/xhr_image_picker_control/xhr_image_picker_control.js +24 -0
  154. package/build/esm/packages/aurora/src/components/controls/xhr_image_picker_control/xhr_image_picker_control.js.map +1 -0
  155. package/build/esm/packages/aurora/src/components/controls/xhr_image_picker_control/xhr_image_picker_control_types.d.ts +15 -0
  156. package/build/esm/packages/aurora/src/components/controls/xhr_image_picker_control/xhr_image_picker_control_types.js +5 -0
  157. package/build/esm/packages/aurora/src/components/controls/xhr_image_picker_control/xhr_image_picker_control_types.js.map +1 -0
  158. package/build/esm/packages/aurora/src/components/divider/divider.js +3 -3
  159. package/build/esm/packages/aurora/src/components/icon_button/icon_button.js +4 -4
  160. package/build/esm/packages/aurora/src/components/image_picker/components/image_picker_input.d.ts +9 -0
  161. package/build/esm/packages/aurora/src/components/image_picker/components/image_picker_input.js +19 -0
  162. package/build/esm/packages/aurora/src/components/image_picker/components/image_picker_input.js.map +1 -0
  163. package/build/esm/packages/aurora/src/components/image_picker/components/image_picker_preview.d.ts +9 -0
  164. package/build/esm/packages/aurora/src/components/image_picker/components/image_picker_preview.js +6 -0
  165. package/build/esm/packages/aurora/src/components/image_picker/components/image_picker_preview.js.map +1 -0
  166. package/build/esm/packages/aurora/src/components/image_picker/components/uploaded_image_picker_item.d.ts +9 -0
  167. package/build/esm/packages/aurora/src/components/image_picker/components/uploaded_image_picker_item.js +19 -0
  168. package/build/esm/packages/aurora/src/components/image_picker/components/uploaded_image_picker_item.js.map +1 -0
  169. package/build/esm/packages/aurora/src/components/image_picker/image_picker.d.ts +3 -0
  170. package/build/esm/packages/aurora/src/components/image_picker/image_picker.js +76 -0
  171. package/build/esm/packages/aurora/src/components/image_picker/image_picker.js.map +1 -0
  172. package/build/esm/packages/aurora/src/components/image_picker/image_picker_constants.d.ts +35 -0
  173. package/build/esm/packages/aurora/src/components/image_picker/image_picker_constants.js +36 -0
  174. package/build/esm/packages/aurora/src/components/image_picker/image_picker_constants.js.map +1 -0
  175. package/build/esm/packages/aurora/src/components/image_picker/image_picker_types.d.ts +59 -0
  176. package/build/esm/packages/aurora/src/components/image_picker/image_picker_types.js +4 -0
  177. package/build/esm/packages/aurora/src/components/image_picker/image_picker_types.js.map +1 -0
  178. package/build/esm/packages/aurora/src/components/image_picker/image_picker_utils.d.ts +1 -0
  179. package/build/esm/packages/aurora/src/components/image_picker/image_picker_utils.js +6 -0
  180. package/build/esm/packages/aurora/src/components/image_picker/image_picker_utils.js.map +1 -0
  181. package/build/esm/packages/aurora/src/components/image_picker/use_image_picker.d.ts +2 -0
  182. package/build/esm/packages/aurora/src/components/image_picker/use_image_picker.js +117 -0
  183. package/build/esm/packages/aurora/src/components/image_picker/use_image_picker.js.map +1 -0
  184. package/build/esm/packages/aurora/src/components/input/input.js +6 -6
  185. package/build/esm/packages/aurora/src/components/label/components/label_content.js +4 -4
  186. package/build/esm/packages/aurora/src/components/link/link.js +3 -3
  187. package/build/esm/packages/aurora/src/components/loader/loader.js +2 -2
  188. package/build/esm/packages/aurora/src/components/message_box/message_box.js +11 -11
  189. package/build/esm/packages/aurora/src/components/modal/components/modal/modal.js +5 -5
  190. package/build/esm/packages/aurora/src/components/modal/components/modal/modal_close_icon.js +3 -3
  191. package/build/esm/packages/aurora/src/components/modal/components/modal/modal_footer.js +2 -2
  192. package/build/esm/packages/aurora/src/components/modal/components/modal/modal_header.js +4 -4
  193. package/build/esm/packages/aurora/src/components/modal/components/modals_wrapper.js +4 -4
  194. package/build/esm/packages/aurora/src/components/modal/modals_manager.js +3 -3
  195. package/build/esm/packages/aurora/src/components/popover/components/popover_content.js +3 -3
  196. package/build/esm/packages/aurora/src/components/radio_group/components/radio_group_item.d.ts +3 -0
  197. package/build/esm/packages/aurora/src/components/radio_group/components/radio_group_item.js +21 -0
  198. package/build/esm/packages/aurora/src/components/radio_group/components/radio_group_item.js.map +1 -0
  199. package/build/esm/packages/aurora/src/components/radio_group/radio_group.d.ts +3 -0
  200. package/build/esm/packages/aurora/src/components/radio_group/radio_group.js +33 -0
  201. package/build/esm/packages/aurora/src/components/radio_group/radio_group.js.map +1 -0
  202. package/build/esm/packages/aurora/src/components/radio_group/radio_group_types.d.ts +11 -0
  203. package/build/esm/packages/aurora/src/components/radio_group/radio_group_types.js +2 -0
  204. package/build/esm/packages/aurora/src/components/radio_group/radio_group_types.js.map +1 -0
  205. package/build/esm/packages/aurora/src/components/segmented_control/components/segmented_control_item.js +4 -4
  206. package/build/esm/packages/aurora/src/components/segmented_control/context/segmented_control_context.js +2 -2
  207. package/build/esm/packages/aurora/src/components/segmented_control/segmented_control.js +4 -4
  208. package/build/esm/packages/aurora/src/components/sidebar/components/persistent_sidebar.js +4 -4
  209. package/build/esm/packages/aurora/src/components/sidebar/components/sidebar_toggle.js +2 -2
  210. package/build/esm/packages/aurora/src/components/sidebar/components/temporal_sidebar.js +39 -43
  211. package/build/esm/packages/aurora/src/components/sidebar/components/temporal_sidebar.js.map +1 -1
  212. package/build/esm/packages/aurora/src/components/sidebar/context/sidebar_context.js +2 -2
  213. package/build/esm/packages/aurora/src/components/sidebar/context/sidebar_context_types.d.ts +1 -0
  214. package/build/esm/packages/aurora/src/components/sidebar/context/sidebar_prvider.js +2 -1
  215. package/build/esm/packages/aurora/src/components/sidebar/context/sidebar_prvider.js.map +1 -1
  216. package/build/esm/packages/aurora/src/components/sidebar/hooks/use_sidebar.js +2 -2
  217. package/build/esm/packages/aurora/src/components/sidebar/sidebar.js +4 -4
  218. package/build/esm/packages/aurora/src/components/stack/stack.js +3 -3
  219. package/build/esm/packages/aurora/src/components/switch/switch.js +4 -4
  220. package/build/esm/packages/aurora/src/components/tabs/context/tabs_context.js +2 -2
  221. package/build/esm/packages/aurora/src/components/tabs/tabs.js +4 -4
  222. package/build/esm/packages/aurora/src/components/text_area/text_area.d.ts +3 -0
  223. package/build/esm/packages/aurora/src/components/text_area/text_area.js +7 -0
  224. package/build/esm/packages/aurora/src/components/text_area/text_area.js.map +1 -0
  225. package/build/esm/packages/aurora/src/components/text_area/text_area_types.d.ts +4 -0
  226. package/build/esm/packages/aurora/src/components/text_area/text_area_types.js +2 -0
  227. package/build/esm/packages/aurora/src/components/text_area/text_area_types.js.map +1 -0
  228. package/build/esm/packages/aurora/src/components/text_area/text_area_variants.d.ts +1 -0
  229. package/build/esm/packages/aurora/src/components/text_area/text_area_variants.js +3 -0
  230. package/build/esm/packages/aurora/src/components/text_area/text_area_variants.js.map +1 -0
  231. package/build/esm/packages/aurora/src/components/typography/typography.js +2 -2
  232. package/build/esm/packages/aurora/src/components/xhr_image_picker/xhr_image_picker.d.ts +3 -0
  233. package/build/esm/packages/aurora/src/components/xhr_image_picker/xhr_image_picker.js +102 -0
  234. package/build/esm/packages/aurora/src/components/xhr_image_picker/xhr_image_picker.js.map +1 -0
  235. package/build/esm/packages/aurora/src/components/xhr_image_picker/xhr_image_picker_types.d.ts +17 -0
  236. package/build/esm/packages/aurora/src/components/xhr_image_picker/xhr_image_picker_types.js +2 -0
  237. package/build/esm/packages/aurora/src/components/xhr_image_picker/xhr_image_picker_types.js.map +1 -0
  238. package/build/esm/packages/aurora/src/constants/css_tokens/css_icon_color_tokens.d.ts +1 -1
  239. package/build/esm/packages/aurora/src/constants/css_tokens/css_icon_color_tokens.js +1 -1
  240. package/build/esm/packages/aurora/src/hooks/search/use_force_render.d.ts +1 -0
  241. package/build/esm/packages/aurora/src/hooks/search/use_force_render.js +6 -0
  242. package/build/esm/packages/aurora/src/hooks/search/use_force_render.js.map +1 -0
  243. package/build/esm/packages/aurora/src/index.d.ts +1 -0
  244. package/build/esm/packages/aurora/src/index.js +1 -0
  245. package/build/esm/packages/aurora/src/index.js.map +1 -1
  246. package/build/index.css +1 -1
  247. package/package.json +2 -1
@@ -0,0 +1,9 @@
1
+ import { TValuesSyncerProps } from "../../values_syncer/values_syncer_types";
2
+ import React from "react";
3
+ export declare type TValuesSyncerControlProps = TValuesSyncerProps & {
4
+ label?: string | React.ReactNode;
5
+ reqiured?: boolean;
6
+ tooltip?: string | React.ReactNode;
7
+ helperText?: string | React.ReactNode;
8
+ errors?: string | string[];
9
+ };
@@ -0,0 +1,3 @@
1
+ import "@auroraComponents/values_syncer/values_syncer_types";
2
+ import "react";
3
+ //# sourceMappingURL=values_syncer_control_types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"values_syncer_control_types.js","sourceRoot":"","sources":["../../../../../../../../src/components/controls/values_syncer_control/values_syncer_control_types.ts"],"names":[],"mappings":"AAAA,OAAmC,qDAAqD,CAAC;AACzF,OAAkB,OAAO,CAAC"}
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import { IXhrImagePickerControl } from './xhr_image_picker_control_types';
3
+ export declare const XhrImagePickerControl: React.FC<IXhrImagePickerControl>;
@@ -0,0 +1,24 @@
1
+ import React, { useState } from 'react';
2
+ import { Control } from '@auroraComponents/control/control';
3
+ import { Label } from '@auroraComponents/label/label';
4
+ import { ErrorList } from '@auroraComponents/error_list/error_list';
5
+ import '@auroraComponents/control/control_types';
6
+ import './xhr_image_picker_control_types';
7
+ import { XhrImagePicker } from '@auroraComponents/xhr_image_picker/xhr_image_picker';
8
+ import '@auroraComponents/image_picker/image_picker_types';
9
+ export const XhrImagePickerControl = ({ url, label, required, id, name, onChange, allowedExtensions, initialFile, className, errors, tooltip, onUploaded, onImageSizeUpdated, ImageEditor }) => {
10
+ const [, setErrors] = useState(errors);
11
+ const handleControlError = (errors) => {
12
+ setErrors(errors);
13
+ };
14
+ const handleControlChange = (file) => {
15
+ const { fileList, fileAsDataUrl } = file;
16
+ setErrors(null);
17
+ onChange?.({ fileList, fileAsDataUrl });
18
+ };
19
+ return (React.createElement(Control, { classname: "aurora-flex-col" },
20
+ label && (React.createElement(Label, { htmlFor: id, required: required, tooltip: tooltip }, label)),
21
+ React.createElement(XhrImagePicker, { url: url, id: id, name: name, onChange: handleControlChange, onError: handleControlError, allowedExtensions: allowedExtensions, initialFile: initialFile, className: className, errors: errors, onUploaded: onUploaded, onImageSizeUpdated: onImageSizeUpdated, ImageEditor: ImageEditor }),
22
+ errors && React.createElement(ErrorList, { errors: errors })));
23
+ };
24
+ //# sourceMappingURL=xhr_image_picker_control.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xhr_image_picker_control.js","sourceRoot":"","sources":["../../../../../../../../src/components/controls/xhr_image_picker_control/xhr_image_picker_control.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAA+B,yCAAyC,CAAC;AACzE,OAAuC,kCAAkC,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,qDAAqD,CAAC;AACrF,OAAuC,mDAAmD,CAAC;AAE3F,MAAM,CAAC,MAAM,qBAAqB,GAAqC,CAAC,EACpE,GAAG,EACH,KAAK,EACL,QAAQ,EACR,EAAE,EACF,IAAI,EACJ,QAAQ,EACR,iBAAiB,EACjB,WAAW,EACX,SAAS,EACT,MAAM,EACN,OAAO,EACP,UAAU,EACV,kBAAkB,EAClB,WAAW,EACd,EAAE,EAAE;IACD,MAAM,CAAC,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAwB,MAA+B,CAAC,CAAC;IAEvF,MAAM,kBAAkB,GAAG,CAAC,MAAgB,EAAE,EAAE;QAC5C,SAAS,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,CAAC,IAA4B,EAAE,EAAE;QACzD,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;QACzC,SAAS,CAAC,IAAI,CAAC,CAAC;QAEhB,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;IAC5C,CAAC,CAAC;IAEF,OAAO,CACH,oBAAC,OAAO,IAAC,SAAS,EAAC,iBAAiB;QAC/B,KAAK,IAAI,CACN,oBAAC,KAAK,IAAC,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,IACnD,KAAK,CACF,CACX;QACD,oBAAC,cAAc,IACX,GAAG,EAAE,GAAG,EACR,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,mBAAmB,EAC7B,OAAO,EAAE,kBAAkB,EAC3B,iBAAiB,EAAE,iBAAiB,EACpC,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,kBAAkB,EAAE,kBAAkB,EACtC,WAAW,EAAE,WAAW,GAC1B;QACD,MAAM,IAAI,oBAAC,SAAS,IAAC,MAAM,EAAE,MAAM,GAAI,CAClC,CACb,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { TControlErrors } from "../../control/control_types";
2
+ import { IImagePicker, IUseFilePickerOnChange, TImageSize } from "../../image_picker/image_picker_types";
3
+ import { TUploadedImageData } from "../../xhr_image_picker/xhr_image_picker_types";
4
+ import { ReactNode } from 'react';
5
+ export interface IXhrImagePickerControl extends IImagePicker {
6
+ url: string;
7
+ label?: string;
8
+ onChange?: (file: IUseFilePickerOnChange, size?: TImageSize) => void;
9
+ labelAdditionalInfo?: string | ReactNode;
10
+ onUploaded?: (data: TUploadedImageData) => void;
11
+ ImageEditor?: React.FunctionComponent;
12
+ errors?: TControlErrors;
13
+ required?: boolean;
14
+ tooltip?: string | ReactNode;
15
+ }
@@ -0,0 +1,5 @@
1
+ import '@auroraComponents/control/control_types';
2
+ import '@auroraComponents/image_picker/image_picker_types';
3
+ import '@auroraComponents/xhr_image_picker/xhr_image_picker_types';
4
+ import 'react';
5
+ //# sourceMappingURL=xhr_image_picker_control_types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xhr_image_picker_control_types.js","sourceRoot":"","sources":["../../../../../../../../src/components/controls/xhr_image_picker_control/xhr_image_picker_control_types.ts"],"names":[],"mappings":"AAAA,OAA+B,yCAAyC,CAAC;AACzE,OAAiE,mDAAmD,CAAC;AACrH,OAAmC,2DAA2D,CAAC;AAC/F,OAA0B,OAAO,CAAC"}
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React__default from 'react';
2
2
  import { objectWithoutProperties as _objectWithoutProperties, objectSpread2 as _objectSpread2 } from '../../../../../_virtual/_rollupPluginBabelHelpers.js';
3
3
  import { cn } from '../../utilities/cn.js';
4
4
  import { DIVIDER_ORIENTATION } from './divider_constants.js';
@@ -6,7 +6,7 @@ import { dividerVariants } from './divider_variants.js';
6
6
  import { Root } from '@radix-ui/react-separator';
7
7
 
8
8
  var _excluded = ["className", "orientation", "color", "thickness", "height", "maxHeight", "minHeight", "width", "maxWidth", "minWidth", "variant", "decorative"];
9
- var Divider = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
9
+ var Divider = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
10
10
  var className = _ref.className,
11
11
  _ref$orientation = _ref.orientation,
12
12
  orientation = _ref$orientation === void 0 ? DIVIDER_ORIENTATION.horizontal : _ref$orientation,
@@ -22,7 +22,7 @@ var Divider = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
22
22
  _ref$decorative = _ref.decorative,
23
23
  decorative = _ref$decorative === void 0 ? true : _ref$decorative,
24
24
  props = _objectWithoutProperties(_ref, _excluded);
25
- return /*#__PURE__*/React.createElement(Root, _objectSpread2({
25
+ return /*#__PURE__*/React__default.createElement(Root, _objectSpread2({
26
26
  ref: ref,
27
27
  decorative: decorative,
28
28
  orientation: orientation,
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React__default from 'react';
2
2
  import { objectWithoutProperties as _objectWithoutProperties, objectSpread2 as _objectSpread2 } from '../../../../../_virtual/_rollupPluginBabelHelpers.js';
3
3
  import { cn } from '../../utilities/cn.js';
4
4
  import { BUTTON_SIZES } from '../button/button_constants.js';
@@ -7,7 +7,7 @@ import { Slot } from '@radix-ui/react-slot';
7
7
  import { iconButtonVariants } from './icon_button_variants.js';
8
8
 
9
9
  var _excluded = ["className", "variant", "size", "asChild", "Icon", "children"];
10
- var IconButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
10
+ var IconButton = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
11
11
  var className = _ref.className,
12
12
  variant = _ref.variant,
13
13
  size = _ref.size,
@@ -17,7 +17,7 @@ var IconButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
17
17
  children = _ref.children,
18
18
  props = _objectWithoutProperties(_ref, _excluded);
19
19
  var Comp = asChild ? Slot : 'button';
20
- return /*#__PURE__*/React.createElement(Comp, _objectSpread2({
20
+ return /*#__PURE__*/React__default.createElement(Comp, _objectSpread2({
21
21
  className: cn(buttonVariants({
22
22
  variant: variant,
23
23
  size: size,
@@ -26,7 +26,7 @@ var IconButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
26
26
  size: size
27
27
  })),
28
28
  ref: ref
29
- }, props), Icon ? /*#__PURE__*/React.createElement(Icon, {
29
+ }, props), Icon ? /*#__PURE__*/React__default.createElement(Icon, {
30
30
  size: size === BUTTON_SIZES.s ? '14' : '16'
31
31
  }) : children);
32
32
  });
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ export declare const ImagePickerInput: React.FC<{
3
+ id: string;
4
+ onDropFile: (event: React.DragEvent<HTMLLabelElement>) => void;
5
+ onDragOver: (event: React.DragEvent<HTMLLabelElement>) => void;
6
+ onDragLeave: (event: React.DragEvent<HTMLLabelElement>) => void;
7
+ allowedExtensions: string[];
8
+ isDragOver: boolean;
9
+ }>;
@@ -0,0 +1,19 @@
1
+ import React from 'react';
2
+ import { useTranslation } from 'react-i18next';
3
+ import { UploadLineIcon } from '@auroraAssets/icons/upload_icon';
4
+ import { cn } from '@auroraUtilities/cn';
5
+ export const ImagePickerInput = ({ id, onDropFile, onDragOver, onDragLeave, allowedExtensions, isDragOver }) => {
6
+ const [t] = useTranslation();
7
+ return (React.createElement("label", { htmlFor: id, onDrop: onDropFile, onDragOver: onDragOver, onDragLeave: onDragLeave, className: "aurora-relative aurora-flex aurora-items-center aurora-justify-center aurora-w-full aurora-h-full aurora-cursor-pointer aurora-p-1 aurora-pb-2 aurora-group" },
8
+ isDragOver && (React.createElement("div", { className: cn('aurora-absolute aurora-inset-0 aurora-bg-neutral-0 aurora-border-2 aurora-border-primary aurora-rounded-8 aurora-z-1 aurora-pointer-events-none') },
9
+ React.createElement("div", { className: " aurora-w-full aurora-h-full aurora-bg-primary-transparent aurora-flex aurora-items-center aurora-justify-center" },
10
+ React.createElement("span", { className: "aurora-text-xs aurora-text-interactive" }, `${t('Drop file here')}`)))),
11
+ React.createElement("div", { className: cn('aurora-flex aurora-flex-col aurora-items-center aurora-w-full aurora-h-full aurora-pt-4 aurora-pb-3 aurora-px-1') },
12
+ React.createElement(UploadLineIcon, { className: "aurora-w-5 aurora-h-5 aurora-fill-subtle group-hover:aurora-fill-primary aurora-mb-2" }),
13
+ React.createElement("div", { className: "aurora-text-xs aurora-text-interactive aurora-font-semibold" }, `${t('Drag a file here or browse')}`),
14
+ React.createElement("span", { className: "aurora-text-xs aurora-text-subtle-light aurora-font-normal aurora-text-center" },
15
+ `${t('supported format')}`,
16
+ ": ",
17
+ allowedExtensions.map((extension) => `*.${extension}`).join(', ')))));
18
+ };
19
+ //# sourceMappingURL=image_picker_input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image_picker_input.js","sourceRoot":"","sources":["../../../../../../../../src/components/image_picker/components/image_picker_input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAEzC,MAAM,CAAC,MAAM,gBAAgB,GAOxB,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,iBAAiB,EAAE,UAAU,EAAE,EAAE,EAAE;IAChF,MAAM,CAAC,CAAC,CAAC,GAAG,cAAc,EAAE,CAAC;IAE7B,OAAO,CACH,+BACI,OAAO,EAAE,EAAE,EACX,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAC,6JAA6J;QAEtK,UAAU,IAAI,CACX,6BACI,SAAS,EAAE,EAAE,CACT,iJAAiJ,CACpJ;YAED,6BAAK,SAAS,EAAC,kHAAkH;gBAC7H,8BAAM,SAAS,EAAC,wCAAwC,IAAE,GAAG,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAQ,CACxF,CACJ,CACT;QAED,6BACI,SAAS,EAAE,EAAE,CAAC,iHAAiH,CAAC;YAEhI,oBAAC,cAAc,IAAC,SAAS,EAAC,sFAAsF,GAAG;YACnH,6BAAK,SAAS,EAAC,6DAA6D,IAAE,GAAG,CAAC,CAAC,4BAA4B,CAAC,EAAE,CAAO;YACzH,8BAAM,SAAS,EAAC,+EAA+E;gBAC1F,GAAG,CAAC,CAAC,kBAAkB,CAAC,EAAE;;gBAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAC7F,CACL,CACF,CACX,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { TImagePickerFile } from '../image_picker_types';
3
+ declare type TImagePickerPreviewProps = {
4
+ file: TImagePickerFile;
5
+ onError: (event: React.SyntheticEvent<HTMLImageElement, Event>) => void;
6
+ onLoad?: (event: React.SyntheticEvent<HTMLImageElement, Event>) => void;
7
+ };
8
+ export declare const ImagePickerPreview: ({ file, onError, onLoad }: TImagePickerPreviewProps) => React.JSX.Element;
9
+ export {};
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import '../image_picker_types';
3
+ export const ImagePickerPreview = ({ file, onError, onLoad }) => {
4
+ return (React.createElement("img", { className: "aurora-rounded-4 aurora-w-full aurora-h-full", alt: file.fileName, src: file?.fileUrl || '', onError: onError, onLoad: onLoad }));
5
+ };
6
+ //# sourceMappingURL=image_picker_preview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image_picker_preview.js","sourceRoot":"","sources":["../../../../../../../../src/components/image_picker/components/image_picker_preview.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAiC,uBAAuB,CAAC;AAQzD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAA4B,EAAE,EAAE;IACtF,OAAO,CACH,6BACI,SAAS,EAAC,8CAA8C,EACxD,GAAG,EAAE,IAAI,CAAC,QAAQ,EAClB,GAAG,EAAE,IAAI,EAAE,OAAO,IAAI,EAAE,EACxB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,GAChB,CACL,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ declare type TUploadedImagePickerItemProps = {
3
+ file: any;
4
+ isValid: boolean;
5
+ imageSize: any;
6
+ onFileDelete: () => void;
7
+ };
8
+ export declare const UploadedImagePickerItem: ({ imageSize, onFileDelete, isValid, file }: TUploadedImagePickerItemProps) => React.JSX.Element;
9
+ export {};
@@ -0,0 +1,19 @@
1
+ import { DeleteBinLineIcon } from '@auroraAssets/icons/delete_bin_icon';
2
+ import { FileUtils } from '@dreamcommerce/utilities';
3
+ import React from 'react';
4
+ import { useTranslation } from 'react-i18next';
5
+ export const UploadedImagePickerItem = ({ imageSize, onFileDelete, isValid, file }) => {
6
+ const [t] = useTranslation();
7
+ const imageName = FileUtils.getFileName(file.fileName);
8
+ const imageExtension = FileUtils.getFileExtension(file.fileName);
9
+ const imageWidth = imageSize && imageSize.width;
10
+ const imageHeight = imageSize && imageSize.height;
11
+ return (React.createElement("div", { className: 'aurora-flex aurora-justify-between aurora-items-center aurora-pt-2 aurora-px-1 aurora-gap-1' },
12
+ React.createElement("div", { className: 'aurora-text-xs aurora-text-subtle aurora-overflow-hidden aurora-text-ellipsis' }, isValid && (React.createElement(React.Fragment, null,
13
+ imageName,
14
+ `.${imageExtension} (${imageWidth}x${imageHeight}px)`))),
15
+ React.createElement("button", { "data-test-id": "image-picker-remove-button", onClick: onFileDelete, className: 'aurora-flex aurora-items-center aurora-gap-1 aurora-border aurora-border-danger aurora-rounded-full aurora-px-3 aurora-py-[6px]' },
16
+ React.createElement(DeleteBinLineIcon, { className: "aurora-w-4 aurora-h-4 aurora-fill-danger" }),
17
+ React.createElement("span", { className: 'aurora-text-xs aurora-text-danger aurora-font-semibold' }, `${t('Remove')}`))));
18
+ };
19
+ //# sourceMappingURL=uploaded_image_picker_item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uploaded_image_picker_item.js","sourceRoot":"","sources":["../../../../../../../../src/components/image_picker/components/uploaded_image_picker_item.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAS/C,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAiC,EAAE,EAAE;IACjH,MAAM,CAAC,CAAC,CAAC,GAAG,cAAc,EAAE,CAAC;IAC7B,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjE,MAAM,UAAU,GAAG,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC;IAChD,MAAM,WAAW,GAAG,SAAS,IAAI,SAAS,CAAC,MAAM,CAAC;IAElD,OAAO,CACH,6BAAK,SAAS,EAAC,6FAA6F;QACxG,6BAAK,SAAS,EAAC,+EAA+E,IACzF,OAAO,IAAI,CACR;YACK,SAAS;YACT,IAAI,cAAc,KAAK,UAAU,IAAI,WAAW,KAAK,CACvD,CACN,CACC;QAEN,gDAAqB,4BAA4B,EAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAC,iIAAiI;YAChN,oBAAC,iBAAiB,IAAC,SAAS,EAAC,0CAA0C,GAAG;YAC1E,8BAAM,SAAS,EAAC,wDAAwD,IAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAQ,CAC7F,CACP,CACT,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import { IImagePicker } from './image_picker_types';
3
+ export declare const ImagePicker: React.FC<IImagePicker>;
@@ -0,0 +1,76 @@
1
+ import React, { createRef, memo, useEffect, useState } from 'react';
2
+ import { useTranslation } from 'react-i18next';
3
+ import { ErrorList } from '@auroraComponents/error_list/error_list';
4
+ import { ImagePickerPreview } from './components/image_picker_preview';
5
+ import { IMAGE_PICKER_EXTENSIONS } from './image_picker_constants';
6
+ import './image_picker_types';
7
+ import { ImagePickerInput } from './components/image_picker_input';
8
+ import { UploadedImagePickerItem } from './components/uploaded_image_picker_item';
9
+ import { getAcceptFilesParametersFromAllowedExtensions } from './image_picker_utils';
10
+ import { useImagePicker } from './use_image_picker';
11
+ import { cn } from '@auroraUtilities/cn';
12
+ export const ImagePicker = memo(({ id, onChange, onError, errors: initialErrors, allowedExtensions = [
13
+ IMAGE_PICKER_EXTENSIONS.WEBP,
14
+ IMAGE_PICKER_EXTENSIONS.JPG,
15
+ IMAGE_PICKER_EXTENSIONS.PNG,
16
+ IMAGE_PICKER_EXTENSIONS.GIF,
17
+ IMAGE_PICKER_EXTENSIONS.SVG,
18
+ IMAGE_PICKER_EXTENSIONS.JPEG
19
+ ], initialFile, name, onImageSizeUpdated, topButtons, editedImageResult }) => {
20
+ const [t] = useTranslation();
21
+ const inputRef = createRef();
22
+ const handleOnChange = (ev) => {
23
+ onChange?.(ev);
24
+ if (ev.fileList?.length) {
25
+ setImageSizeBasedOnUrl(URL.createObjectURL(ev.fileList[0]));
26
+ }
27
+ };
28
+ const { onDropFile, onFileChange, onDragOver, onDragLeave, onFileDelete, onPreviewError, changeFile, file, errors, isPreview, isDragOver } = useImagePicker({ initialFile, onChange: handleOnChange, allowedExtensions, initialErrors, onError, inputRef });
29
+ const [imageSize, setImageSize] = useState(undefined);
30
+ const acceptFiles = getAcceptFilesParametersFromAllowedExtensions(allowedExtensions);
31
+ useEffect(() => {
32
+ onImageSizeUpdated?.(imageSize);
33
+ }, [imageSize]);
34
+ useEffect(() => {
35
+ initialFile && setImageSizeBasedOnUrl(initialFile?.fileUrl);
36
+ }, [initialFile]);
37
+ useEffect(() => {
38
+ if (!editedImageResult)
39
+ return;
40
+ const fileList = createFileList(editedImageResult);
41
+ changeFile(fileList);
42
+ }, [editedImageResult]);
43
+ const createFileList = (file) => {
44
+ const fileArray = [];
45
+ fileArray.push(file);
46
+ return fileArray;
47
+ };
48
+ const setImageSizeBasedOnUrl = (fileUrl) => {
49
+ createImageFromUrl(fileUrl).then((image) => {
50
+ setImageSize({ width: image.naturalWidth, height: image.naturalHeight });
51
+ });
52
+ };
53
+ const createImageFromUrl = async (url) => {
54
+ const img = new Image();
55
+ img.src = url;
56
+ await img.decode();
57
+ return img;
58
+ };
59
+ const handleOnFileDelete = () => {
60
+ onFileDelete();
61
+ setImageSize(undefined);
62
+ };
63
+ return (React.createElement("div", { className: "aurora-mb-1" },
64
+ React.createElement("div", { className: cn('aurora-rounded-8 aurora-relative hover:aurora-border-active', {
65
+ 'aurora-border aurora-border-dashed': !(errors && errors.length > 0 && !isDragOver),
66
+ 'aurora-border-2 aurora-border-danger aurora-border-solid hover:aurora-border-danger': errors && errors.length > 0,
67
+ 'aurora-border-none': isDragOver
68
+ }) },
69
+ file && !errors?.length ? (isPreview ? (React.createElement("div", { className: "aurora-p-1 aurora-pb-2 aurora-relative" },
70
+ topButtons && React.createElement("div", null, topButtons),
71
+ React.createElement(ImagePickerPreview, { file: file, onError: onPreviewError }),
72
+ React.createElement(UploadedImagePickerItem, { imageSize: imageSize, file: file, isValid: !errors?.length, onFileDelete: handleOnFileDelete }))) : (React.createElement("div", null, `${t('No preview')}`))) : (React.createElement(ImagePickerInput, { onDragLeave: onDragLeave, onDragOver: onDragOver, isDragOver: isDragOver, allowedExtensions: allowedExtensions, id: id, onDropFile: onDropFile })),
73
+ React.createElement("input", { className: "aurora-hidden", onChange: onFileChange, id: id, ref: inputRef, type: "file", name: name, accept: acceptFiles })),
74
+ errors && React.createElement(ErrorList, { errors: errors })));
75
+ });
76
+ //# sourceMappingURL=image_picker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image_picker.js","sourceRoot":"","sources":["../../../../../../../src/components/image_picker/image_picker.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ export declare const IMAGE_PICKER_EXTENSIONS: {
2
+ readonly GIF: "gif";
3
+ readonly JPG: "jpg";
4
+ readonly JPEG: "jpeg";
5
+ readonly PNG: "png";
6
+ readonly WEBP: "webp";
7
+ readonly SVG: "svg";
8
+ };
9
+ export declare const MIME_FILE_EXTENSIONS: {
10
+ readonly gif: "image/gif";
11
+ readonly jpg: "image/jpg";
12
+ readonly jpeg: "image/jpeg";
13
+ readonly png: "image/png";
14
+ readonly webp: "image/webp";
15
+ readonly svg: "image/svg+xml";
16
+ };
17
+ export declare const FILE_EXTENSION_TO_MIME_TYPE: {
18
+ readonly gif: "image/gif";
19
+ readonly jpg: "image/jpg";
20
+ readonly jpeg: "image/jpeg";
21
+ readonly png: "image/png";
22
+ readonly webp: "image/webp";
23
+ readonly svg: "image/svg+xml";
24
+ };
25
+ export declare const MIME_TYPE_TO_FILE_EXTENSIONS: {
26
+ readonly "image/gif": "gif";
27
+ readonly "image/jpg": "jpg";
28
+ readonly "image/jpeg": "jpeg";
29
+ readonly "image/png": "png";
30
+ readonly "image/webp": "webp";
31
+ readonly "image/svg+xml": "svg";
32
+ };
33
+ export declare const IMAGE_PICKER_ERROR: {
34
+ invalidFileFormat: string;
35
+ };
@@ -0,0 +1,36 @@
1
+ export const IMAGE_PICKER_EXTENSIONS = {
2
+ GIF: 'gif',
3
+ JPG: 'jpg',
4
+ JPEG: 'jpeg',
5
+ PNG: 'png',
6
+ WEBP: 'webp',
7
+ SVG: 'svg'
8
+ };
9
+ export const MIME_FILE_EXTENSIONS = {
10
+ [IMAGE_PICKER_EXTENSIONS.GIF]: 'image/gif',
11
+ [IMAGE_PICKER_EXTENSIONS.JPG]: 'image/jpg',
12
+ [IMAGE_PICKER_EXTENSIONS.JPEG]: 'image/jpeg',
13
+ [IMAGE_PICKER_EXTENSIONS.PNG]: 'image/png',
14
+ [IMAGE_PICKER_EXTENSIONS.WEBP]: 'image/webp',
15
+ [IMAGE_PICKER_EXTENSIONS.SVG]: 'image/svg+xml'
16
+ };
17
+ export const FILE_EXTENSION_TO_MIME_TYPE = {
18
+ [IMAGE_PICKER_EXTENSIONS.GIF]: MIME_FILE_EXTENSIONS[IMAGE_PICKER_EXTENSIONS.GIF],
19
+ [IMAGE_PICKER_EXTENSIONS.JPG]: MIME_FILE_EXTENSIONS[IMAGE_PICKER_EXTENSIONS.JPG],
20
+ [IMAGE_PICKER_EXTENSIONS.JPEG]: MIME_FILE_EXTENSIONS[IMAGE_PICKER_EXTENSIONS.JPEG],
21
+ [IMAGE_PICKER_EXTENSIONS.PNG]: MIME_FILE_EXTENSIONS[IMAGE_PICKER_EXTENSIONS.PNG],
22
+ [IMAGE_PICKER_EXTENSIONS.WEBP]: MIME_FILE_EXTENSIONS[IMAGE_PICKER_EXTENSIONS.WEBP],
23
+ [IMAGE_PICKER_EXTENSIONS.SVG]: MIME_FILE_EXTENSIONS[IMAGE_PICKER_EXTENSIONS.SVG]
24
+ };
25
+ export const MIME_TYPE_TO_FILE_EXTENSIONS = {
26
+ [MIME_FILE_EXTENSIONS[IMAGE_PICKER_EXTENSIONS.GIF]]: IMAGE_PICKER_EXTENSIONS.GIF,
27
+ [MIME_FILE_EXTENSIONS[IMAGE_PICKER_EXTENSIONS.JPG]]: IMAGE_PICKER_EXTENSIONS.JPG,
28
+ [MIME_FILE_EXTENSIONS[IMAGE_PICKER_EXTENSIONS.JPEG]]: IMAGE_PICKER_EXTENSIONS.JPEG,
29
+ [MIME_FILE_EXTENSIONS[IMAGE_PICKER_EXTENSIONS.PNG]]: IMAGE_PICKER_EXTENSIONS.PNG,
30
+ [MIME_FILE_EXTENSIONS[IMAGE_PICKER_EXTENSIONS.WEBP]]: IMAGE_PICKER_EXTENSIONS.WEBP,
31
+ [MIME_FILE_EXTENSIONS[IMAGE_PICKER_EXTENSIONS.SVG]]: IMAGE_PICKER_EXTENSIONS.SVG
32
+ };
33
+ export const IMAGE_PICKER_ERROR = {
34
+ invalidFileFormat: 'Invalid file format'
35
+ };
36
+ //# sourceMappingURL=image_picker_constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image_picker_constants.js","sourceRoot":"","sources":["../../../../../../../src/components/image_picker/image_picker_constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACnC,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;CACJ,CAAC;AAEX,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAChC,CAAC,uBAAuB,CAAC,GAAG,CAAC,EAAE,WAAW;IAC1C,CAAC,uBAAuB,CAAC,GAAG,CAAC,EAAE,WAAW;IAC1C,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAE,YAAY;IAC5C,CAAC,uBAAuB,CAAC,GAAG,CAAC,EAAE,WAAW;IAC1C,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAE,YAAY;IAC5C,CAAC,uBAAuB,CAAC,GAAG,CAAC,EAAE,eAAe;CACxC,CAAC;AAEX,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACvC,CAAC,uBAAuB,CAAC,GAAG,CAAC,EAAE,oBAAoB,CAAC,uBAAuB,CAAC,GAAG,CAAC;IAChF,CAAC,uBAAuB,CAAC,GAAG,CAAC,EAAE,oBAAoB,CAAC,uBAAuB,CAAC,GAAG,CAAC;IAChF,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAE,oBAAoB,CAAC,uBAAuB,CAAC,IAAI,CAAC;IAClF,CAAC,uBAAuB,CAAC,GAAG,CAAC,EAAE,oBAAoB,CAAC,uBAAuB,CAAC,GAAG,CAAC;IAChF,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAE,oBAAoB,CAAC,uBAAuB,CAAC,IAAI,CAAC;IAClF,CAAC,uBAAuB,CAAC,GAAG,CAAC,EAAE,oBAAoB,CAAC,uBAAuB,CAAC,GAAG,CAAC;CAC1E,CAAC;AAEX,MAAM,CAAC,MAAM,4BAA4B,GAAG;IACxC,CAAC,oBAAoB,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,EAAE,uBAAuB,CAAC,GAAG;IAChF,CAAC,oBAAoB,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,EAAE,uBAAuB,CAAC,GAAG;IAChF,CAAC,oBAAoB,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,EAAE,uBAAuB,CAAC,IAAI;IAClF,CAAC,oBAAoB,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,EAAE,uBAAuB,CAAC,GAAG;IAChF,CAAC,oBAAoB,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,EAAE,uBAAuB,CAAC,IAAI;IAClF,CAAC,oBAAoB,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,EAAE,uBAAuB,CAAC,GAAG;CAC1E,CAAC;AAEX,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAC9B,iBAAiB,EAAE,qBAAqB;CAC3C,CAAC"}
@@ -0,0 +1,59 @@
1
+ import React, { ChangeEvent, ReactNode } from 'react';
2
+ import { IMAGE_PICKER_EXTENSIONS, MIME_FILE_EXTENSIONS } from './image_picker_constants';
3
+ import { TControlErrors } from "../control/control_types";
4
+ export declare type TImagePickerFile = {
5
+ fileUrl: string;
6
+ fileName: string;
7
+ };
8
+ export declare type TImagePickerExtension = typeof IMAGE_PICKER_EXTENSIONS[keyof typeof IMAGE_PICKER_EXTENSIONS];
9
+ export declare type TMimeFileExtension = typeof MIME_FILE_EXTENSIONS[keyof typeof MIME_FILE_EXTENSIONS];
10
+ export declare type IUseFilePickerOnChange = {
11
+ fileList: FileList | null;
12
+ fileAsDataUrl?: string | ArrayBuffer | null;
13
+ };
14
+ export interface IImagePicker {
15
+ id: string;
16
+ name?: string;
17
+ className?: string;
18
+ onChange?: (file: IUseFilePickerOnChange) => void;
19
+ allowedExtensions?: TImagePickerExtension[];
20
+ initialFile?: TImagePickerFile;
21
+ errors?: TControlErrors;
22
+ onError?: (errors: string[]) => void;
23
+ onImageSizeUpdated?: (imageSize?: TImageSize) => void;
24
+ topButtons?: ReactNode;
25
+ editedImageResult?: File;
26
+ }
27
+ export interface IImagePickerInput {
28
+ id: string;
29
+ onDropFile: (event: React.DragEvent<HTMLLabelElement>) => void;
30
+ onDragOver: (event: React.DragEvent<HTMLLabelElement>) => void;
31
+ onDragLeave: (event: React.DragEvent<HTMLLabelElement>) => void;
32
+ allowedExtensions: TImagePickerExtension[];
33
+ isDragOver: boolean;
34
+ }
35
+ export declare type TImageSize = {
36
+ width: number;
37
+ height: number;
38
+ };
39
+ export interface IUseImagePicker {
40
+ onDropFile: (event: React.DragEvent<HTMLLabelElement>) => void;
41
+ onDragOver: (event: React.DragEvent<HTMLLabelElement>) => void;
42
+ onDragLeave: (event: React.DragEvent<HTMLLabelElement>) => void;
43
+ onFileChange: (event: ChangeEvent<HTMLInputElement>) => void;
44
+ onFileDelete: () => void;
45
+ onPreviewError: () => void;
46
+ changeFile: (files: FileList) => void;
47
+ file: TImagePickerFile | undefined;
48
+ errors: string[];
49
+ isPreview: boolean;
50
+ isDragOver: boolean;
51
+ }
52
+ export interface IUseImagePickerProps {
53
+ onChange?: (file: IUseFilePickerOnChange) => void;
54
+ initialFile?: TImagePickerFile;
55
+ allowedExtensions?: TImagePickerExtension[];
56
+ inputRef: React.RefObject<HTMLInputElement>;
57
+ initialErrors?: TControlErrors;
58
+ onError?: (errors: string[]) => void;
59
+ }
@@ -0,0 +1,4 @@
1
+ import 'react';
2
+ import './image_picker_constants';
3
+ import '@auroraComponents/control/control_types';
4
+ //# sourceMappingURL=image_picker_types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image_picker_types.js","sourceRoot":"","sources":["../../../../../../../src/components/image_picker/image_picker_types.ts"],"names":[],"mappings":"AAAA,OAA8C,OAAO,CAAC;AACtD,OAA8D,0BAA0B,CAAC;AACzF,OAA+B,yCAAyC,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const getAcceptFilesParametersFromAllowedExtensions: (allowedExtensions: string[]) => string;
@@ -0,0 +1,6 @@
1
+ import { FILE_EXTENSION_TO_MIME_TYPE } from './image_picker_constants';
2
+ import './image_picker_types';
3
+ export const getAcceptFilesParametersFromAllowedExtensions = (allowedExtensions) => {
4
+ return allowedExtensions.map((extension) => FILE_EXTENSION_TO_MIME_TYPE[extension]).join(', ');
5
+ };
6
+ //# sourceMappingURL=image_picker_utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image_picker_utils.js","sourceRoot":"","sources":["../../../../../../../src/components/image_picker/image_picker_utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAsC,sBAAsB,CAAC;AAE7D,MAAM,CAAC,MAAM,6CAA6C,GAAG,CAAC,iBAA2B,EAAE,EAAE;IACzF,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC,SAAgC,EAAE,EAAE,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1H,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { IUseImagePicker, IUseImagePickerProps } from './image_picker_types';
2
+ export declare const useImagePicker: ({ onChange, initialFile, allowedExtensions, inputRef, initialErrors, onError }: IUseImagePickerProps) => IUseImagePicker;
@@ -0,0 +1,117 @@
1
+ import { useEffect, useRef, useState } from 'react';
2
+ import i18n from '../../i18n';
3
+ import { IMAGE_PICKER_ERROR, MIME_TYPE_TO_FILE_EXTENSIONS } from './image_picker_constants';
4
+ import './image_picker_types';
5
+ export const useImagePicker = ({ onChange, initialFile, allowedExtensions, inputRef, initialErrors, onError }) => {
6
+ const [fileList, setFileList] = useState(null);
7
+ const [file, setFile] = useState(initialFile);
8
+ const [fileAsDataUrl, setFileAsDataUrl] = useState(null);
9
+ const [errors, setErrors] = useState([]);
10
+ const [isDragOver, setDragOver] = useState(false);
11
+ const [isPreview, setPreview] = useState(true);
12
+ const reader = useRef(new FileReader());
13
+ useEffect(() => {
14
+ reader.current && getDataUrlFromFile(reader.current.result);
15
+ reader.current.addEventListener('load', () => getDataUrlFromFile(reader.current.result), false);
16
+ return () => reader.current.removeEventListener('load', () => getDataUrlFromFile(reader.current.result));
17
+ }, []);
18
+ useEffect(() => {
19
+ setFile(initialFile);
20
+ }, [initialFile]);
21
+ useEffect(() => {
22
+ initialErrors && setErrors(initialErrors);
23
+ }, [initialErrors]);
24
+ useEffect(() => {
25
+ fileAsDataUrl && onChange?.({ fileList, fileAsDataUrl });
26
+ }, [fileAsDataUrl]);
27
+ const onDropFile = (event) => {
28
+ setErrors([]);
29
+ event.stopPropagation();
30
+ event.preventDefault();
31
+ const { dataTransfer: { files } } = event;
32
+ if (!files.length)
33
+ return;
34
+ validateFileExtension(allowedExtensions, files[0].type);
35
+ setDragOver(false);
36
+ updateFile(files);
37
+ };
38
+ const validateFileExtension = (allowedExtensions, mimeType) => {
39
+ if (!allowedExtensions)
40
+ return true;
41
+ const isValid = allowedExtensions.reduce((acc, extension) => {
42
+ return acc ? acc : MIME_TYPE_TO_FILE_EXTENSIONS[mimeType] === extension;
43
+ }, false);
44
+ if (isValid) {
45
+ setErrors([]);
46
+ return isValid;
47
+ }
48
+ setErrors([...errors, i18n.t(IMAGE_PICKER_ERROR.invalidFileFormat)]);
49
+ onError?.(errors);
50
+ return isValid;
51
+ };
52
+ const onFileChange = (event) => {
53
+ changeFile(event.target.files);
54
+ };
55
+ const changeFile = (files) => {
56
+ setErrors([]);
57
+ updateFile(files);
58
+ };
59
+ const updateFile = (files) => {
60
+ if (files?.length) {
61
+ setFileList(files);
62
+ reader.current.readAsDataURL(files[0]);
63
+ setFile({
64
+ fileName: files?.[0].name,
65
+ fileUrl: URL.createObjectURL(files?.[0])
66
+ });
67
+ const isValid = validateFileExtension(allowedExtensions, files[0].type);
68
+ if (isValid)
69
+ onChange?.({ fileList: files });
70
+ }
71
+ else {
72
+ setFile(undefined);
73
+ onChange?.({ fileList: files });
74
+ }
75
+ setPreview(true);
76
+ };
77
+ const getDataUrlFromFile = (fileReaderResult) => {
78
+ setFileAsDataUrl(fileReaderResult);
79
+ };
80
+ const onDragOver = (event) => {
81
+ event.stopPropagation();
82
+ event.preventDefault();
83
+ event.dataTransfer.dropEffect = 'copy';
84
+ if (!isDragOver) {
85
+ setDragOver(true);
86
+ }
87
+ };
88
+ const onDragLeave = () => {
89
+ setDragOver(false);
90
+ };
91
+ const onFileDelete = () => {
92
+ inputRef.current.value = '';
93
+ setFileList(null);
94
+ setFile(undefined);
95
+ setFileAsDataUrl(null);
96
+ setPreview(true);
97
+ setErrors([]);
98
+ onChange?.({ fileList: null, fileAsDataUrl: null });
99
+ };
100
+ const onPreviewError = () => {
101
+ setPreview(false);
102
+ };
103
+ return {
104
+ onDropFile,
105
+ onFileChange,
106
+ onDragOver,
107
+ onDragLeave,
108
+ onFileDelete,
109
+ onPreviewError,
110
+ changeFile,
111
+ file,
112
+ errors,
113
+ isPreview,
114
+ isDragOver
115
+ };
116
+ };
117
+ //# sourceMappingURL=use_image_picker.js.map