Skip to content

Commit 222704e

Browse files
committed
refactor: Improve configuration
1 parent ff78157 commit 222704e

37 files changed

+665
-198
lines changed

.eslintrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"prettier/@typescript-eslint"
99
],
1010
"parserOptions": {
11-
"project": "./tsconfig.json"
11+
"project": "./tsconfig.eslint.json"
1212
},
1313
"rules": {
1414
"prettier/prettier": "error",

README.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
[![NPM Version](https://img.shields.io/npm/v/vue-use-kit.svg)](https://www.npmjs.com/package/vue-use-kit) [![NPM Downloads](https://img.shields.io/npm/dm/vue-use-kit.svg)](https://www.npmjs.com/package/vue-use-kit) [![Build Status](https://img.shields.io/travis/microcipcip/vue-use-kit/master.svg)](https://travis-ci.org/microcipcip/vue-use-kit) [![GitHub license](https://img.shields.io/github/license/microcipcip/vue-use-kit?style=flat-square)](https://github.com/microcipcip/vue-use-kit/blob/master/LICENSE) [![Demo](https://img.shields.io/badge/demos-🚀-yellow.svg)](https://microcipcip.github.io/vue-use-kit/)
44

5-
> 🌳 Collection of useful [Vue Composition API](https://vue-composition-api-rfc.netlify.com) functions.</em>
5+
> 🌳 Vue kit of useful [Vue Composition API](https://vue-composition-api-rfc.netlify.com) functions.</em>
66
77
Please note that Vue 3.0 has not been released yet, therefore the installation and setup of [@vue/composition-api](https://github.com/vuejs/composition-api) is required for this library to work.
88

@@ -21,6 +21,9 @@ Please check the [documentation](https://microcipcip.github.io/vue-use-kit/) to
2121
- Sensors
2222
- [`useMedia`](./src/components/useMedia/stories/useMedia.md) &mdash; tracks state of a CSS media query. [![Demo](https://img.shields.io/badge/demo-🚀-yellow.svg)](https://microcipcip.github.io/vue-use-kit/?path=/story/sensors-usemedia--basic-demo)
2323
- [`useMouse`](./src/components/useMouse/stories/useMouse.md) &mdash; tracks the mouse's position. [![Demo](https://img.shields.io/badge/demo-🚀-yellow.svg)](https://microcipcip.github.io/vue-use-kit/?path=/story/sensors-usemouse--demo)
24+
- [`useMouseElement`](./src/components/useMouseElement/stories/useMouseElement.md) &mdash; tracks the mouse's position relative to given element. [![Demo](https://img.shields.io/badge/demo-🚀-yellow.svg)](https://microcipcip.github.io/vue-use-kit/?path=/story/sensors-usemouseelement--demo)
25+
- Animations
26+
- [`useTimeoutFn`](./src/components/useTimeoutFn/stories/useTimeoutFn.md) &mdash; calls function after a timeout. [![Demo](https://img.shields.io/badge/demo-🚀-yellow.svg)](https://microcipcip.github.io/vue-use-kit/?path=/story/animations-usetimeoutfn--demo)
2427
- Utils
2528
- [`getQuery`](./src/components/getQuery/stories/getQuery.md) &mdash; get a CSS media query string. [![Demo](https://img.shields.io/badge/demo-🚀-yellow.svg)](https://microcipcip.github.io/vue-use-kit/?path=/story/utils-getquery--demo)
2629

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "vue-use-kit",
33
"version": "0.0.0-development",
4-
"description": "Useful collection of Vue composition API utilities",
4+
"description": "Useful kit of Vue composition API utilities",
55
"keywords": [
66
"vue",
77
"vue-use",

src/api.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
export * from '@vue/composition-api'
2+
export { default } from '@vue/composition-api'

src/components/getQuery/stories/getQuery.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,18 @@ getQuery is an utility function that helps you build a min max media query.
55
## Reference
66

77
```typescript
8-
const query = getQuery(min?: number, max?: number): string
8+
getQuery(
9+
min?: number,
10+
max?: number
11+
): string
912
```
1013

11-
## Parameters
14+
### Parameters
1215

1316
- `min: number` the min value to use to build the media query
1417
- `max: number` the max value to use to build the media query
1518

16-
## Returns
19+
### Returns
1720

1821
- `query: string` the media query value
1922

src/components/useMedia/stories/UseMediaAdvancedDemo.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939

4040
<script lang="ts">
4141
import Vue from 'vue'
42-
import { computed } from '@vue/composition-api'
42+
import { computed } from '../../../api'
4343
import { getQuery, useMedia } from '../../../vue-use-kit'
4444
4545
// breakpoints

src/components/useMedia/stories/useMedia.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,18 @@ Vue function that tracks the state of a CSS media query.
55
## Reference
66

77
```typescript
8-
const isQueryMatching = useMedia(query: string, defaultState?: boolean): import("@vue/composition-api").Ref<boolean>
8+
useMedia(
9+
query: string,
10+
defaultState?: boolean
11+
): Ref<boolean>
912
```
1013

11-
## Parameters
14+
### Parameters
1215

1316
- `query: string` the media query to use, for example '(min-width: 1024px)'
1417
- `defaultState?: boolean` the value used as fallback for SSR
1518

16-
## Returns
19+
### Returns
1720

1821
- `isQueryMatching: boolean` whether the query matches or not
1922

src/components/useMedia/useMedia.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { ref, onMounted, onUnmounted } from '@vue/composition-api'
1+
import { ref, onMounted, onUnmounted } from '../../api'
22

33
export function useMedia(query: string, defaultState = false) {
44
let mql: MediaQueryList

src/components/useMouse/stories/UseMouseAdvancedDemo.vue

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -16,43 +16,33 @@
1616
<tbody>
1717
<tr>
1818
<td>docX, docY</td>
19-
<td>Mouse position relative to <strong>document</strong></td>
19+
<td>Mouse position <strong>relative to document</strong></td>
2020
<td>
2121
<span>{{ toInt(docX) }}px</span>
2222
</td>
2323
<td>
2424
<span>{{ toInt(docY) }}px</span>
2525
</td>
2626
</tr>
27-
<tr>
28-
<td>elX, elY</td>
29-
<td>Mouse position relative to <strong>emoji element</strong></td>
30-
<td>
31-
<span>{{ toInt(elX) }}px</span>
32-
</td>
33-
<td>
34-
<span>{{ toInt(elY) }}px</span>
35-
</td>
36-
</tr>
3727
</tbody>
3828
</table>
3929
</div>
4030
</template>
4131

4232
<script lang="ts">
4333
import Vue from 'vue'
44-
import { ref, computed, onMounted, onUnmounted } from '@vue/composition-api'
34+
import { ref, computed, onMounted, onUnmounted } from '../../../api'
4535
import { useMouse } from '../../../vue-use-kit'
4636
4737
const toInt = (n: number) => Math.round(n)
4838
4939
export default Vue.extend({
50-
name: 'UseMouseDemo',
40+
name: 'useMouseAdvancedDemo',
5141
setup() {
5242
const emojiRef = ref(null)
53-
let pauseEmoji = ref(false)
43+
let pauseEmoji = ref(true)
5444
55-
const { docX, docY, elX, elY } = useMouse(emojiRef)
45+
const { docX, docY } = useMouse()
5646
5747
const emojiStyle = computed(() => {
5848
if (pauseEmoji.value) return
@@ -87,9 +77,7 @@ export default Vue.extend({
8777
toggleEmojiMovement,
8878
toInt,
8979
docX,
90-
docY,
91-
elX,
92-
elY,
80+
docY
9381
}
9482
}
9583
})

src/components/useMouse/stories/UseMouseDemo.vue

Lines changed: 5 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template>
2-
<table class="table is-fullwidth" ref="tableRef">
2+
<table class="table is-fullwidth">
33
<thead>
44
<tr>
55
<th>Props</th>
@@ -11,48 +11,34 @@
1111
<tbody>
1212
<tr>
1313
<td>docX, docY</td>
14-
<td>Mouse position relative to <strong>document</strong></td>
14+
<td>Mouse position <strong>relative to document</strong></td>
1515
<td>
1616
<span>{{ toInt(docX) }}px</span>
1717
</td>
1818
<td>
1919
<span>{{ toInt(docY) }}px</span>
2020
</td>
2121
</tr>
22-
<tr>
23-
<td>elX, elY</td>
24-
<td>Mouse position relative to <strong>table element</strong></td>
25-
<td>
26-
<span>{{ toInt(elX) }}px</span>
27-
</td>
28-
<td>
29-
<span>{{ toInt(elY) }}px</span>
30-
</td>
31-
</tr>
3222
</tbody>
3323
</table>
3424
</template>
3525

3626
<script lang="ts">
3727
import Vue from 'vue'
38-
import { ref } from '@vue/composition-api'
28+
import { ref } from '../../../api'
3929
import { useMouse } from '../../../vue-use-kit'
4030
4131
const toInt = (n: number) => Math.round(n)
4232
4333
export default Vue.extend({
4434
name: 'UseMouseDemo',
4535
setup() {
46-
const tableRef = ref(null)
47-
const { docX, docY, elX, elY } = useMouse(tableRef)
36+
const { docX, docY } = useMouse()
4837
4938
return {
50-
tableRef,
5139
toInt,
5240
docX,
53-
docY,
54-
elX,
55-
elY,
41+
docY
5642
}
5743
}
5844
})

0 commit comments

Comments
 (0)