@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.
- package/build/cjs/_virtual/_rollupPluginBabelHelpers.js +49 -0
- package/build/cjs/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
- package/build/cjs/external/@radix-ui/react-direction/dist/index.mjs.js +16 -0
- package/build/cjs/external/@radix-ui/react-direction/dist/index.mjs.js.map +1 -0
- package/build/cjs/external/@radix-ui/react-id/dist/index.mjs.js +49 -0
- package/build/cjs/external/@radix-ui/react-id/dist/index.mjs.js.map +1 -0
- package/build/cjs/external/@radix-ui/react-radio-group/dist/index.mjs.js +284 -0
- package/build/cjs/external/@radix-ui/react-radio-group/dist/index.mjs.js.map +1 -0
- package/build/cjs/external/@radix-ui/react-radio-group/external/@radix-ui/primitive/dist/index.mjs.js +19 -0
- package/build/cjs/external/@radix-ui/react-radio-group/external/@radix-ui/primitive/dist/index.mjs.js.map +1 -0
- package/build/cjs/external/@radix-ui/react-radio-group/external/@radix-ui/react-collection/dist/index.mjs.js +102 -0
- package/build/cjs/external/@radix-ui/react-radio-group/external/@radix-ui/react-collection/dist/index.mjs.js.map +1 -0
- package/build/cjs/external/@radix-ui/react-radio-group/external/@radix-ui/react-compose-refs/dist/index.mjs.js +51 -0
- package/build/cjs/external/@radix-ui/react-radio-group/external/@radix-ui/react-compose-refs/dist/index.mjs.js.map +1 -0
- package/build/cjs/external/@radix-ui/react-radio-group/external/@radix-ui/react-presence/dist/index.mjs.js +149 -0
- package/build/cjs/external/@radix-ui/react-radio-group/external/@radix-ui/react-presence/dist/index.mjs.js.map +1 -0
- package/build/cjs/external/@radix-ui/react-radio-group/external/@radix-ui/react-primitive/dist/index.mjs.js +30 -0
- package/build/cjs/external/@radix-ui/react-radio-group/external/@radix-ui/react-primitive/dist/index.mjs.js.map +1 -0
- package/build/cjs/external/@radix-ui/react-radio-group/external/@radix-ui/react-roving-focus/dist/index.mjs.js +282 -0
- package/build/cjs/external/@radix-ui/react-radio-group/external/@radix-ui/react-roving-focus/dist/index.mjs.js.map +1 -0
- package/build/cjs/packages/aurora/src/components/controls/input_control/input_control.js +6 -1
- package/build/cjs/packages/aurora/src/components/controls/input_control/input_control.js.map +1 -1
- package/build/cjs/packages/aurora/src/components/controls/switch_control/switch_control.js +2 -1
- package/build/cjs/packages/aurora/src/components/controls/switch_control/switch_control.js.map +1 -1
- package/build/cjs/packages/aurora/src/components/radio_group/radio_group.js +37 -0
- package/build/cjs/packages/aurora/src/components/radio_group/radio_group.js.map +1 -0
- package/build/cjs/packages/aurora/src/components/sidebar/components/temporal_sidebar.js +35 -39
- package/build/cjs/packages/aurora/src/components/sidebar/components/temporal_sidebar.js.map +1 -1
- package/build/cjs/packages/aurora/src/components/sidebar/context/sidebar_prvider.js +2 -1
- package/build/cjs/packages/aurora/src/components/sidebar/context/sidebar_prvider.js.map +1 -1
- package/build/cjs/packages/aurora/src/constants/css_tokens/css_icon_color_tokens.js +1 -1
- package/build/cjs/packages/aurora/src/index.js +2 -0
- package/build/cjs/packages/aurora/src/index.js.map +1 -1
- package/build/esm/_virtual/_rollupPluginBabelHelpers.js +49 -1
- package/build/esm/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
- package/build/esm/external/@radix-ui/react-direction/dist/index.mjs.js +12 -0
- package/build/esm/external/@radix-ui/react-direction/dist/index.mjs.js.map +1 -0
- package/build/esm/external/@radix-ui/react-id/dist/index.mjs.js +24 -0
- package/build/esm/external/@radix-ui/react-id/dist/index.mjs.js.map +1 -0
- package/build/esm/external/@radix-ui/react-radio-group/dist/index.mjs.js +276 -0
- package/build/esm/external/@radix-ui/react-radio-group/dist/index.mjs.js.map +1 -0
- package/build/esm/external/@radix-ui/react-radio-group/external/@radix-ui/primitive/dist/index.mjs.js +15 -0
- package/build/esm/external/@radix-ui/react-radio-group/external/@radix-ui/primitive/dist/index.mjs.js.map +1 -0
- package/build/esm/external/@radix-ui/react-radio-group/external/@radix-ui/react-collection/dist/index.mjs.js +94 -0
- package/build/esm/external/@radix-ui/react-radio-group/external/@radix-ui/react-collection/dist/index.mjs.js.map +1 -0
- package/build/esm/external/@radix-ui/react-radio-group/external/@radix-ui/react-compose-refs/dist/index.mjs.js +46 -0
- package/build/esm/external/@radix-ui/react-radio-group/external/@radix-ui/react-compose-refs/dist/index.mjs.js.map +1 -0
- package/build/esm/external/@radix-ui/react-radio-group/external/@radix-ui/react-presence/dist/index.mjs.js +145 -0
- package/build/esm/external/@radix-ui/react-radio-group/external/@radix-ui/react-presence/dist/index.mjs.js.map +1 -0
- package/build/esm/external/@radix-ui/react-radio-group/external/@radix-ui/react-primitive/dist/index.mjs.js +26 -0
- package/build/esm/external/@radix-ui/react-radio-group/external/@radix-ui/react-primitive/dist/index.mjs.js.map +1 -0
- package/build/esm/external/@radix-ui/react-radio-group/external/@radix-ui/react-roving-focus/dist/index.mjs.js +274 -0
- package/build/esm/external/@radix-ui/react-radio-group/external/@radix-ui/react-roving-focus/dist/index.mjs.js.map +1 -0
- package/build/esm/external/react-best-gradient-color-picker/dist/esm/components/EyeDropper.js +8 -8
- package/build/esm/external/react-best-gradient-color-picker/dist/esm/components/GradientBar.js +7 -7
- package/build/esm/external/react-best-gradient-color-picker/dist/esm/components/GradientControls.js +16 -16
- package/build/esm/external/react-best-gradient-color-picker/dist/esm/components/Hue.js +4 -4
- package/build/esm/external/react-best-gradient-color-picker/dist/esm/components/Opacity.js +5 -5
- package/build/esm/external/react-best-gradient-color-picker/dist/esm/components/Square.js +6 -6
- package/build/esm/external/react-best-gradient-color-picker/dist/esm/components/icon.js +16 -16
- package/build/esm/external/react-best-gradient-color-picker/dist/esm/context.js +2 -2
- package/build/esm/external/react-i18next/dist/es/context.js +2 -2
- package/build/esm/packages/aurora/src/assets/icons/circle_icon.d.ts +1 -0
- package/build/esm/packages/aurora/src/assets/icons/circle_icon.js +3 -0
- package/build/esm/packages/aurora/src/assets/icons/circle_icon.js.map +1 -0
- package/build/esm/packages/aurora/src/assets/icons/delete_bin_icon.d.ts +1 -0
- package/build/esm/packages/aurora/src/assets/icons/delete_bin_icon.js +3 -0
- package/build/esm/packages/aurora/src/assets/icons/delete_bin_icon.js.map +1 -0
- package/build/esm/packages/aurora/src/assets/icons/image_edit_icon.d.ts +1 -0
- package/build/esm/packages/aurora/src/assets/icons/image_edit_icon.js +3 -0
- package/build/esm/packages/aurora/src/assets/icons/image_edit_icon.js.map +1 -0
- package/build/esm/packages/aurora/src/assets/icons/layout_bottom_line_icon.d.ts +1 -0
- package/build/esm/packages/aurora/src/assets/icons/layout_bottom_line_icon.js +3 -0
- package/build/esm/packages/aurora/src/assets/icons/layout_bottom_line_icon.js.map +1 -0
- package/build/esm/packages/aurora/src/assets/icons/upload_icon.d.ts +1 -0
- package/build/esm/packages/aurora/src/assets/icons/upload_icon.js +3 -0
- package/build/esm/packages/aurora/src/assets/icons/upload_icon.js.map +1 -0
- package/build/esm/packages/aurora/src/components/accordion/context/accordion_context.js +2 -2
- package/build/esm/packages/aurora/src/components/action_list/action_list.js +2 -2
- package/build/esm/packages/aurora/src/components/action_list/components/action_list_content.js +3 -3
- package/build/esm/packages/aurora/src/components/action_list/components/action_list_divider.js +2 -2
- package/build/esm/packages/aurora/src/components/action_list/components/action_list_group.js +3 -3
- package/build/esm/packages/aurora/src/components/action_list/components/action_list_item.js +3 -3
- package/build/esm/packages/aurora/src/components/action_list/components/action_list_label.js +5 -5
- package/build/esm/packages/aurora/src/components/action_list/components/action_list_radio_group.js +3 -3
- package/build/esm/packages/aurora/src/components/action_list/components/action_list_radio_item.js +4 -4
- package/build/esm/packages/aurora/src/components/action_list/components/action_list_sub_content.js +3 -3
- package/build/esm/packages/aurora/src/components/action_list/components/action_list_sub_trigger.js +5 -5
- package/build/esm/packages/aurora/src/components/action_list/components/action_list_trigger.js +3 -3
- package/build/esm/packages/aurora/src/components/box/box.js +3 -3
- package/build/esm/packages/aurora/src/components/breadcrumbs/breadcrumb_child.d.ts +3 -0
- package/build/esm/packages/aurora/src/components/breadcrumbs/breadcrumb_child.js +14 -0
- package/build/esm/packages/aurora/src/components/breadcrumbs/breadcrumb_child.js.map +1 -0
- package/build/esm/packages/aurora/src/components/breadcrumbs/breadcrumbs.d.ts +6 -0
- package/build/esm/packages/aurora/src/components/breadcrumbs/breadcrumbs.js +35 -0
- package/build/esm/packages/aurora/src/components/breadcrumbs/breadcrumbs.js.map +1 -0
- package/build/esm/packages/aurora/src/components/breadcrumbs/breadcrumbs_types.d.ts +10 -0
- package/build/esm/packages/aurora/src/components/breadcrumbs/breadcrumbs_types.js +2 -0
- package/build/esm/packages/aurora/src/components/breadcrumbs/breadcrumbs_types.js.map +1 -0
- package/build/esm/packages/aurora/src/components/button/button.js +3 -3
- package/build/esm/packages/aurora/src/components/color_picker/color_picker.js +3 -3
- package/build/esm/packages/aurora/src/components/color_picker/components/color_label_input.js +2 -2
- package/build/esm/packages/aurora/src/components/color_picker/components/color_picker_content.js +5 -5
- package/build/esm/packages/aurora/src/components/color_picker/components/color_picker_controls.js +10 -10
- package/build/esm/packages/aurora/src/components/color_picker/components/color_picker_footer.js +4 -4
- package/build/esm/packages/aurora/src/components/color_picker/components/color_picker_gradient_controls/color_picker_gradient_angle.js +5 -5
- package/build/esm/packages/aurora/src/components/color_picker/components/color_picker_header.js +5 -5
- package/build/esm/packages/aurora/src/components/color_picker/components/color_picker_impl/color_picker_impl.js +4 -4
- package/build/esm/packages/aurora/src/components/color_picker/components/color_picker_impl/picker_impl.js +7 -7
- package/build/esm/packages/aurora/src/components/color_picker/components/color_picker_inputs/color_picker_inputs.js +10 -10
- package/build/esm/packages/aurora/src/components/color_picker/components/color_picker_inputs/color_picker_inputs_hex.js +3 -3
- package/build/esm/packages/aurora/src/components/color_picker/components/color_picker_inputs/color_picker_inputs_rgba.js +5 -5
- package/build/esm/packages/aurora/src/components/color_picker/components/color_picker_mode_toggler.js +11 -11
- package/build/esm/packages/aurora/src/components/color_picker/components/color_picker_shades.js +6 -6
- package/build/esm/packages/aurora/src/components/color_picker/components/color_picker_swatch.js +3 -3
- package/build/esm/packages/aurora/src/components/color_picker/components/color_picker_variables.js +10 -10
- package/build/esm/packages/aurora/src/components/color_picker/components/current_color_preview.js +2 -2
- package/build/esm/packages/aurora/src/components/color_picker/components/pure_color_picker.js +9 -9
- package/build/esm/packages/aurora/src/components/control/control.d.ts +1 -1
- package/build/esm/packages/aurora/src/components/control/control.js +2 -2
- package/build/esm/packages/aurora/src/components/control/control_types.d.ts +2 -1
- package/build/esm/packages/aurora/src/components/control/control_types.js +1 -1
- package/build/esm/packages/aurora/src/components/controls/checkbox_control/checkbox_control.js +1 -1
- package/build/esm/packages/aurora/src/components/controls/checkbox_control/checkbox_control.js.map +1 -1
- package/build/esm/packages/aurora/src/components/controls/color_picker_control/color_picker_control.js +5 -5
- package/build/esm/packages/aurora/src/components/controls/controls_group/controls_group.d.ts +3 -0
- package/build/esm/packages/aurora/src/components/controls/controls_group/controls_group.js +7 -0
- package/build/esm/packages/aurora/src/components/controls/controls_group/controls_group.js.map +1 -0
- package/build/esm/packages/aurora/src/components/controls/input_control/input_control.js +11 -6
- package/build/esm/packages/aurora/src/components/controls/input_control/input_control.js.map +1 -1
- package/build/esm/packages/aurora/src/components/controls/input_control/input_control_types.d.ts +1 -0
- package/build/esm/packages/aurora/src/components/controls/radio_group_control/radio_group_control.d.ts +3 -0
- package/build/esm/packages/aurora/src/components/controls/radio_group_control/radio_group_control.js +17 -0
- package/build/esm/packages/aurora/src/components/controls/radio_group_control/radio_group_control.js.map +1 -0
- package/build/esm/packages/aurora/src/components/controls/radio_group_control/radio_group_control_types.d.ts +8 -0
- package/build/esm/packages/aurora/src/components/controls/radio_group_control/radio_group_control_types.js +3 -0
- package/build/esm/packages/aurora/src/components/controls/radio_group_control/radio_group_control_types.js.map +1 -0
- package/build/esm/packages/aurora/src/components/controls/switch_control/switch_control.js +7 -6
- package/build/esm/packages/aurora/src/components/controls/switch_control/switch_control.js.map +1 -1
- package/build/esm/packages/aurora/src/components/controls/text_area_control/text_area_control.d.ts +3 -0
- package/build/esm/packages/aurora/src/components/controls/text_area_control/text_area_control.js +17 -0
- package/build/esm/packages/aurora/src/components/controls/text_area_control/text_area_control.js.map +1 -0
- package/build/esm/packages/aurora/src/components/controls/text_area_control/text_area_control_types.d.ts +8 -0
- package/build/esm/packages/aurora/src/components/controls/text_area_control/text_area_control_types.js +3 -0
- package/build/esm/packages/aurora/src/components/controls/text_area_control/text_area_control_types.js.map +1 -0
- package/build/esm/packages/aurora/src/components/controls/values_syncer_control/values_syncer_control.d.ts +3 -0
- package/build/esm/packages/aurora/src/components/controls/values_syncer_control/values_syncer_control.js +14 -0
- package/build/esm/packages/aurora/src/components/controls/values_syncer_control/values_syncer_control.js.map +1 -0
- package/build/esm/packages/aurora/src/components/controls/values_syncer_control/values_syncer_control_types.d.ts +9 -0
- package/build/esm/packages/aurora/src/components/controls/values_syncer_control/values_syncer_control_types.js +3 -0
- package/build/esm/packages/aurora/src/components/controls/values_syncer_control/values_syncer_control_types.js.map +1 -0
- package/build/esm/packages/aurora/src/components/controls/xhr_image_picker_control/xhr_image_picker_control.d.ts +3 -0
- package/build/esm/packages/aurora/src/components/controls/xhr_image_picker_control/xhr_image_picker_control.js +24 -0
- package/build/esm/packages/aurora/src/components/controls/xhr_image_picker_control/xhr_image_picker_control.js.map +1 -0
- package/build/esm/packages/aurora/src/components/controls/xhr_image_picker_control/xhr_image_picker_control_types.d.ts +15 -0
- package/build/esm/packages/aurora/src/components/controls/xhr_image_picker_control/xhr_image_picker_control_types.js +5 -0
- package/build/esm/packages/aurora/src/components/controls/xhr_image_picker_control/xhr_image_picker_control_types.js.map +1 -0
- package/build/esm/packages/aurora/src/components/divider/divider.js +3 -3
- package/build/esm/packages/aurora/src/components/icon_button/icon_button.js +4 -4
- package/build/esm/packages/aurora/src/components/image_picker/components/image_picker_input.d.ts +9 -0
- package/build/esm/packages/aurora/src/components/image_picker/components/image_picker_input.js +19 -0
- package/build/esm/packages/aurora/src/components/image_picker/components/image_picker_input.js.map +1 -0
- package/build/esm/packages/aurora/src/components/image_picker/components/image_picker_preview.d.ts +9 -0
- package/build/esm/packages/aurora/src/components/image_picker/components/image_picker_preview.js +6 -0
- package/build/esm/packages/aurora/src/components/image_picker/components/image_picker_preview.js.map +1 -0
- package/build/esm/packages/aurora/src/components/image_picker/components/uploaded_image_picker_item.d.ts +9 -0
- package/build/esm/packages/aurora/src/components/image_picker/components/uploaded_image_picker_item.js +19 -0
- package/build/esm/packages/aurora/src/components/image_picker/components/uploaded_image_picker_item.js.map +1 -0
- package/build/esm/packages/aurora/src/components/image_picker/image_picker.d.ts +3 -0
- package/build/esm/packages/aurora/src/components/image_picker/image_picker.js +76 -0
- package/build/esm/packages/aurora/src/components/image_picker/image_picker.js.map +1 -0
- package/build/esm/packages/aurora/src/components/image_picker/image_picker_constants.d.ts +35 -0
- package/build/esm/packages/aurora/src/components/image_picker/image_picker_constants.js +36 -0
- package/build/esm/packages/aurora/src/components/image_picker/image_picker_constants.js.map +1 -0
- package/build/esm/packages/aurora/src/components/image_picker/image_picker_types.d.ts +59 -0
- package/build/esm/packages/aurora/src/components/image_picker/image_picker_types.js +4 -0
- package/build/esm/packages/aurora/src/components/image_picker/image_picker_types.js.map +1 -0
- package/build/esm/packages/aurora/src/components/image_picker/image_picker_utils.d.ts +1 -0
- package/build/esm/packages/aurora/src/components/image_picker/image_picker_utils.js +6 -0
- package/build/esm/packages/aurora/src/components/image_picker/image_picker_utils.js.map +1 -0
- package/build/esm/packages/aurora/src/components/image_picker/use_image_picker.d.ts +2 -0
- package/build/esm/packages/aurora/src/components/image_picker/use_image_picker.js +117 -0
- package/build/esm/packages/aurora/src/components/image_picker/use_image_picker.js.map +1 -0
- package/build/esm/packages/aurora/src/components/input/input.js +6 -6
- package/build/esm/packages/aurora/src/components/label/components/label_content.js +4 -4
- package/build/esm/packages/aurora/src/components/link/link.js +3 -3
- package/build/esm/packages/aurora/src/components/loader/loader.js +2 -2
- package/build/esm/packages/aurora/src/components/message_box/message_box.js +11 -11
- package/build/esm/packages/aurora/src/components/modal/components/modal/modal.js +5 -5
- package/build/esm/packages/aurora/src/components/modal/components/modal/modal_close_icon.js +3 -3
- package/build/esm/packages/aurora/src/components/modal/components/modal/modal_footer.js +2 -2
- package/build/esm/packages/aurora/src/components/modal/components/modal/modal_header.js +4 -4
- package/build/esm/packages/aurora/src/components/modal/components/modals_wrapper.js +4 -4
- package/build/esm/packages/aurora/src/components/modal/modals_manager.js +3 -3
- package/build/esm/packages/aurora/src/components/popover/components/popover_content.js +3 -3
- package/build/esm/packages/aurora/src/components/radio_group/components/radio_group_item.d.ts +3 -0
- package/build/esm/packages/aurora/src/components/radio_group/components/radio_group_item.js +21 -0
- package/build/esm/packages/aurora/src/components/radio_group/components/radio_group_item.js.map +1 -0
- package/build/esm/packages/aurora/src/components/radio_group/radio_group.d.ts +3 -0
- package/build/esm/packages/aurora/src/components/radio_group/radio_group.js +33 -0
- package/build/esm/packages/aurora/src/components/radio_group/radio_group.js.map +1 -0
- package/build/esm/packages/aurora/src/components/radio_group/radio_group_types.d.ts +11 -0
- package/build/esm/packages/aurora/src/components/radio_group/radio_group_types.js +2 -0
- package/build/esm/packages/aurora/src/components/radio_group/radio_group_types.js.map +1 -0
- package/build/esm/packages/aurora/src/components/segmented_control/components/segmented_control_item.js +4 -4
- package/build/esm/packages/aurora/src/components/segmented_control/context/segmented_control_context.js +2 -2
- package/build/esm/packages/aurora/src/components/segmented_control/segmented_control.js +4 -4
- package/build/esm/packages/aurora/src/components/sidebar/components/persistent_sidebar.js +4 -4
- package/build/esm/packages/aurora/src/components/sidebar/components/sidebar_toggle.js +2 -2
- package/build/esm/packages/aurora/src/components/sidebar/components/temporal_sidebar.js +39 -43
- package/build/esm/packages/aurora/src/components/sidebar/components/temporal_sidebar.js.map +1 -1
- package/build/esm/packages/aurora/src/components/sidebar/context/sidebar_context.js +2 -2
- package/build/esm/packages/aurora/src/components/sidebar/context/sidebar_context_types.d.ts +1 -0
- package/build/esm/packages/aurora/src/components/sidebar/context/sidebar_prvider.js +2 -1
- package/build/esm/packages/aurora/src/components/sidebar/context/sidebar_prvider.js.map +1 -1
- package/build/esm/packages/aurora/src/components/sidebar/hooks/use_sidebar.js +2 -2
- package/build/esm/packages/aurora/src/components/sidebar/sidebar.js +4 -4
- package/build/esm/packages/aurora/src/components/stack/stack.js +3 -3
- package/build/esm/packages/aurora/src/components/switch/switch.js +4 -4
- package/build/esm/packages/aurora/src/components/tabs/context/tabs_context.js +2 -2
- package/build/esm/packages/aurora/src/components/tabs/tabs.js +4 -4
- package/build/esm/packages/aurora/src/components/text_area/text_area.d.ts +3 -0
- package/build/esm/packages/aurora/src/components/text_area/text_area.js +7 -0
- package/build/esm/packages/aurora/src/components/text_area/text_area.js.map +1 -0
- package/build/esm/packages/aurora/src/components/text_area/text_area_types.d.ts +4 -0
- package/build/esm/packages/aurora/src/components/text_area/text_area_types.js +2 -0
- package/build/esm/packages/aurora/src/components/text_area/text_area_types.js.map +1 -0
- package/build/esm/packages/aurora/src/components/text_area/text_area_variants.d.ts +1 -0
- package/build/esm/packages/aurora/src/components/text_area/text_area_variants.js +3 -0
- package/build/esm/packages/aurora/src/components/text_area/text_area_variants.js.map +1 -0
- package/build/esm/packages/aurora/src/components/typography/typography.js +2 -2
- package/build/esm/packages/aurora/src/components/xhr_image_picker/xhr_image_picker.d.ts +3 -0
- package/build/esm/packages/aurora/src/components/xhr_image_picker/xhr_image_picker.js +102 -0
- package/build/esm/packages/aurora/src/components/xhr_image_picker/xhr_image_picker.js.map +1 -0
- package/build/esm/packages/aurora/src/components/xhr_image_picker/xhr_image_picker_types.d.ts +17 -0
- package/build/esm/packages/aurora/src/components/xhr_image_picker/xhr_image_picker_types.js +2 -0
- package/build/esm/packages/aurora/src/components/xhr_image_picker/xhr_image_picker_types.js.map +1 -0
- package/build/esm/packages/aurora/src/constants/css_tokens/css_icon_color_tokens.d.ts +1 -1
- package/build/esm/packages/aurora/src/constants/css_tokens/css_icon_color_tokens.js +1 -1
- package/build/esm/packages/aurora/src/hooks/search/use_force_render.d.ts +1 -0
- package/build/esm/packages/aurora/src/hooks/search/use_force_render.js +6 -0
- package/build/esm/packages/aurora/src/hooks/search/use_force_render.js.map +1 -0
- package/build/esm/packages/aurora/src/index.d.ts +1 -0
- package/build/esm/packages/aurora/src/index.js +1 -0
- package/build/esm/packages/aurora/src/index.js.map +1 -1
- package/build/index.css +1 -1
- 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 @@
|
|
|
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,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 @@
|
|
|
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
|
|
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__*/
|
|
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__*/
|
|
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
|
|
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__*/
|
|
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__*/
|
|
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__*/
|
|
29
|
+
}, props), Icon ? /*#__PURE__*/React__default.createElement(Icon, {
|
|
30
30
|
size: size === BUTTON_SIZES.s ? '14' : '16'
|
|
31
31
|
}) : children);
|
|
32
32
|
});
|
package/build/esm/packages/aurora/src/components/image_picker/components/image_picker_input.d.ts
ADDED
|
@@ -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
|
+
}>;
|
package/build/esm/packages/aurora/src/components/image_picker/components/image_picker_input.js
ADDED
|
@@ -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
|
package/build/esm/packages/aurora/src/components/image_picker/components/image_picker_input.js.map
ADDED
|
@@ -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"}
|
package/build/esm/packages/aurora/src/components/image_picker/components/image_picker_preview.d.ts
ADDED
|
@@ -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 {};
|
package/build/esm/packages/aurora/src/components/image_picker/components/image_picker_preview.js
ADDED
|
@@ -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
|
package/build/esm/packages/aurora/src/components/image_picker/components/image_picker_preview.js.map
ADDED
|
@@ -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,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 @@
|
|
|
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,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
|