1.0.3 • Published 3 years ago

vue-open-weather-widget v1.0.3

Weekly downloads
9
License
MIT
Repository
-
Last release
3 years ago

vue-open-weather-widget

A minimalistic weather component for Vue. Weather data is taken from the openweather API.

Demo

You can see the widget in action on this page: https://vue-open-weather-widget.web.app/

Get weather API key

You will need the open weather API key. You can get it for free on openweather website.

Install

To add this component in your app, run the following command:

npm install vue-open-weather-widget

or

yarn add vue-open-weather-widget

Import

import OpenWeatherWidget from 'vueOpenWeatherWidget'
import 'vue-open-weather-widget/dist/vue-open-weather-widget.css'

export {
  components: {
    OpenWeatherWidget
  }
}

Use

<div class="weather-widget-container">
  <open-weather-widget :api-key="weatherApiKey"/>
</div>

Style

You can style the component with CSS. Just make sure your styles have higher specificity than the component's styles. The easiest way to do this is to add #app in the selectors. For example:

<style lang="scss">
:root {
  --bg-color-1: rgb(233, 233, 239);
}

.weather-widget-container {
  width: 320px;
  height: 380px;
  border-radius: 12px;
  box-shadow: 
    0px 0px 2px 4px rgba(255, 255, 255, 0.1),
    -12px -12px 32px rgba(255, 255, 255, 0.5),
    12px 12px 32px rgba(0, 0, 0, 0.1);
}

#app .open-weather-widget {
  border-radius: 12px;
  background-color: var(--bg-color-1);
  &__input-element {
    & label {
      background-color: var(--bg-color-1);
    }
  }
  &__sortable-list {
    &__item {
      padding: 12px;
      margin: 16px 0;
      background-color: var(--bg-color-1);
      border-radius: 4px;
      border: none;
      box-shadow: 
        -2px -2px 8px rgba(255,255,255,0.6), 
        2px 2px 8px rgba(0,0,0,0.1);
    }
  }
}

#app #open-weather-widget {
  &__loading-screen {
    background-color: var(--bg-color-1);
  }
}
</style>

API

Props:

For developers

Install

yarn

Start dev server for the component

vue serve src/components/OpenWeatherWidget.vue

Compile and minify for production

yarn build