@d-mok/quasar-app-extension-quasar-axe 2.1.71 → 2.1.72

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/.gitattributes +2 -2
  2. package/package.json +49 -49
  3. package/shims-vue.d.ts +5 -5
  4. package/src/index.js +41 -41
  5. package/src/install.js +6 -6
  6. package/src/prompts.js +3 -3
  7. package/src/templates/src/boot/axe/AutoReg.ts +18 -18
  8. package/src/templates/src/boot/axe/AutoRoute.ts +40 -40
  9. package/src/templates/src/boot/axe/Interceptor.ts +86 -86
  10. package/src/templates/src/boot/axe/LoadEnd.ts +8 -8
  11. package/src/templates/src/boot/axe/LoadStart.ts +8 -8
  12. package/src/templates/src/boot/axe/components/QxBtn.vue +25 -25
  13. package/src/templates/src/boot/axe/components/QxBtnIcon.vue +11 -11
  14. package/src/templates/src/boot/axe/components/QxBtnToggle.vue +25 -25
  15. package/src/templates/src/boot/axe/components/QxFloatBtn.vue +46 -46
  16. package/src/templates/src/boot/axe/components/QxImg.vue +22 -22
  17. package/src/templates/src/boot/axe/components/QxInputAutocomplete.vue +46 -46
  18. package/src/templates/src/boot/axe/components/QxLayout.vue +134 -134
  19. package/src/templates/src/boot/axe/components/QxMenuItem.vue +37 -37
  20. package/src/templates/src/boot/axe/components/QxPlate.vue +154 -154
  21. package/src/templates/src/boot/axe/components/QxRadio.vue +25 -25
  22. package/src/templates/src/boot/axe/components/QxSelect.vue +69 -69
  23. package/src/templates/src/boot/axe/components/QxSignoutBtn.vue +16 -16
  24. package/src/templates/src/boot/axe/components/QxSortable.vue +63 -63
  25. package/src/templates/src/boot/axe/components/QxText.vue +34 -34
  26. package/src/templates/src/boot/axe/components/QxTick.vue +14 -14
  27. package/src/templates/src/boot/axe/components/QxWidget.vue +49 -49
  28. package/src/templates/src/utils/csv.ts +16 -16
  29. package/src/templates/src/utils/dialog/advanced.ts +235 -235
  30. package/src/templates/src/utils/dialog/basic.ts +160 -160
  31. package/src/templates/src/utils/dialog/custom/dialogBtn.vue +49 -49
  32. package/src/templates/src/utils/dialog/custom/dialogFile.vue +54 -54
  33. package/src/templates/src/utils/dialog/custom/dialogForm.vue +139 -139
  34. package/src/templates/src/utils/dialog/custom/dialogTable.vue +144 -144
  35. package/src/templates/src/utils/dialog/custom/dialogTextarea.vue +54 -54
  36. package/src/templates/src/utils/dialog/custom/handson.vue +133 -133
  37. package/src/templates/src/utils/dialog/custom/schema.ts +96 -96
  38. package/src/templates/src/utils/dialog/index.ts +4 -4
  39. package/src/templates/src/utils/dialog/tool.ts +11 -11
  40. package/src/templates/src/utils/extension.ts +13 -13
  41. package/src/templates/src/utils/gSheet.ts +56 -56
  42. package/src/templates/src/utils/index.ts +25 -25
  43. package/src/templates/src/utils/notify.ts +46 -46
  44. package/src/templates/src/utils/puppets/builder/index.ts +226 -226
  45. package/src/templates/src/utils/puppets/builder/ui.ts +31 -31
  46. package/src/templates/src/utils/puppets/core/db.ts +127 -127
  47. package/src/templates/src/utils/puppets/core/index.ts +44 -44
  48. package/src/templates/src/utils/puppets/entity.ts +39 -39
  49. package/src/templates/src/utils/puppets/index.ts +2 -2
  50. package/src/templates/src/utils/puppets/table.ts +211 -211
  51. package/src/templates/src/utils/puppets/type.ts +15 -15
  52. package/src/templates/src/utils/storage.ts +130 -130
  53. package/src/templates/src/utils/supabase.ts +117 -117
  54. package/src/templates/src/utils/zip.ts +43 -43
  55. package/src/uninstall.js +5 -5
  56. package/tsconfig.json +76 -76
