@eturnity/eturnity_reusable_components 8.7.5-EPDM-12459.0 → 8.7.5-EPDM-13082-EPDM-9631.0
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +29 -29
- package/package.json +84 -84
- package/src/App.vue +30 -30
- package/src/Test.vue +128 -128
- package/src/assets/icons/arrow_down.svg +3 -3
- package/src/assets/icons/arrow_up_red.svg +3 -3
- package/src/assets/icons/black_spinner.svg +35 -35
- package/src/assets/icons/delete_icon.svg +11 -11
- package/src/assets/icons/delete_icon_gray.svg +11 -11
- package/src/assets/icons/drag_icon.svg +8 -8
- package/src/assets/icons/external_icon.svg +6 -6
- package/src/assets/icons/language_icon.svg +6 -6
- package/src/assets/icons/pdf_icon.svg +6 -6
- package/src/assets/icons/plus_button.svg +4 -4
- package/src/assets/icons/search_icon_black.svg +3 -3
- package/src/assets/icons/subposition_icon.svg +3 -3
- package/src/assets/icons/subposition_marker.svg +3 -3
- package/src/assets/icons/warning_icon.svg +3 -3
- package/src/assets/svgIcons/2d_active.svg +7 -7
- package/src/assets/svgIcons/2d_inactive.svg +8 -8
- package/src/assets/svgIcons/3d_active.svg +7 -7
- package/src/assets/svgIcons/3d_inactive.svg +8 -8
- package/src/assets/svgIcons/_readme.md +7 -7
- package/src/assets/svgIcons/accept.svg +5 -5
- package/src/assets/svgIcons/activate_panels_active.svg +22 -22
- package/src/assets/svgIcons/activate_panels_inactive.svg +20 -20
- package/src/assets/svgIcons/add_icon-1.svg +3 -3
- package/src/assets/svgIcons/add_icon.svg +4 -4
- package/src/assets/svgIcons/address_book.svg +3 -3
- package/src/assets/svgIcons/adjust_roof.svg +6 -6
- package/src/assets/svgIcons/after_sale_as_a_service.svg +6 -6
- package/src/assets/svgIcons/all_good.svg +3 -3
- package/src/assets/svgIcons/angle_active.svg +5 -5
- package/src/assets/svgIcons/angle_inactive.svg +4 -4
- package/src/assets/svgIcons/area_active.svg +11 -11
- package/src/assets/svgIcons/area_inactive.svg +26 -26
- package/src/assets/svgIcons/areas_tool.svg +14 -14
- package/src/assets/svgIcons/arrow_down.svg +3 -3
- package/src/assets/svgIcons/arrow_left.svg +4 -4
- package/src/assets/svgIcons/arrow_right.svg +4 -4
- package/src/assets/svgIcons/arrow_up.svg +3 -3
- package/src/assets/svgIcons/attachment.svg +3 -3
- package/src/assets/svgIcons/base_layer.svg +3 -3
- package/src/assets/svgIcons/battery.svg +3 -3
- package/src/assets/svgIcons/bell.svg +3 -3
- package/src/assets/svgIcons/bell_alt.svg +5 -5
- package/src/assets/svgIcons/bexio.svg +4 -4
- package/src/assets/svgIcons/bold.svg +3 -3
- package/src/assets/svgIcons/bom.svg +3 -3
- package/src/assets/svgIcons/bom_generation.svg +10 -10
- package/src/assets/svgIcons/bookmaker.svg +3 -3
- package/src/assets/svgIcons/bubble.svg +3 -3
- package/src/assets/svgIcons/bug.svg +5 -5
- package/src/assets/svgIcons/buildings.svg +55 -55
- package/src/assets/svgIcons/bullet_list.svg +8 -8
- package/src/assets/svgIcons/calendar.svg +7 -7
- package/src/assets/svgIcons/calendar_icon.svg +7 -7
- package/src/assets/svgIcons/call.svg +3 -3
- package/src/assets/svgIcons/camera.svg +3 -3
- package/src/assets/svgIcons/car.svg +3 -3
- package/src/assets/svgIcons/cart.svg +3 -3
- package/src/assets/svgIcons/charger_icon_white.svg +44 -44
- package/src/assets/svgIcons/checkbox.svg +3 -3
- package/src/assets/svgIcons/checkmark.svg +3 -3
- package/src/assets/svgIcons/clear_formatting.svg +7 -7
- package/src/assets/svgIcons/clenergy.svg +4 -0
- package/src/assets/svgIcons/clickable_info.svg +4 -4
- package/src/assets/svgIcons/clip.svg +3 -3
- package/src/assets/svgIcons/clock.svg +17 -17
- package/src/assets/svgIcons/clock_full.svg +3 -3
- package/src/assets/svgIcons/close_for_modals,_tool_tips.svg +4 -4
- package/src/assets/svgIcons/co_branding.svg +5 -5
- package/src/assets/svgIcons/collapse.svg +4 -4
- package/src/assets/svgIcons/collapse_all.svg +3 -3
- package/src/assets/svgIcons/collections.svg +3 -3
- package/src/assets/svgIcons/component_library.svg +7 -7
- package/src/assets/svgIcons/consumption_tariffs.svg +43 -43
- package/src/assets/svgIcons/context_menu-1.svg +6 -6
- package/src/assets/svgIcons/context_menu-2.svg +5 -5
- package/src/assets/svgIcons/context_menu.svg +5 -5
- package/src/assets/svgIcons/context_menu_tabs.svg +5 -5
- package/src/assets/svgIcons/cross.svg +4 -4
- package/src/assets/svgIcons/current_variant.svg +4 -4
- package/src/assets/svgIcons/dashboard.svg +3 -3
- package/src/assets/svgIcons/data_transfer.svg +3 -3
- package/src/assets/svgIcons/deadline.svg +4 -4
- package/src/assets/svgIcons/deal_flow.svg +5 -5
- package/src/assets/svgIcons/delete.svg +4 -4
- package/src/assets/svgIcons/delete_area_active.svg +16 -16
- package/src/assets/svgIcons/delete_area_inactive.svg +15 -15
- package/src/assets/svgIcons/direction_active-1.svg +12 -12
- package/src/assets/svgIcons/direction_active.svg +5 -5
- package/src/assets/svgIcons/direction_arrow.svg +4 -4
- package/src/assets/svgIcons/direction_inactive.svg +4 -4
- package/src/assets/svgIcons/dislike.svg +3 -3
- package/src/assets/svgIcons/distance_tool.svg +8 -8
- package/src/assets/svgIcons/distances_active.svg +9 -9
- package/src/assets/svgIcons/distances_inactive.svg +8 -8
- package/src/assets/svgIcons/distort_tool.svg +10 -10
- package/src/assets/svgIcons/distort_tool2.svg +16 -16
- package/src/assets/svgIcons/document.svg +3 -3
- package/src/assets/svgIcons/documents.svg +4 -4
- package/src/assets/svgIcons/downarrow.svg +3 -3
- package/src/assets/svgIcons/download.svg +4 -4
- package/src/assets/svgIcons/drag_icon.svg +8 -8
- package/src/assets/svgIcons/draggable_corner.svg +5 -5
- package/src/assets/svgIcons/draw_tool.svg +3 -3
- package/src/assets/svgIcons/duplicate-1.svg +8 -8
- package/src/assets/svgIcons/duplicate-2.svg +5 -5
- package/src/assets/svgIcons/duplicate.svg +4 -4
- package/src/assets/svgIcons/e-mobility_configurator.svg +6 -6
- package/src/assets/svgIcons/e_signature.svg +5 -5
- package/src/assets/svgIcons/edit_button.svg +3 -3
- package/src/assets/svgIcons/electricity_tariff.svg +3 -3
- package/src/assets/svgIcons/email.svg +3 -3
- package/src/assets/svgIcons/ems-1.svg +3 -3
- package/src/assets/svgIcons/ems.svg +3 -3
- package/src/assets/svgIcons/end_of_the_list.svg +5 -5
- package/src/assets/svgIcons/erase.svg +4 -4
- package/src/assets/svgIcons/expand_all.svg +4 -4
- package/src/assets/svgIcons/export_document.svg +3 -3
- package/src/assets/svgIcons/external_icon.svg +5 -5
- package/src/assets/svgIcons/fav_icon.svg +4 -4
- package/src/assets/svgIcons/finance.svg +3 -3
- package/src/assets/svgIcons/financing_for_pv-1.svg +5 -5
- package/src/assets/svgIcons/financing_for_pv-2.svg +3 -3
- package/src/assets/svgIcons/financing_for_pv.svg +6 -6
- package/src/assets/svgIcons/finish-1.svg +4 -4
- package/src/assets/svgIcons/finish.svg +3 -3
- package/src/assets/svgIcons/flatten.svg +11 -11
- package/src/assets/svgIcons/flatten_roof.svg +20 -20
- package/src/assets/svgIcons/folder.svg +3 -3
- package/src/assets/svgIcons/free_technology.svg +5 -5
- package/src/assets/svgIcons/handle.svg +5 -5
- package/src/assets/svgIcons/heat_calc.svg +7 -7
- package/src/assets/svgIcons/height_equalize.svg +3 -3
- package/src/assets/svgIcons/height_snap.svg +3 -3
- package/src/assets/svgIcons/house.svg +3 -3
- package/src/assets/svgIcons/house_3d-1.svg +7 -7
- package/src/assets/svgIcons/house_3d.svg +7 -7
- package/src/assets/svgIcons/hybrid.svg +4 -4
- package/src/assets/svgIcons/inclination.svg +2 -2
- package/src/assets/svgIcons/info.svg +3 -3
- package/src/assets/svgIcons/initial_situation.svg +3 -3
- package/src/assets/svgIcons/integrations.svg +3 -3
- package/src/assets/svgIcons/intro-tour-1.svg +3 -3
- package/src/assets/svgIcons/intro-tour.svg +3 -3
- package/src/assets/svgIcons/inverter-1.svg +5 -5
- package/src/assets/svgIcons/inverter.svg +3 -3
- package/src/assets/svgIcons/italic.svg +3 -3
- package/src/assets/svgIcons/key.svg +3 -3
- package/src/assets/svgIcons/lake.svg +29 -29
- package/src/assets/svgIcons/layers_close.svg +4 -4
- package/src/assets/svgIcons/layers_open.svg +4 -4
- package/src/assets/svgIcons/lead_marketplace.svg +6 -6
- package/src/assets/svgIcons/lead_provider.svg +4 -4
- package/src/assets/svgIcons/length_2d.svg +2 -2
- package/src/assets/svgIcons/length_3d.svg +4 -4
- package/src/assets/svgIcons/length_calculator.svg +2 -2
- package/src/assets/svgIcons/length_in_2d_active.svg +12 -12
- package/src/assets/svgIcons/length_in_2d_inctive.svg +13 -13
- package/src/assets/svgIcons/light_bulb.svg +3 -3
- package/src/assets/svgIcons/like.svg +3 -3
- package/src/assets/svgIcons/line_graph.svg +3 -3
- package/src/assets/svgIcons/local_subsidies.svg +18 -18
- package/src/assets/svgIcons/location.svg +3 -3
- package/src/assets/svgIcons/lock.svg +3 -3
- package/src/assets/svgIcons/logout.svg +3 -3
- package/src/assets/svgIcons/loop.svg +3 -3
- package/src/assets/svgIcons/low-vegetation.svg +37 -37
- package/src/assets/svgIcons/lunch.svg +4 -4
- package/src/assets/svgIcons/magic_tool.svg +6 -6
- package/src/assets/svgIcons/map_icon.svg +5 -5
- package/src/assets/svgIcons/map_settings.svg +3 -3
- package/src/assets/svgIcons/margin_tool.svg +4 -4
- package/src/assets/svgIcons/meeting.svg +6 -6
- package/src/assets/svgIcons/module.svg +3 -3
- package/src/assets/svgIcons/move_copy.svg +4 -4
- package/src/assets/svgIcons/move_down.svg +3 -3
- package/src/assets/svgIcons/move_up.svg +3 -3
- package/src/assets/svgIcons/new_area_inactive.svg +11 -11
- package/src/assets/svgIcons/next.svg +4 -4
- package/src/assets/svgIcons/normal-tg.svg +30 -30
- package/src/assets/svgIcons/normal-vegetation.svg +53 -53
- package/src/assets/svgIcons/not_equal_to.svg +3 -3
- package/src/assets/svgIcons/numbered_list.svg +6 -6
- package/src/assets/svgIcons/obstacle_tool.svg +8 -8
- package/src/assets/svgIcons/obstacle_tool_origin.svg +3 -3
- package/src/assets/svgIcons/offset_tool.svg +8 -8
- package/src/assets/svgIcons/open-tg.svg +21 -21
- package/src/assets/svgIcons/optimizer.svg +6 -6
- package/src/assets/svgIcons/outline_tool.svg +11 -11
- package/src/assets/svgIcons/pan_tool.svg +12 -12
- package/src/assets/svgIcons/panels_tool.svg +8 -8
- package/src/assets/svgIcons/pen_tool.svg +4 -4
- package/src/assets/svgIcons/picker_tool.svg +4 -4
- package/src/assets/svgIcons/picture.svg +3 -3
- package/src/assets/svgIcons/pin.svg +5 -5
- package/src/assets/svgIcons/plus_button.svg +4 -4
- package/src/assets/svgIcons/presentation.svg +3 -3
- package/src/assets/svgIcons/previous.svg +4 -4
- package/src/assets/svgIcons/profile-1.svg +4 -4
- package/src/assets/svgIcons/profile.svg +4 -4
- package/src/assets/svgIcons/profitability.svg +3 -3
- package/src/assets/svgIcons/project_analysis.svg +4 -4
- package/src/assets/svgIcons/project_settings.svg +4 -4
- package/src/assets/svgIcons/protected-tg.svg +47 -47
- package/src/assets/svgIcons/pv.svg +3 -3
- package/src/assets/svgIcons/quotations.svg +6 -6
- package/src/assets/svgIcons/redo.svg +6 -6
- package/src/assets/svgIcons/resizer.svg +5 -5
- package/src/assets/svgIcons/roof_layer.svg +3 -3
- package/src/assets/svgIcons/rotate_tool.svg +3 -3
- package/src/assets/svgIcons/rotate_view.svg +5 -5
- package/src/assets/svgIcons/ruler_tool.svg +3 -3
- package/src/assets/svgIcons/run_simulation.svg +3 -3
- package/src/assets/svgIcons/save.svg +3 -3
- package/src/assets/svgIcons/scaling_tool.svg +8 -8
- package/src/assets/svgIcons/sea.svg +34 -34
- package/src/assets/svgIcons/search.svg +3 -3
- package/src/assets/svgIcons/security.svg +3 -3
- package/src/assets/svgIcons/settings.svg +3 -3
- package/src/assets/svgIcons/show_in_a_new_tab.svg +12 -12
- package/src/assets/svgIcons/smartphone.svg +4 -4
- package/src/assets/svgIcons/solar_calc.svg +13 -13
- package/src/assets/svgIcons/solarmarkt.svg +3 -3
- package/src/assets/svgIcons/sorting.svg +4 -4
- package/src/assets/svgIcons/split.svg +12 -12
- package/src/assets/svgIcons/star.svg +3 -3
- package/src/assets/svgIcons/start_of_the_list.svg +5 -5
- package/src/assets/svgIcons/strikethrough.svg +4 -4
- package/src/assets/svgIcons/string_design.svg +5 -5
- package/src/assets/svgIcons/string_directions.svg +10 -10
- package/src/assets/svgIcons/subscriptions.svg +3 -3
- package/src/assets/svgIcons/subsidies-1.svg +5 -5
- package/src/assets/svgIcons/subsidies-2.svg +3 -3
- package/src/assets/svgIcons/subsidies.svg +3 -3
- package/src/assets/svgIcons/subtract_icon.svg +3 -3
- package/src/assets/svgIcons/suitcase.svg +3 -3
- package/src/assets/svgIcons/summer.svg +3 -3
- package/src/assets/svgIcons/template_icon_not_clickable.svg +6 -6
- package/src/assets/svgIcons/transfer.svg +4 -4
- package/src/assets/svgIcons/trim_tool.svg +4 -4
- package/src/assets/svgIcons/truck.svg +3 -3
- package/src/assets/svgIcons/underlined.svg +3 -3
- package/src/assets/svgIcons/undo.svg +6 -6
- package/src/assets/svgIcons/uparrow.svg +3 -3
- package/src/assets/svgIcons/update.svg +3 -3
- package/src/assets/svgIcons/upload_avatar-1.svg +12 -12
- package/src/assets/svgIcons/upload_avatar.svg +5 -5
- package/src/assets/svgIcons/upload_image.svg +8 -8
- package/src/assets/svgIcons/upload_image_tool.svg +7 -7
- package/src/assets/svgIcons/variants.svg +6 -6
- package/src/assets/svgIcons/vertical_tool.svg +3 -3
- package/src/assets/svgIcons/virtual_storage.svg +4 -4
- package/src/assets/svgIcons/warning.svg +4 -4
- package/src/assets/svgIcons/way.svg +5 -5
- package/src/assets/svgIcons/wifi.svg +3 -3
- package/src/assets/svgIcons/winter.svg +3 -3
- package/src/assets/svgIcons/workflow_template.svg +11 -11
- package/src/assets/tests/__mocks__/iconCache.js +1 -1
- package/src/assets/tests/__mocks__/svgMock.js +1 -1
- package/src/assets/tests/helpers.js +12 -12
- package/src/assets/theme.js +46 -46
- package/src/components/addNewButton/AddNewButton.stories.js +17 -17
- package/src/components/addNewButton/addNewButton.spec.js +23 -23
- package/src/components/addNewButton/index.vue +66 -66
- package/src/components/banner/actionBanner/ActionBanner.stories.js +45 -45
- package/src/components/banner/actionBanner/actionBanner.spec.js +76 -76
- package/src/components/banner/actionBanner/index.vue +86 -86
- package/src/components/banner/banner/Banner.stories.js +64 -64
- package/src/components/banner/banner/banner.spec.js +149 -149
- package/src/components/banner/banner/index.vue +205 -205
- package/src/components/banner/infoBanner/InfoBanner.spec.js +70 -70
- package/src/components/banner/infoBanner/InfoBanner.stories.js +42 -42
- package/src/components/banner/infoBanner/index.vue +97 -97
- package/src/components/banner/notificationBanner/index.vue +131 -131
- package/src/components/buttons/buttonIcon/index.vue +147 -147
- package/src/components/buttons/closeButton/CloseButton.stories.js +25 -25
- package/src/components/buttons/closeButton/index.vue +62 -62
- package/src/components/buttons/mainButton/MainButton.stories.js +51 -51
- package/src/components/buttons/mainButton/index.vue +174 -174
- package/src/components/buttons/mainButton/mainButton.spec.js +35 -35
- package/src/components/card/Card.stories.js +79 -79
- package/src/components/card/card.spec.js +135 -135
- package/src/components/card/index.vue +116 -116
- package/src/components/collapsableInfoText/index.vue +127 -127
- package/src/components/deleteIcon/DeleteIcon.stories.js +29 -29
- package/src/components/deleteIcon/index.vue +78 -78
- package/src/components/draggableInputHandle/index.vue +46 -46
- package/src/components/dropdown/Dropdown.stories.js +53 -53
- package/src/components/dropdown/index.vue +138 -138
- package/src/components/errorMessage/index.vue +64 -64
- package/src/components/filter/filterSettings.vue +669 -669
- package/src/components/filter/index.vue +154 -154
- package/src/components/filter/parentDropdown.vue +91 -91
- package/src/components/icon/Icons.stories.js +31 -31
- package/src/components/icon/icon.spec.js +66 -66
- package/src/components/icon/iconCache.mjs +23 -23
- package/src/components/icon/iconCollection.vue +83 -83
- package/src/components/icon/index.vue +177 -177
- package/src/components/iconWrapper/index.vue +184 -184
- package/src/components/infoCard/InfoCard.stories.js +170 -170
- package/src/components/infoCard/defaultProps.js +7 -7
- package/src/components/infoCard/index.vue +152 -152
- package/src/components/infoCard/infoCard.spec.js +64 -64
- package/src/components/infoText/constants.js +4 -4
- package/src/components/infoText/index.vue +511 -511
- package/src/components/infoText/infoText.spec.js +62 -62
- package/src/components/infoText/infoText.stories.js +48 -48
- package/src/components/infoText/placeholder.vue +225 -225
- package/src/components/inputs/checkbox/Checkbox.stories.js +63 -63
- package/src/components/inputs/checkbox/checkbox.spec.js +109 -109
- package/src/components/inputs/checkbox/index.vue +241 -241
- package/src/components/inputs/inputNumber/InputNumber.stories.js +150 -150
- package/src/components/inputs/inputNumber/index.vue +985 -985
- package/src/components/inputs/inputNumberQuestion/index.vue +218 -218
- package/src/components/inputs/inputText/InputText.stories.js +70 -70
- package/src/components/inputs/inputText/index.vue +457 -457
- package/src/components/inputs/inputText/inputText.spec.js +588 -588
- package/src/components/inputs/radioButton/RadioButton.stories.js +77 -77
- package/src/components/inputs/radioButton/defaultProps.js +31 -31
- package/src/components/inputs/radioButton/index.vue +336 -336
- package/src/components/inputs/radioButton/radioButton.spec.js +306 -306
- package/src/components/inputs/searchInput/SearchInput.stories.js +66 -66
- package/src/components/inputs/searchInput/defaultProps.js +12 -12
- package/src/components/inputs/searchInput/index.vue +165 -165
- package/src/components/inputs/searchInput/searchInput.spec.js +64 -64
- package/src/components/inputs/select/index.vue +968 -968
- package/src/components/inputs/select/option/index.vue +164 -164
- package/src/components/inputs/select/select.stories.js +58 -58
- package/src/components/inputs/slider/index.vue +126 -126
- package/src/components/inputs/switchField/index.vue +254 -254
- package/src/components/inputs/textAreaInput/TextAreaInput.stories.js +127 -127
- package/src/components/inputs/textAreaInput/index.vue +204 -204
- package/src/components/inputs/toggle/Toggle.stories.js +77 -77
- package/src/components/inputs/toggle/index.vue +322 -322
- package/src/components/inputs/toggle/toggle.spec.js +102 -102
- package/src/components/label/index.vue +98 -98
- package/src/components/markerItem/index.vue +95 -95
- package/src/components/modals/actionModal/index.vue +64 -64
- package/src/components/modals/infoModal/index.vue +52 -52
- package/src/components/modals/modal/index.vue +185 -185
- package/src/components/modals/modal/modal.stories.js +31 -31
- package/src/components/navigationTabs/index.vue +114 -114
- package/src/components/pageSubtitle/PageSubtitle.stories.js +59 -59
- package/src/components/pageSubtitle/index.vue +78 -78
- package/src/components/pageSubtitle/pageSubtitle.spec.js +46 -46
- package/src/components/pageTitle/PageTitle.stories.js +95 -95
- package/src/components/pageTitle/index.vue +91 -91
- package/src/components/pageTitle/pageTitle.spec.js +46 -46
- package/src/components/pagination/index.vue +148 -148
- package/src/components/progressBar/index.vue +125 -125
- package/src/components/projectMarker/index.vue +300 -300
- package/src/components/rangeSlider/Slider.vue +578 -578
- package/src/components/rangeSlider/index.vue +517 -517
- package/src/components/rangeSlider/utils/dom.js +49 -49
- package/src/components/rangeSlider/utils/fns.js +26 -26
- package/src/components/roundTabs/index.vue +107 -107
- package/src/components/selectedOptions/index.vue +471 -471
- package/src/components/selectedOptions/selectedOptions.spec.js +176 -176
- package/src/components/selectedOptions/selectedOptions.stories.js +155 -155
- package/src/components/sideMenu/index.vue +281 -281
- package/src/components/spinner/Spinner.stories.js +34 -34
- package/src/components/spinner/index.vue +96 -96
- package/src/components/spinner/spinner.spec.js +69 -69
- package/src/components/spinnerGif/index.vue +98 -98
- package/src/components/stringDesign/DropdownMenu/index.vue +1009 -1009
- package/src/components/tableDropdown/index.vue +685 -685
- package/src/components/tables/mainTable/exampleNested.vue +328 -328
- package/src/components/tables/mainTable/index.vue +518 -518
- package/src/components/tables/viewTable/index.vue +195 -195
- package/src/components/tabsHeader/index.vue +83 -83
- package/src/components/threeDots/index.vue +413 -413
- package/src/components/videoThumbnail/index.vue +103 -103
- package/src/components/videoThumbnail/videoThumbnail.stories.js +33 -33
- package/src/helpers/currencyMapping.js +28 -28
- package/src/helpers/numberConverter.js +103 -103
- package/src/helpers/translateLang.js +128 -128
- package/src/main.js +7 -7
- package/src/mixins/inputValidations.js +97 -97
- package/src/router/dynamicRoutes.js +23 -23
- package/src/stories/Button.stories.js +48 -48
- package/src/stories/Button.vue +52 -52
- package/src/stories/Configure.mdx +364 -364
- package/src/stories/Header.stories.js +41 -41
- package/src/stories/Header.vue +59 -59
- package/src/stories/Page.stories.js +30 -30
- package/src/stories/Page.vue +83 -83
- package/src/stories/button.css +30 -30
- package/src/stories/header.css +32 -32
- package/src/stories/page.css +69 -69
- package/src/utils/index.js +12 -12
@@ -1,170 +1,170 @@
|
|
1
|
-
import defaultInfoCardProps from './defaultProps'
|
2
|
-
import InfoCard from './index.vue'
|
3
|
-
import theme from '@/assets/theme'
|
4
|
-
|
5
|
-
export default {
|
6
|
-
title: 'InfoCard',
|
7
|
-
component: InfoCard,
|
8
|
-
tags: ['autodocs'],
|
9
|
-
argTypes: {
|
10
|
-
type: {
|
11
|
-
description: 'Defines preset styles',
|
12
|
-
control: 'select',
|
13
|
-
options: ['info', 'warning'],
|
14
|
-
},
|
15
|
-
minWidth: {
|
16
|
-
description: '',
|
17
|
-
},
|
18
|
-
color: {
|
19
|
-
description: 'Color of the text (can overwrite preset styles)',
|
20
|
-
control: {
|
21
|
-
type: 'color',
|
22
|
-
presetColors: [
|
23
|
-
theme.colors.grey3,
|
24
|
-
theme.colors.grey4,
|
25
|
-
theme.colors.red,
|
26
|
-
],
|
27
|
-
},
|
28
|
-
},
|
29
|
-
iconColor: {
|
30
|
-
description: 'Color of the icon (can overwrite preset styles)',
|
31
|
-
control: {
|
32
|
-
type: 'color',
|
33
|
-
presetColors: [
|
34
|
-
theme.colors.grey3,
|
35
|
-
theme.colors.grey4,
|
36
|
-
theme.colors.red,
|
37
|
-
],
|
38
|
-
},
|
39
|
-
},
|
40
|
-
alignItems: {
|
41
|
-
description: 'Icon and text alignment (can overwrite preset styles)',
|
42
|
-
control: 'select',
|
43
|
-
options: ['flex-start', 'flex-end', 'center'],
|
44
|
-
},
|
45
|
-
padding: {
|
46
|
-
description: 'Info card padding (can overwrite preset styles)',
|
47
|
-
},
|
48
|
-
borderColor: {
|
49
|
-
description: 'Info card border color (can overwrite preset styles)',
|
50
|
-
control: {
|
51
|
-
type: 'color',
|
52
|
-
presetColors: [
|
53
|
-
theme.colors.grey3,
|
54
|
-
theme.colors.grey4,
|
55
|
-
theme.colors.red,
|
56
|
-
],
|
57
|
-
},
|
58
|
-
},
|
59
|
-
borderStyle: {
|
60
|
-
description: 'Info card border style (can overwrite preset styles)',
|
61
|
-
control: 'select',
|
62
|
-
options: ['dashed', 'dotted', 'inset', 'dashed solid', 'none'],
|
63
|
-
},
|
64
|
-
|
65
|
-
// info card content slot
|
66
|
-
default: {
|
67
|
-
description: 'Info card slot content',
|
68
|
-
},
|
69
|
-
},
|
70
|
-
}
|
71
|
-
|
72
|
-
// To use:
|
73
|
-
// <InfoCard
|
74
|
-
// type="warning"
|
75
|
-
// min-width="auto'
|
76
|
-
// color="red"
|
77
|
-
// align-items="center"
|
78
|
-
// padding="100px"
|
79
|
-
// border-color="red"
|
80
|
-
// border-style="solid"
|
81
|
-
// >
|
82
|
-
// Some Text
|
83
|
-
// </InfoCard>
|
84
|
-
// all props after "min-width" are used to overwrite the preset styles set by "type"
|
85
|
-
|
86
|
-
const Template = (args) => {
|
87
|
-
return {
|
88
|
-
components: { InfoCard },
|
89
|
-
setup() {
|
90
|
-
return { args }
|
91
|
-
},
|
92
|
-
template: `
|
93
|
-
<InfoCard v-bind="args">
|
94
|
-
{{ args.default }}
|
95
|
-
</InfoCard>
|
96
|
-
`,
|
97
|
-
}
|
98
|
-
}
|
99
|
-
|
100
|
-
export const Default = Template.bind({})
|
101
|
-
Default.args = {
|
102
|
-
...defaultInfoCardProps,
|
103
|
-
}
|
104
|
-
|
105
|
-
export const InfoCardTypeWarning = Template.bind({})
|
106
|
-
InfoCardTypeWarning.args = {
|
107
|
-
...defaultInfoCardProps,
|
108
|
-
type: 'warning',
|
109
|
-
}
|
110
|
-
|
111
|
-
export const InfoCardTypeErrorMinor = Template.bind({})
|
112
|
-
InfoCardTypeErrorMinor.args = {
|
113
|
-
...defaultInfoCardProps,
|
114
|
-
type: 'error_minor',
|
115
|
-
}
|
116
|
-
|
117
|
-
export const InfoCardTypeInfoMinWidth = Template.bind({})
|
118
|
-
InfoCardTypeInfoMinWidth.args = {
|
119
|
-
...defaultInfoCardProps,
|
120
|
-
|
121
|
-
minWidth: '250px',
|
122
|
-
}
|
123
|
-
|
124
|
-
export const InfoCardTypeInfoColorOverwritten = Template.bind({})
|
125
|
-
InfoCardTypeInfoColorOverwritten.args = {
|
126
|
-
...defaultInfoCardProps,
|
127
|
-
|
128
|
-
color: theme.colors.green,
|
129
|
-
}
|
130
|
-
|
131
|
-
export const InfoCardTypeInfoIconColorOverwritten = Template.bind({})
|
132
|
-
InfoCardTypeInfoIconColorOverwritten.args = {
|
133
|
-
...defaultInfoCardProps,
|
134
|
-
|
135
|
-
iconColor: theme.colors.green,
|
136
|
-
}
|
137
|
-
|
138
|
-
export const InfoCardTypeWarningAlignItemsOverwritten = Template.bind({})
|
139
|
-
InfoCardTypeWarningAlignItemsOverwritten.args = {
|
140
|
-
...defaultInfoCardProps,
|
141
|
-
type: 'warning',
|
142
|
-
default:
|
143
|
-
'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.',
|
144
|
-
|
145
|
-
alignItems: 'center',
|
146
|
-
}
|
147
|
-
|
148
|
-
export const InfoCardTypeWarningPaddingOverwritten = Template.bind({})
|
149
|
-
InfoCardTypeWarningPaddingOverwritten.args = {
|
150
|
-
...defaultInfoCardProps,
|
151
|
-
type: 'warning',
|
152
|
-
|
153
|
-
padding: '50px',
|
154
|
-
}
|
155
|
-
|
156
|
-
export const InfoCardTypeErrorMinorBorderColorOverwritten = Template.bind({})
|
157
|
-
InfoCardTypeErrorMinorBorderColorOverwritten.args = {
|
158
|
-
...defaultInfoCardProps,
|
159
|
-
type: 'error_minor',
|
160
|
-
|
161
|
-
borderColor: theme.colors.green,
|
162
|
-
}
|
163
|
-
|
164
|
-
export const InfoCardTypeErrorMinorBorderStyleOverwritten = Template.bind({})
|
165
|
-
InfoCardTypeErrorMinorBorderStyleOverwritten.args = {
|
166
|
-
...defaultInfoCardProps,
|
167
|
-
type: 'error_minor',
|
168
|
-
|
169
|
-
borderStyle: 'solid none',
|
170
|
-
}
|
1
|
+
import defaultInfoCardProps from './defaultProps'
|
2
|
+
import InfoCard from './index.vue'
|
3
|
+
import theme from '@/assets/theme'
|
4
|
+
|
5
|
+
export default {
|
6
|
+
title: 'InfoCard',
|
7
|
+
component: InfoCard,
|
8
|
+
tags: ['autodocs'],
|
9
|
+
argTypes: {
|
10
|
+
type: {
|
11
|
+
description: 'Defines preset styles',
|
12
|
+
control: 'select',
|
13
|
+
options: ['info', 'warning'],
|
14
|
+
},
|
15
|
+
minWidth: {
|
16
|
+
description: '',
|
17
|
+
},
|
18
|
+
color: {
|
19
|
+
description: 'Color of the text (can overwrite preset styles)',
|
20
|
+
control: {
|
21
|
+
type: 'color',
|
22
|
+
presetColors: [
|
23
|
+
theme.colors.grey3,
|
24
|
+
theme.colors.grey4,
|
25
|
+
theme.colors.red,
|
26
|
+
],
|
27
|
+
},
|
28
|
+
},
|
29
|
+
iconColor: {
|
30
|
+
description: 'Color of the icon (can overwrite preset styles)',
|
31
|
+
control: {
|
32
|
+
type: 'color',
|
33
|
+
presetColors: [
|
34
|
+
theme.colors.grey3,
|
35
|
+
theme.colors.grey4,
|
36
|
+
theme.colors.red,
|
37
|
+
],
|
38
|
+
},
|
39
|
+
},
|
40
|
+
alignItems: {
|
41
|
+
description: 'Icon and text alignment (can overwrite preset styles)',
|
42
|
+
control: 'select',
|
43
|
+
options: ['flex-start', 'flex-end', 'center'],
|
44
|
+
},
|
45
|
+
padding: {
|
46
|
+
description: 'Info card padding (can overwrite preset styles)',
|
47
|
+
},
|
48
|
+
borderColor: {
|
49
|
+
description: 'Info card border color (can overwrite preset styles)',
|
50
|
+
control: {
|
51
|
+
type: 'color',
|
52
|
+
presetColors: [
|
53
|
+
theme.colors.grey3,
|
54
|
+
theme.colors.grey4,
|
55
|
+
theme.colors.red,
|
56
|
+
],
|
57
|
+
},
|
58
|
+
},
|
59
|
+
borderStyle: {
|
60
|
+
description: 'Info card border style (can overwrite preset styles)',
|
61
|
+
control: 'select',
|
62
|
+
options: ['dashed', 'dotted', 'inset', 'dashed solid', 'none'],
|
63
|
+
},
|
64
|
+
|
65
|
+
// info card content slot
|
66
|
+
default: {
|
67
|
+
description: 'Info card slot content',
|
68
|
+
},
|
69
|
+
},
|
70
|
+
}
|
71
|
+
|
72
|
+
// To use:
|
73
|
+
// <InfoCard
|
74
|
+
// type="warning"
|
75
|
+
// min-width="auto'
|
76
|
+
// color="red"
|
77
|
+
// align-items="center"
|
78
|
+
// padding="100px"
|
79
|
+
// border-color="red"
|
80
|
+
// border-style="solid"
|
81
|
+
// >
|
82
|
+
// Some Text
|
83
|
+
// </InfoCard>
|
84
|
+
// all props after "min-width" are used to overwrite the preset styles set by "type"
|
85
|
+
|
86
|
+
const Template = (args) => {
|
87
|
+
return {
|
88
|
+
components: { InfoCard },
|
89
|
+
setup() {
|
90
|
+
return { args }
|
91
|
+
},
|
92
|
+
template: `
|
93
|
+
<InfoCard v-bind="args">
|
94
|
+
{{ args.default }}
|
95
|
+
</InfoCard>
|
96
|
+
`,
|
97
|
+
}
|
98
|
+
}
|
99
|
+
|
100
|
+
export const Default = Template.bind({})
|
101
|
+
Default.args = {
|
102
|
+
...defaultInfoCardProps,
|
103
|
+
}
|
104
|
+
|
105
|
+
export const InfoCardTypeWarning = Template.bind({})
|
106
|
+
InfoCardTypeWarning.args = {
|
107
|
+
...defaultInfoCardProps,
|
108
|
+
type: 'warning',
|
109
|
+
}
|
110
|
+
|
111
|
+
export const InfoCardTypeErrorMinor = Template.bind({})
|
112
|
+
InfoCardTypeErrorMinor.args = {
|
113
|
+
...defaultInfoCardProps,
|
114
|
+
type: 'error_minor',
|
115
|
+
}
|
116
|
+
|
117
|
+
export const InfoCardTypeInfoMinWidth = Template.bind({})
|
118
|
+
InfoCardTypeInfoMinWidth.args = {
|
119
|
+
...defaultInfoCardProps,
|
120
|
+
|
121
|
+
minWidth: '250px',
|
122
|
+
}
|
123
|
+
|
124
|
+
export const InfoCardTypeInfoColorOverwritten = Template.bind({})
|
125
|
+
InfoCardTypeInfoColorOverwritten.args = {
|
126
|
+
...defaultInfoCardProps,
|
127
|
+
|
128
|
+
color: theme.colors.green,
|
129
|
+
}
|
130
|
+
|
131
|
+
export const InfoCardTypeInfoIconColorOverwritten = Template.bind({})
|
132
|
+
InfoCardTypeInfoIconColorOverwritten.args = {
|
133
|
+
...defaultInfoCardProps,
|
134
|
+
|
135
|
+
iconColor: theme.colors.green,
|
136
|
+
}
|
137
|
+
|
138
|
+
export const InfoCardTypeWarningAlignItemsOverwritten = Template.bind({})
|
139
|
+
InfoCardTypeWarningAlignItemsOverwritten.args = {
|
140
|
+
...defaultInfoCardProps,
|
141
|
+
type: 'warning',
|
142
|
+
default:
|
143
|
+
'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.',
|
144
|
+
|
145
|
+
alignItems: 'center',
|
146
|
+
}
|
147
|
+
|
148
|
+
export const InfoCardTypeWarningPaddingOverwritten = Template.bind({})
|
149
|
+
InfoCardTypeWarningPaddingOverwritten.args = {
|
150
|
+
...defaultInfoCardProps,
|
151
|
+
type: 'warning',
|
152
|
+
|
153
|
+
padding: '50px',
|
154
|
+
}
|
155
|
+
|
156
|
+
export const InfoCardTypeErrorMinorBorderColorOverwritten = Template.bind({})
|
157
|
+
InfoCardTypeErrorMinorBorderColorOverwritten.args = {
|
158
|
+
...defaultInfoCardProps,
|
159
|
+
type: 'error_minor',
|
160
|
+
|
161
|
+
borderColor: theme.colors.green,
|
162
|
+
}
|
163
|
+
|
164
|
+
export const InfoCardTypeErrorMinorBorderStyleOverwritten = Template.bind({})
|
165
|
+
InfoCardTypeErrorMinorBorderStyleOverwritten.args = {
|
166
|
+
...defaultInfoCardProps,
|
167
|
+
type: 'error_minor',
|
168
|
+
|
169
|
+
borderStyle: 'solid none',
|
170
|
+
}
|
@@ -1,7 +1,7 @@
|
|
1
|
-
const defaultInfoCardProps = {
|
2
|
-
// info card content slot
|
3
|
-
default:
|
4
|
-
'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.',
|
5
|
-
}
|
6
|
-
|
7
|
-
export default defaultInfoCardProps
|
1
|
+
const defaultInfoCardProps = {
|
2
|
+
// info card content slot
|
3
|
+
default:
|
4
|
+
'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.',
|
5
|
+
}
|
6
|
+
|
7
|
+
export default defaultInfoCardProps
|
@@ -1,152 +1,152 @@
|
|
1
|
-
<template>
|
2
|
-
<InfoContainer
|
3
|
-
:align-items="alignItems"
|
4
|
-
:border-color="borderColor"
|
5
|
-
:border-style="borderStyle"
|
6
|
-
:color="color"
|
7
|
-
data-test-id="info_card_wrapper"
|
8
|
-
:min-width="minWidth"
|
9
|
-
:padding="padding"
|
10
|
-
:preset-styles="presetStyles"
|
11
|
-
>
|
12
|
-
<RCIcon
|
13
|
-
:color="iconColor ? iconColor : presetStyles.iconColor"
|
14
|
-
data-test-id="info_card_icon"
|
15
|
-
name="info"
|
16
|
-
size="24px"
|
17
|
-
/>
|
18
|
-
<TextContainer data-test-id="info_card_text_container">
|
19
|
-
<slot></slot>
|
20
|
-
</TextContainer>
|
21
|
-
</InfoContainer>
|
22
|
-
</template>
|
23
|
-
|
24
|
-
<script>
|
25
|
-
import styled from 'vue3-styled-components'
|
26
|
-
import theme from '../../assets/theme.js'
|
27
|
-
import RCIcon from '../icon'
|
28
|
-
|
29
|
-
const infoContainerAttrs = {
|
30
|
-
minWidth: String,
|
31
|
-
color: String,
|
32
|
-
alignItems: String,
|
33
|
-
padding: String,
|
34
|
-
borderColor: String,
|
35
|
-
borderStyle: String,
|
36
|
-
presetStyles: Object,
|
37
|
-
}
|
38
|
-
const InfoContainer = styled('div', infoContainerAttrs)`
|
39
|
-
display: flex;
|
40
|
-
align-items: ${(props) =>
|
41
|
-
props.alignItems ? props.alignItems : props.presetStyles.alignItems};
|
42
|
-
gap: 15px;
|
43
|
-
min-width: ${(props) => props.minWidth};
|
44
|
-
padding: ${(props) =>
|
45
|
-
props.padding ? props.padding : props.presetStyles.padding};
|
46
|
-
color: ${(props) => (props.color ? props.color : props.presetStyles.color)};
|
47
|
-
border-radius: 4px;
|
48
|
-
background-color: ${(props) =>
|
49
|
-
props.backgroundColor
|
50
|
-
? props.backgroundColor
|
51
|
-
: props.presetStyles.backgroundColor};
|
52
|
-
border-width: ${(props) => props.presetStyles.borderWidth};
|
53
|
-
border-style: ${(props) =>
|
54
|
-
props.borderStyle ? props.borderStyle : props.presetStyles.borderStyle};
|
55
|
-
border-color: ${(props) =>
|
56
|
-
props.borderColor ? props.borderColor : props.presetStyles.borderColor};
|
57
|
-
`
|
58
|
-
|
59
|
-
const TextContainer = styled.div`
|
60
|
-
font-size: 13px;
|
61
|
-
width: 100%;
|
62
|
-
`
|
63
|
-
|
64
|
-
export default {
|
65
|
-
name: 'InfoCard',
|
66
|
-
components: {
|
67
|
-
RCIcon,
|
68
|
-
InfoContainer,
|
69
|
-
TextContainer,
|
70
|
-
},
|
71
|
-
props: {
|
72
|
-
type: {
|
73
|
-
required: false,
|
74
|
-
type: String,
|
75
|
-
default: 'info',
|
76
|
-
},
|
77
|
-
minWidth: {
|
78
|
-
required: false,
|
79
|
-
type: String,
|
80
|
-
default: '',
|
81
|
-
},
|
82
|
-
iconColor: {
|
83
|
-
required: false,
|
84
|
-
type: String,
|
85
|
-
default: '',
|
86
|
-
},
|
87
|
-
color: {
|
88
|
-
required: false,
|
89
|
-
type: String,
|
90
|
-
default: '',
|
91
|
-
},
|
92
|
-
alignItems: {
|
93
|
-
required: false,
|
94
|
-
type: String,
|
95
|
-
default: '',
|
96
|
-
},
|
97
|
-
padding: {
|
98
|
-
required: false,
|
99
|
-
type: String,
|
100
|
-
default: '',
|
101
|
-
},
|
102
|
-
borderColor: {
|
103
|
-
required: false,
|
104
|
-
type: String,
|
105
|
-
default: '',
|
106
|
-
},
|
107
|
-
borderStyle: {
|
108
|
-
required: false,
|
109
|
-
type: String,
|
110
|
-
default: '',
|
111
|
-
},
|
112
|
-
},
|
113
|
-
computed: {
|
114
|
-
isInfo() {
|
115
|
-
// this property is used for tests
|
116
|
-
return this.type === 'info'
|
117
|
-
},
|
118
|
-
isWarning() {
|
119
|
-
return this.type === 'warning'
|
120
|
-
},
|
121
|
-
isErrorMinor() {
|
122
|
-
return this.type === 'error_minor'
|
123
|
-
},
|
124
|
-
presetStyles() {
|
125
|
-
// the types that doesn't have explicit border anyway have it transparent
|
126
|
-
// to avoid flickering in case the same info card would switch the types
|
127
|
-
let stylesCollection = {
|
128
|
-
alignItems: 'flex-start',
|
129
|
-
padding: '20px',
|
130
|
-
borderWidth: '1px',
|
131
|
-
borderStyle: 'solid',
|
132
|
-
borderColor: 'transparent',
|
133
|
-
}
|
134
|
-
|
135
|
-
if (this.isWarning) {
|
136
|
-
stylesCollection.color = theme.colors.white
|
137
|
-
stylesCollection.backgroundColor = theme.colors.yellow
|
138
|
-
stylesCollection.iconColor = theme.colors.white
|
139
|
-
} else if (this.isErrorMinor) {
|
140
|
-
stylesCollection.borderStyle = 'dashed'
|
141
|
-
stylesCollection.borderColor = theme.colors.pureRed
|
142
|
-
stylesCollection.iconColor = theme.colors.pureRed
|
143
|
-
} else {
|
144
|
-
stylesCollection.borderStyle = 'dashed'
|
145
|
-
stylesCollection.borderColor = theme.colors.grey4
|
146
|
-
}
|
147
|
-
|
148
|
-
return stylesCollection
|
149
|
-
},
|
150
|
-
},
|
151
|
-
}
|
152
|
-
</script>
|
1
|
+
<template>
|
2
|
+
<InfoContainer
|
3
|
+
:align-items="alignItems"
|
4
|
+
:border-color="borderColor"
|
5
|
+
:border-style="borderStyle"
|
6
|
+
:color="color"
|
7
|
+
data-test-id="info_card_wrapper"
|
8
|
+
:min-width="minWidth"
|
9
|
+
:padding="padding"
|
10
|
+
:preset-styles="presetStyles"
|
11
|
+
>
|
12
|
+
<RCIcon
|
13
|
+
:color="iconColor ? iconColor : presetStyles.iconColor"
|
14
|
+
data-test-id="info_card_icon"
|
15
|
+
name="info"
|
16
|
+
size="24px"
|
17
|
+
/>
|
18
|
+
<TextContainer data-test-id="info_card_text_container">
|
19
|
+
<slot></slot>
|
20
|
+
</TextContainer>
|
21
|
+
</InfoContainer>
|
22
|
+
</template>
|
23
|
+
|
24
|
+
<script>
|
25
|
+
import styled from 'vue3-styled-components'
|
26
|
+
import theme from '../../assets/theme.js'
|
27
|
+
import RCIcon from '../icon'
|
28
|
+
|
29
|
+
const infoContainerAttrs = {
|
30
|
+
minWidth: String,
|
31
|
+
color: String,
|
32
|
+
alignItems: String,
|
33
|
+
padding: String,
|
34
|
+
borderColor: String,
|
35
|
+
borderStyle: String,
|
36
|
+
presetStyles: Object,
|
37
|
+
}
|
38
|
+
const InfoContainer = styled('div', infoContainerAttrs)`
|
39
|
+
display: flex;
|
40
|
+
align-items: ${(props) =>
|
41
|
+
props.alignItems ? props.alignItems : props.presetStyles.alignItems};
|
42
|
+
gap: 15px;
|
43
|
+
min-width: ${(props) => props.minWidth};
|
44
|
+
padding: ${(props) =>
|
45
|
+
props.padding ? props.padding : props.presetStyles.padding};
|
46
|
+
color: ${(props) => (props.color ? props.color : props.presetStyles.color)};
|
47
|
+
border-radius: 4px;
|
48
|
+
background-color: ${(props) =>
|
49
|
+
props.backgroundColor
|
50
|
+
? props.backgroundColor
|
51
|
+
: props.presetStyles.backgroundColor};
|
52
|
+
border-width: ${(props) => props.presetStyles.borderWidth};
|
53
|
+
border-style: ${(props) =>
|
54
|
+
props.borderStyle ? props.borderStyle : props.presetStyles.borderStyle};
|
55
|
+
border-color: ${(props) =>
|
56
|
+
props.borderColor ? props.borderColor : props.presetStyles.borderColor};
|
57
|
+
`
|
58
|
+
|
59
|
+
const TextContainer = styled.div`
|
60
|
+
font-size: 13px;
|
61
|
+
width: 100%;
|
62
|
+
`
|
63
|
+
|
64
|
+
export default {
|
65
|
+
name: 'InfoCard',
|
66
|
+
components: {
|
67
|
+
RCIcon,
|
68
|
+
InfoContainer,
|
69
|
+
TextContainer,
|
70
|
+
},
|
71
|
+
props: {
|
72
|
+
type: {
|
73
|
+
required: false,
|
74
|
+
type: String,
|
75
|
+
default: 'info',
|
76
|
+
},
|
77
|
+
minWidth: {
|
78
|
+
required: false,
|
79
|
+
type: String,
|
80
|
+
default: '',
|
81
|
+
},
|
82
|
+
iconColor: {
|
83
|
+
required: false,
|
84
|
+
type: String,
|
85
|
+
default: '',
|
86
|
+
},
|
87
|
+
color: {
|
88
|
+
required: false,
|
89
|
+
type: String,
|
90
|
+
default: '',
|
91
|
+
},
|
92
|
+
alignItems: {
|
93
|
+
required: false,
|
94
|
+
type: String,
|
95
|
+
default: '',
|
96
|
+
},
|
97
|
+
padding: {
|
98
|
+
required: false,
|
99
|
+
type: String,
|
100
|
+
default: '',
|
101
|
+
},
|
102
|
+
borderColor: {
|
103
|
+
required: false,
|
104
|
+
type: String,
|
105
|
+
default: '',
|
106
|
+
},
|
107
|
+
borderStyle: {
|
108
|
+
required: false,
|
109
|
+
type: String,
|
110
|
+
default: '',
|
111
|
+
},
|
112
|
+
},
|
113
|
+
computed: {
|
114
|
+
isInfo() {
|
115
|
+
// this property is used for tests
|
116
|
+
return this.type === 'info'
|
117
|
+
},
|
118
|
+
isWarning() {
|
119
|
+
return this.type === 'warning'
|
120
|
+
},
|
121
|
+
isErrorMinor() {
|
122
|
+
return this.type === 'error_minor'
|
123
|
+
},
|
124
|
+
presetStyles() {
|
125
|
+
// the types that doesn't have explicit border anyway have it transparent
|
126
|
+
// to avoid flickering in case the same info card would switch the types
|
127
|
+
let stylesCollection = {
|
128
|
+
alignItems: 'flex-start',
|
129
|
+
padding: '20px',
|
130
|
+
borderWidth: '1px',
|
131
|
+
borderStyle: 'solid',
|
132
|
+
borderColor: 'transparent',
|
133
|
+
}
|
134
|
+
|
135
|
+
if (this.isWarning) {
|
136
|
+
stylesCollection.color = theme.colors.white
|
137
|
+
stylesCollection.backgroundColor = theme.colors.yellow
|
138
|
+
stylesCollection.iconColor = theme.colors.white
|
139
|
+
} else if (this.isErrorMinor) {
|
140
|
+
stylesCollection.borderStyle = 'dashed'
|
141
|
+
stylesCollection.borderColor = theme.colors.pureRed
|
142
|
+
stylesCollection.iconColor = theme.colors.pureRed
|
143
|
+
} else {
|
144
|
+
stylesCollection.borderStyle = 'dashed'
|
145
|
+
stylesCollection.borderColor = theme.colors.grey4
|
146
|
+
}
|
147
|
+
|
148
|
+
return stylesCollection
|
149
|
+
},
|
150
|
+
},
|
151
|
+
}
|
152
|
+
</script>
|