package/.gitattributes CHANGED
@@ -1,2 +1,2 @@
1
- # Auto detect text files and perform LF normalization
2
- * text=auto
1
+ # Auto detect text files and perform LF normalization
2
+ * text=auto
package/package.json CHANGED
@@ -1,49 +1,49 @@
1
- {
2
- "name": "@d-mok/quasar-app-extension-quasar-axe",
3
- "version": "2.1.71",
4
- "description": "A Quasar App Extension",
5
- "author": "d-mok <49301824+d-mok@users.noreply.github.com>",
6
- "license": "MIT",
7
- "main": "src/index.js",
8
- "scripts": {
9
- "publish-package": "npm version patch --no-git-tag-version && npm publish --access public"
10
- },
11
- "engines": {
12
- "node": ">= 8.9.0",
13
- "npm": ">= 5.6.0",
14
- "yarn": ">= 1.6.0"
15
- },
16
- "dependencies": {
17
- "@handsontable/vue3": "^12.4.0",
18
- "@supabase/supabase-js": "^2.24.0",
19
- "@types/lodash": "^4.14.195",
20
- "@types/papaparse": "^5.3.7",
21
- "@types/webpack-env": "^1.18.1",
22
- "@vueuse/core": "^10.1.2",
23
- "handsontable": "^12.4.0",
24
- "jszip": "^3.10.1",
25
- "lodash": "^4.17.21",
26
- "mime-types": "^2.1.35",
27
- "papaparse": "^5.4.1",
28
- "sapphire-js": "^2.0.29",
29
- "vuedraggable": "^4.1.0"
30
- },
31
- "devDependencies": {
32
- "@quasar/app": "^3.3.3",
33
- "@quasar/extras": "^1.14.2",
34
- "@types/mime-types": "^2.1.1",
35
- "@types/node": "^20.2.5",
36
- "core-js": "^3.30.2",
37
- "quasar": "^2.12.0",
38
- "typescript": "^5.0.4",
39
- "vite": "^4.3.9",
40
- "vue": "^3.3.4"
41
- },
42
- "prettier": {
43
- "tabWidth": 4,
44
- "semi": false,
45
- "singleQuote": true,
46
- "arrowParens": "avoid",
47
- "singleAttributePerLine": true
48
- }
49
- }
1
+ {
2
+ "name": "@d-mok/quasar-app-extension-quasar-axe",
3
+ "version": "2.1.72",
4
+ "description": "A Quasar App Extension",
5
+ "author": "d-mok <49301824+d-mok@users.noreply.github.com>",
6
+ "license": "MIT",
7
+ "main": "src/index.js",
8
+ "scripts": {
9
+ "publish-package": "npm version patch --no-git-tag-version && npm publish --access public"
10
+ },
11
+ "engines": {
12
+ "node": ">= 8.9.0",
13
+ "npm": ">= 5.6.0",
14
+ "yarn": ">= 1.6.0"
15
+ },
16
+ "dependencies": {
17
+ "@handsontable/vue3": "^12.4.0",
18
+ "@supabase/supabase-js": "^2.24.0",
19
+ "@types/lodash": "^4.14.195",
20
+ "@types/papaparse": "^5.3.7",
21
+ "@types/webpack-env": "^1.18.1",
22
+ "@vueuse/core": "^10.1.2",
23
+ "handsontable": "^12.4.0",
24
+ "jszip": "^3.10.1",
25
+ "lodash": "^4.17.21",
26
+ "mime-types": "^2.1.35",
27
+ "papaparse": "^5.4.1",
28
+ "sapphire-js": "^2.0.30",
29
+ "vuedraggable": "^4.1.0"
30
+ },
31
+ "devDependencies": {
32
+ "@quasar/app": "^3.3.3",
33
+ "@quasar/extras": "^1.14.2",
34
+ "@types/mime-types": "^2.1.1",
35
+ "@types/node": "^20.2.5",
36
+ "core-js": "^3.30.2",
37
+ "quasar": "^2.12.0",
38
+ "typescript": "^5.0.4",
39
+ "vite": "^4.3.9",
40
+ "vue": "^3.3.4"
41
+ },
42
+ "prettier": {
43
+ "tabWidth": 4,
44
+ "semi": false,
45
+ "singleQuote": true,
46
+ "arrowParens": "avoid",
47
+ "singleAttributePerLine": true
48
+ }
49
+ }
package/shims-vue.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- declare module '*.vue' {
2
- import { ComponentOptions } from 'vue'
3
- const component: ComponentOptions
4
- export default component
5
- }
1
+ declare module '*.vue' {
2
+ import { ComponentOptions } from 'vue'
3
+ const component: ComponentOptions
4
+ export default component
5
+ }
package/src/index.js CHANGED
@@ -1,41 +1,41 @@
1
- function extendQuasarConf(conf, prompts) {
2
- for (let b of ['AutoRoute', 'AutoReg', 'Interceptor'])
3
- conf.boot.unshift(`axe/${b}`)
4
- console.log('[QuasarAxe] Config pushed Boots')
5
- conf.boot.unshift('axe/LoadStart')
6
- conf.boot.push('axe/LoadEnd')
7
-
8
- conf.framework.plugins.push(
9
- 'AppVisibility',
10
- 'Notify',
11
- 'Dialog',
12
- 'LoadingBar'
13
- )
14
- console.log('[QuasarAxe] Config pushed framework.plugins')
15
-
16
- conf.framework.config.loadingBar = {
17
- position: 'top',
18
- color: 'white',
19
- size: '5px',
20
- skipHijack: true,
21
- }
22
- conf.framework.config.notify = {}
23
- console.log('[QuasarAxe] Config pushed framework.config')
24
-
25
- conf.animations.push('fadeIn', 'fadeOut', 'zoomIn', 'zoomOut')
26
- console.log('[QuasarAxe] Config pushed animations')
27
-
28
- conf.build.viteVuePluginOptions = {
29
- script: {
30
- defineModel: true,
31
- propsDestructure: true,
32
- },
33
- }
34
- console.log('[QuasarAxe] Config pushed viteVuePluginOptions')
35
- }
36
-
37
- module.exports = function (api) {
38
- api.compatibleWith('quasar', '^2.0.0')
39
- api.compatibleWith('@quasar/app-vite', '^1.0.0')
40
- api.extendQuasarConf(conf => extendQuasarConf(conf, api.prompts))
41
- }
1
+ function extendQuasarConf(conf, prompts) {
2
+ for (let b of ['AutoRoute', 'AutoReg', 'Interceptor'])
3
+ conf.boot.unshift(`axe/${b}`)
4
+ console.log('[QuasarAxe] Config pushed Boots')
5
+ conf.boot.unshift('axe/LoadStart')
6
+ conf.boot.push('axe/LoadEnd')
7
+
8
+ conf.framework.plugins.push(
9
+ 'AppVisibility',
10
+ 'Notify',
11
+ 'Dialog',
12
+ 'LoadingBar'
13
+ )
14
+ console.log('[QuasarAxe] Config pushed framework.plugins')
15
+
16
+ conf.framework.config.loadingBar = {
17
+ position: 'top',
18
+ color: 'white',
19
+ size: '5px',
20
+ skipHijack: true,
21
+ }
22
+ conf.framework.config.notify = {}
23
+ console.log('[QuasarAxe] Config pushed framework.config')
24
+
25
+ conf.animations.push('fadeIn', 'fadeOut', 'zoomIn', 'zoomOut')
26
+ console.log('[QuasarAxe] Config pushed animations')
27
+
28
+ conf.build.viteVuePluginOptions = {
29
+ script: {
30
+ defineModel: true,
31
+ propsDestructure: true,
32
+ },
33
+ }
34
+ console.log('[QuasarAxe] Config pushed viteVuePluginOptions')
35
+ }
36
+
37
+ module.exports = function (api) {
38
+ api.compatibleWith('quasar', '^2.0.0')
39
+ api.compatibleWith('@quasar/app-vite', '^1.0.0')
40
+ api.extendQuasarConf(conf => extendQuasarConf(conf, api.prompts))
41
+ }
package/src/install.js CHANGED
@@ -1,6 +1,6 @@
1
- module.exports = function (api) {
2
- api.compatibleWith('quasar', '^2.0.0')
3
- api.compatibleWith('@quasar/app-vite', '^1.0.0')
4
- api.render('./templates')
5
- api.onExitLog('Thanks for installing quasar-axe!')
6
- }
1
+ module.exports = function (api) {
2
+ api.compatibleWith('quasar', '^2.0.0')
3
+ api.compatibleWith('@quasar/app-vite', '^1.0.0')
4
+ api.render('./templates')
5
+ api.onExitLog('Thanks for installing quasar-axe!')
6
+ }
package/src/prompts.js CHANGED
@@ -1,3 +1,3 @@
1
- module.exports = function () {
2
- return [];
3
- };
1
+ module.exports = function () {
2
+ return [];
3
+ };
@@ -1,18 +1,18 @@
1
- import { boot } from 'quasar/wrappers'
2
-
3
- function pascal(s: string): string {
4
- return s
5
- .split('/')
6
- .pop()!
7
- .replace(/\.\w+$/, '')
8
- }
9
-
10
- console.log('[QuasarAxe] Run Boot AutoReg')
11
-
12
- const components = import.meta.globEager('src/**/*.vue')
13
-
14
- export default boot(({ app }) => {
15
- for (let path in components) {
16
- app.component(pascal(path), components[path].default)
17
- }
18
- })
1
+ import { boot } from 'quasar/wrappers'
2
+
3
+ function pascal(s: string): string {
4
+ return s
5
+ .split('/')
6
+ .pop()!
7
+ .replace(/\.\w+$/, '')
8
+ }
9
+
10
+ console.log('[QuasarAxe] Run Boot AutoReg')
11
+
12
+ const components = import.meta.globEager('src/**/*.vue')
13
+
14
+ export default boot(({ app }) => {
15
+ for (let path in components) {
16
+ app.component(pascal(path), components[path].default)
17
+ }
18
+ })
@@ -1,40 +1,40 @@
1
- import { boot } from 'quasar/wrappers'
2
-
3
- function pascal(s: string): string {
4
- return s
5
- .split('/')
6
- .pop()!
7
- .replace(/\.\w+$/, '')
8
- }
9
-
10
- if (!process.env.HOME_ROUTE) throw 'Missing HOME_ROUTE in process.env!'
11
-
12
- const HOME_ROUTE = process.env.HOME_ROUTE ?? '/'
13
-
14
- console.log('[QuasarAxe] Run Boot AutoRoute')
15
-
16
- const pages = import.meta.globEager('src/**/pages/**/*.vue')
17
-
18
- const routes = Object.keys(pages).map(path => ({
19
- path: pascal(path).toLowerCase(),
20
- component: pages[path].default,
21
- }))
22
-
23
- const _pages = import.meta.globEager('src/**/_*.vue')
24
-
25
- const _routes = Object.keys(_pages).map(path => ({
26
- path: pascal(path).toLowerCase().replace('_', ''),
27
- component: _pages[path].default,
28
- }))
29
-
30
- export default boot(({ app, router }) => {
31
- router.addRoute({
32
- path: '/',
33
- component: () => import('src/layouts/Layout.vue'),
34
- children: [...routes, ..._routes, { path: '/', redirect: HOME_ROUTE }],
35
- })
36
- router.addRoute({
37
- path: '/:catchAll(.*)*',
38
- redirect: HOME_ROUTE,
39
- })
40
- })
1
+ import { boot } from 'quasar/wrappers'
2
+
3
+ function pascal(s: string): string {
4
+ return s
5
+ .split('/')
6
+ .pop()!
7
+ .replace(/\.\w+$/, '')
8
+ }
9
+
10
+ if (!process.env.HOME_ROUTE) throw 'Missing HOME_ROUTE in process.env!'
11
+
12
+ const HOME_ROUTE = process.env.HOME_ROUTE ?? '/'
13
+
14
+ console.log('[QuasarAxe] Run Boot AutoRoute')
15
+
16
+ const pages = import.meta.globEager('src/**/pages/**/*.vue')
17
+
18
+ const routes = Object.keys(pages).map(path => ({
19
+ path: pascal(path).toLowerCase(),
20
+ component: pages[path].default,
21
+ }))
22
+
23
+ const _pages = import.meta.globEager('src/**/_*.vue')
24
+
25
+ const _routes = Object.keys(_pages).map(path => ({
26
+ path: pascal(path).toLowerCase().replace('_', ''),
27
+ component: _pages[path].default,
28
+ }))
29
+
30
+ export default boot(({ app, router }) => {
31
+ router.addRoute({
32
+ path: '/',
33
+ component: () => import('src/layouts/Layout.vue'),
34
+ children: [...routes, ..._routes, { path: '/', redirect: HOME_ROUTE }],
35
+ })
36
+ router.addRoute({
37
+ path: '/:catchAll(.*)*',
38
+ redirect: HOME_ROUTE,
39
+ })
40
+ })
@@ -1,86 +1,86 @@
1
- import { boot } from 'quasar/wrappers'
2
- import { LoadingBar } from 'quasar'
3
-
4
- console.log('[QuasarAxe] Run Boot Interceptor')
5
-
6
- declare global {
7
- interface XMLHttpRequest {
8
- _url: string
9
- }
10
- }
11
-
12
- export function setAjaxInterceptor(
13
- onStart: (_: XMLHttpRequest) => void,
14
- onEnd: (_: XMLHttpRequest) => void
15
- ) {
16
- var open = window.XMLHttpRequest.prototype.open
17
- var send = window.XMLHttpRequest.prototype.send
18
-
19
- window.XMLHttpRequest.prototype.open = function (...args: any) {
20
- this._url = args[1] ?? ''
21
- open.apply(this, args)
22
- }
23
-
24
- window.XMLHttpRequest.prototype.send = function (...args: any) {
25
- var request = this
26
- onStart(request)
27
-
28
- var intervalId = window.setInterval(function () {
29
- if (request.readyState != 4) return
30
- onEnd(request)
31
- clearInterval(intervalId)
32
- }, 10)
33
-
34
- return send.apply(this, args)
35
- }
36
- }
37
-
38
- export function setFetchInterceptor(
39
- onStart: (..._: Parameters<typeof window.fetch>) => void,
40
- onEnd: (..._: Parameters<typeof window.fetch>) => void
41
- ) {
42
- const oldFetch = window.fetch
43
-
44
- window.fetch = async (...args) => {
45
- onStart(...args)
46
-
47
- const response = await oldFetch(...args)
48
-
49
- onEnd(...args)
50
-
51
- // /* work with the cloned response in a separate promise
52
- // chain -- could use the same chain with `await`. */
53
- // response
54
- // .clone()
55
- // .json()
56
- // .then(body => console.log("intercepted response:", body))
57
- // .catch(err => console.error(err))
58
-
59
- /* the original response can be resolved unmodified: */
60
- return response
61
- }
62
- }
63
-
64
- function isLogRocket(request: XMLHttpRequest): boolean {
65
- return request._url.startsWith('https://r.lr-ingest.io')
66
- }
67
-
68
- setAjaxInterceptor(
69
- request => {
70
- if (!isLogRocket(request)) {
71
- LoadingBar.start()
72
- }
73
- },
74
- request => {
75
- if (!isLogRocket(request)) {
76
- LoadingBar.stop()
77
- }
78
- }
79
- )
80
-
81
- setFetchInterceptor(
82
- () => LoadingBar.start(),
83
- () => LoadingBar.stop()
84
- )
85
-
86
- export default boot(({ app, router }) => {})
1
+ import { boot } from 'quasar/wrappers'
2
+ import { LoadingBar } from 'quasar'
3
+
4
+ console.log('[QuasarAxe] Run Boot Interceptor')
5
+
6
+ declare global {
7
+ interface XMLHttpRequest {
8
+ _url: string
9
+ }
10
+ }
11
+
12
+ export function setAjaxInterceptor(
13
+ onStart: (_: XMLHttpRequest) => void,
14
+ onEnd: (_: XMLHttpRequest) => void
15
+ ) {
16
+ var open = window.XMLHttpRequest.prototype.open
17
+ var send = window.XMLHttpRequest.prototype.send
18
+
19
+ window.XMLHttpRequest.prototype.open = function (...args: any) {
20
+ this._url = args[1] ?? ''
21
+ open.apply(this, args)
22
+ }
23
+
24
+ window.XMLHttpRequest.prototype.send = function (...args: any) {
25
+ var request = this
26
+ onStart(request)
27
+
28
+ var intervalId = window.setInterval(function () {
29
+ if (request.readyState != 4) return
30
+ onEnd(request)
31
+ clearInterval(intervalId)
32
+ }, 10)
33
+
34
+ return send.apply(this, args)
35
+ }
36
+ }
37
+
38
+ export function setFetchInterceptor(
39
+ onStart: (..._: Parameters<typeof window.fetch>) => void,
40
+ onEnd: (..._: Parameters<typeof window.fetch>) => void
41
+ ) {
42
+ const oldFetch = window.fetch
43
+
44
+ window.fetch = async (...args) => {
45
+ onStart(...args)
46
+
47
+ const response = await oldFetch(...args)
48
+
49
+ onEnd(...args)
50
+
51
+ // /* work with the cloned response in a separate promise
52
+ // chain -- could use the same chain with `await`. */
53
+ // response
54
+ // .clone()
55
+ // .json()
56
+ // .then(body => console.log("intercepted response:", body))
57
+ // .catch(err => console.error(err))
58
+
59
+ /* the original response can be resolved unmodified: */
60
+ return response
61
+ }
62
+ }
63
+
64
+ function isLogRocket(request: XMLHttpRequest): boolean {
65
+ return request._url.startsWith('https://r.lr-ingest.io')
66
+ }
67
+
68
+ setAjaxInterceptor(
69
+ request => {
70
+ if (!isLogRocket(request)) {
71
+ LoadingBar.start()
72
+ }
73
+ },
74
+ request => {
75
+ if (!isLogRocket(request)) {
76
+ LoadingBar.stop()
77
+ }
78
+ }
79
+ )
80
+
81
+ setFetchInterceptor(
82
+ () => LoadingBar.start(),
83
+ () => LoadingBar.stop()
84
+ )
85
+
86
+ export default boot(({ app, router }) => {})
@@ -1,8 +1,8 @@
1
- import { boot } from 'quasar/wrappers'
2
- import { qNotify } from '../../utils'
3
-
4
- console.log('[QuasarAxe] Run Boot LoadEnd')
5
-
6
- export default boot(({ app }) => {
7
- qNotify.unload()
8
- })
1
+ import { boot } from 'quasar/wrappers'
2
+ import { qNotify } from '../../utils'
3
+
4
+ console.log('[QuasarAxe] Run Boot LoadEnd')
5
+
6
+ export default boot(({ app }) => {
7
+ qNotify.unload()
8
+ })
@@ -1,8 +1,8 @@
1
- import { boot } from 'quasar/wrappers'
2
- import { qNotify } from '../../utils'
3
-
4
- console.log('[QuasarAxe] Run Boot LoadStart')
5
-
6
- export default boot(({ app }) => {
7
- qNotify.load()
8
- })
1
+ import { boot } from 'quasar/wrappers'
2
+ import { qNotify } from '../../utils'
3
+
4
+ console.log('[QuasarAxe] Run Boot LoadStart')
5
+
6
+ export default boot(({ app }) => {
7
+ qNotify.load()
8
+ })
@@ -1,25 +1,25 @@
1
- <template>
2
- <q-btn v-bind="$attrs">
3
- <q-tooltip
4
- class="text-body1"
5
- v-if="tooltip"
6
- :delay="150"
7
- >{{ tooltip }}</q-tooltip
8
- >
9
- <q-badge
10
- v-if="badge !== undefined"
11
- floating
12
- rounded
13
- :color="badgeColor ?? 'red'"
14
- >{{ badge }}</q-badge
15
- >
16
- </q-btn>
17
- </template>
18
-
19
- <script lang="ts" setup>
20
- defineProps<{
21
- tooltip?: string
22
- badge?: string | number
23
- badgeColor?: string
24
- }>()
25
- </script>
1
+ <template>
2
+ <q-btn v-bind="$attrs">
3
+ <q-tooltip
4
+ class="text-body1"
5
+ v-if="tooltip"
6
+ :delay="150"
7
+ >{{ tooltip }}</q-tooltip
8
+ >
9
+ <q-badge
10
+ v-if="badge !== undefined"
11
+ floating
12
+ rounded
13
+ :color="badgeColor ?? 'red'"
14
+ >{{ badge }}</q-badge
15
+ >
16
+ </q-btn>
17
+ </template>
18
+
19
+ <script lang="ts" setup>
20
+ defineProps<{
21
+ tooltip?: string
22
+ badge?: string | number
23
+ badgeColor?: string
24
+ }>()
25
+ </script>
@@ -1,11 +1,11 @@
1
- <template>
2
- <qx-btn
3
- v-bind="$attrs"
4
- flat
5
- dense
6
- />
7
- </template>
8
-
9
- <script lang="ts" setup>
10
- // this component follow qx-btn, with default flat and dense
11
- </script>
1
+ <template>
2
+ <qx-btn
3
+ v-bind="$attrs"
4
+ flat
5
+ dense
6
+ />
7
+ </template>
8
+
9
+ <script lang="ts" setup>
10
+ // this component follow qx-btn, with default flat and dense
11
+ </script>