@vuetify/one 2.13.1 → 3.0.0

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/dist/one.css CHANGED
@@ -1 +1 @@
1
- .v-footer__image[data-v-31335c0a]{display:flex;height:40px;flex:1 1 auto;left:0;overflow:hidden;position:absolute;top:0;width:100%;z-index:-1}.social-link[data-v-7a9688b8] .v-icon{color:rgba(var(--v-theme-on-background),var(--v-disabled-opacity));text-decoration:none;transition:.2s ease-in-out}.social-link[data-v-7a9688b8] .v-icon:hover{color:rgb(var(--v-theme-primary))}.v-app-bar[data-v-65dfb9be] .v-toolbar__image:after{content:"";position:absolute;inset:0;-webkit-backdrop-filter:blur(calc(var(--1092baee) * 1px));backdrop-filter:blur(calc(var(--1092baee) * 1px));background:linear-gradient(15deg,#000000a6,#00000092,#0000007f,#0000006d,#0000005d,#0000004e,#00000041,#00000034,#00000029,#00000020,#00000017,#00000010,#0000000a,#00000006,#00000003,#00000001,#0000)}.v-list-item-subtitle[data-v-65dfb9be]{color:currentColor;opacity:var(--v-high-emphasis-opacity)}
1
+ .v-footer__image[data-v-31335c0a]{display:flex;height:40px;flex:1 1 auto;left:0;overflow:hidden;position:absolute;top:0;width:100%;z-index:-1}.social-link[data-v-7a9688b8] .v-icon{color:rgba(var(--v-theme-on-background),var(--v-disabled-opacity));text-decoration:none;transition:.2s ease-in-out}.social-link[data-v-7a9688b8] .v-icon:hover{color:rgb(var(--v-theme-primary))}.v-app-bar[data-v-c46858ac] .v-toolbar__image:after{content:"";position:absolute;inset:0;-webkit-backdrop-filter:blur(calc(var(--v6f0c04ea) * 1px));backdrop-filter:blur(calc(var(--v6f0c04ea) * 1px));background:linear-gradient(15deg,#000000a6,#00000092,#0000007f,#0000006d,#0000005d,#0000004e,#00000041,#00000034,#00000029,#00000020,#00000017,#00000010,#0000000a,#00000006,#00000003,#00000001,#0000)}.v-list-item-subtitle[data-v-c46858ac]{color:currentColor;opacity:var(--v-high-emphasis-opacity)}
@@ -1,71 +1,314 @@
1
1
  import * as pinia from 'pinia';
2
- import { Ref, ShallowRef } from 'vue';
2
+ import { AuthVerifyResponse } from '@vuetify/auth';
3
+ export { AuthProvider, VOneIdentity, VOneRole, VOneSponsorship, VOneTeamMember, VOneUser } from '@vuetify/auth';
3
4
 
4
- type VOneTeam = {
5
- id: string;
6
- name: string;
7
- inviteCode: string;
8
- members: {
5
+ /**
6
+ * Extended auth store for @vuetify/one
7
+ * Wraps @vuetify/auth and adds Vuetify One specific integrations
8
+ */
9
+ declare const useAuthStore: pinia.StoreDefinition<"auth", Pick<{
10
+ user: Readonly<globalThis.Ref<{
9
11
  id: string;
12
+ isAdmin: boolean;
13
+ role: VOneRole;
10
14
  name: string;
15
+ shortid: string;
11
16
  picture: string;
12
- }[];
13
- owner: {
17
+ settings: Record<string, any> | null;
18
+ createdAt: string;
19
+ identities: {
20
+ id: string;
21
+ emails: string[];
22
+ provider: string;
23
+ userId: string;
24
+ userHandle: string;
25
+ primary: boolean;
26
+ }[];
27
+ sponsorships: {
28
+ id: string;
29
+ platform: string;
30
+ interval: "month" | "year" | "once";
31
+ target: string;
32
+ tierName: string;
33
+ amount: number;
34
+ isActive: boolean;
35
+ createdAt: Date;
36
+ }[];
37
+ team: {
38
+ id: string;
39
+ name: string;
40
+ inviteCode?: string | undefined;
41
+ members?: {
42
+ id: string;
43
+ name: string;
44
+ picture: string;
45
+ }[] | undefined;
46
+ owner?: {
47
+ id: string;
48
+ name: string;
49
+ picture: string;
50
+ } | undefined;
51
+ createdAt?: string | undefined;
52
+ };
53
+ } | null, {
14
54
  id: string;
55
+ isAdmin: boolean;
56
+ role: VOneRole;
15
57
  name: string;
58
+ shortid: string;
16
59
  picture: string;
17
- };
18
- };
19
-
20
- interface VOneSponsorship {
21
- id: string;
22
- platform: string;
23
- interval: 'month' | 'year' | 'once';
24
- target: string;
25
- tierName: string;
26
- amount: number;
27
- isActive: boolean;
28
- createdAt: Date;
29
- }
30
- interface VOneIdentity {
31
- id: string;
32
- emails: string[];
33
- provider: string;
34
- userId: string;
35
- userHandle: string;
36
- primary: boolean;
37
- }
38
- type VOneRole = 'super' | 'admin' | 'editor' | 'user';
39
- interface VOneUser {
40
- id: string;
41
- isAdmin: boolean;
42
- role: VOneRole;
43
- name: string;
44
- shortid: string;
45
- picture: string;
46
- settings: Record<string, any> | null;
47
- createdAt: string;
48
- identities: VOneIdentity[];
49
- sponsorships: VOneSponsorship[];
50
- team: VOneTeam;
51
- }
52
- interface AuthState {
53
- user: Ref<VOneUser | null>;
60
+ settings: Record<string, any> | null;
61
+ createdAt: string;
62
+ identities: {
63
+ id: string;
64
+ emails: string[];
65
+ provider: string;
66
+ userId: string;
67
+ userHandle: string;
68
+ primary: boolean;
69
+ }[];
70
+ sponsorships: {
71
+ id: string;
72
+ platform: string;
73
+ interval: "month" | "year" | "once";
74
+ target: string;
75
+ tierName: string;
76
+ amount: number;
77
+ isActive: boolean;
78
+ createdAt: Date;
79
+ }[];
80
+ team: {
81
+ id: string;
82
+ name: string;
83
+ inviteCode?: string | undefined;
84
+ members?: {
85
+ id: string;
86
+ name: string;
87
+ picture: string;
88
+ }[] | undefined;
89
+ owner?: {
90
+ id: string;
91
+ name: string;
92
+ picture: string;
93
+ } | undefined;
94
+ createdAt?: string | undefined;
95
+ };
96
+ } | null>>;
97
+ url: string;
98
+ dialog: Readonly<globalThis.Ref<boolean, boolean>>;
99
+ isLoading: Readonly<globalThis.Ref<boolean, boolean>>;
100
+ isAuthenticated: Readonly<globalThis.Ref<boolean, boolean>>;
101
+ isSuper: Readonly<globalThis.Ref<boolean, boolean>>;
102
+ isAdmin: Readonly<globalThis.Ref<boolean, boolean>>;
103
+ isEditor: Readonly<globalThis.Ref<boolean, boolean>>;
104
+ verify: (force?: boolean) => Promise<AuthVerifyResponse | null>;
105
+ findIdentity: (provider: string) => globalThis.VOneIdentity | undefined;
106
+ login: (provider?: "github" | "discord" | "shopify" | "google" | "opencollective") => Promise<void>;
107
+ logout: (identity?: string) => Promise<void>;
108
+ lastLoginProvider: () => string | null;
109
+ sync: () => Promise<void>;
110
+ }, "isLoading" | "user" | "dialog" | "isAdmin" | "isAuthenticated" | "isSuper" | "isEditor" | "url">, Pick<{
111
+ user: Readonly<globalThis.Ref<{
112
+ id: string;
113
+ isAdmin: boolean;
114
+ role: VOneRole;
115
+ name: string;
116
+ shortid: string;
117
+ picture: string;
118
+ settings: Record<string, any> | null;
119
+ createdAt: string;
120
+ identities: {
121
+ id: string;
122
+ emails: string[];
123
+ provider: string;
124
+ userId: string;
125
+ userHandle: string;
126
+ primary: boolean;
127
+ }[];
128
+ sponsorships: {
129
+ id: string;
130
+ platform: string;
131
+ interval: "month" | "year" | "once";
132
+ target: string;
133
+ tierName: string;
134
+ amount: number;
135
+ isActive: boolean;
136
+ createdAt: Date;
137
+ }[];
138
+ team: {
139
+ id: string;
140
+ name: string;
141
+ inviteCode?: string | undefined;
142
+ members?: {
143
+ id: string;
144
+ name: string;
145
+ picture: string;
146
+ }[] | undefined;
147
+ owner?: {
148
+ id: string;
149
+ name: string;
150
+ picture: string;
151
+ } | undefined;
152
+ createdAt?: string | undefined;
153
+ };
154
+ } | null, {
155
+ id: string;
156
+ isAdmin: boolean;
157
+ role: VOneRole;
158
+ name: string;
159
+ shortid: string;
160
+ picture: string;
161
+ settings: Record<string, any> | null;
162
+ createdAt: string;
163
+ identities: {
164
+ id: string;
165
+ emails: string[];
166
+ provider: string;
167
+ userId: string;
168
+ userHandle: string;
169
+ primary: boolean;
170
+ }[];
171
+ sponsorships: {
172
+ id: string;
173
+ platform: string;
174
+ interval: "month" | "year" | "once";
175
+ target: string;
176
+ tierName: string;
177
+ amount: number;
178
+ isActive: boolean;
179
+ createdAt: Date;
180
+ }[];
181
+ team: {
182
+ id: string;
183
+ name: string;
184
+ inviteCode?: string | undefined;
185
+ members?: {
186
+ id: string;
187
+ name: string;
188
+ picture: string;
189
+ }[] | undefined;
190
+ owner?: {
191
+ id: string;
192
+ name: string;
193
+ picture: string;
194
+ } | undefined;
195
+ createdAt?: string | undefined;
196
+ };
197
+ } | null>>;
198
+ url: string;
199
+ dialog: Readonly<globalThis.Ref<boolean, boolean>>;
200
+ isLoading: Readonly<globalThis.Ref<boolean, boolean>>;
201
+ isAuthenticated: Readonly<globalThis.Ref<boolean, boolean>>;
202
+ isSuper: Readonly<globalThis.Ref<boolean, boolean>>;
203
+ isAdmin: Readonly<globalThis.Ref<boolean, boolean>>;
204
+ isEditor: Readonly<globalThis.Ref<boolean, boolean>>;
205
+ verify: (force?: boolean) => Promise<AuthVerifyResponse | null>;
206
+ findIdentity: (provider: string) => globalThis.VOneIdentity | undefined;
207
+ login: (provider?: "github" | "discord" | "shopify" | "google" | "opencollective") => Promise<void>;
208
+ logout: (identity?: string) => Promise<void>;
209
+ lastLoginProvider: () => string | null;
210
+ sync: () => Promise<void>;
211
+ }, never>, Pick<{
212
+ user: Readonly<globalThis.Ref<{
213
+ id: string;
214
+ isAdmin: boolean;
215
+ role: VOneRole;
216
+ name: string;
217
+ shortid: string;
218
+ picture: string;
219
+ settings: Record<string, any> | null;
220
+ createdAt: string;
221
+ identities: {
222
+ id: string;
223
+ emails: string[];
224
+ provider: string;
225
+ userId: string;
226
+ userHandle: string;
227
+ primary: boolean;
228
+ }[];
229
+ sponsorships: {
230
+ id: string;
231
+ platform: string;
232
+ interval: "month" | "year" | "once";
233
+ target: string;
234
+ tierName: string;
235
+ amount: number;
236
+ isActive: boolean;
237
+ createdAt: Date;
238
+ }[];
239
+ team: {
240
+ id: string;
241
+ name: string;
242
+ inviteCode?: string | undefined;
243
+ members?: {
244
+ id: string;
245
+ name: string;
246
+ picture: string;
247
+ }[] | undefined;
248
+ owner?: {
249
+ id: string;
250
+ name: string;
251
+ picture: string;
252
+ } | undefined;
253
+ createdAt?: string | undefined;
254
+ };
255
+ } | null, {
256
+ id: string;
257
+ isAdmin: boolean;
258
+ role: VOneRole;
259
+ name: string;
260
+ shortid: string;
261
+ picture: string;
262
+ settings: Record<string, any> | null;
263
+ createdAt: string;
264
+ identities: {
265
+ id: string;
266
+ emails: string[];
267
+ provider: string;
268
+ userId: string;
269
+ userHandle: string;
270
+ primary: boolean;
271
+ }[];
272
+ sponsorships: {
273
+ id: string;
274
+ platform: string;
275
+ interval: "month" | "year" | "once";
276
+ target: string;
277
+ tierName: string;
278
+ amount: number;
279
+ isActive: boolean;
280
+ createdAt: Date;
281
+ }[];
282
+ team: {
283
+ id: string;
284
+ name: string;
285
+ inviteCode?: string | undefined;
286
+ members?: {
287
+ id: string;
288
+ name: string;
289
+ picture: string;
290
+ }[] | undefined;
291
+ owner?: {
292
+ id: string;
293
+ name: string;
294
+ picture: string;
295
+ } | undefined;
296
+ createdAt?: string | undefined;
297
+ };
298
+ } | null>>;
54
299
  url: string;
55
- dialog: Ref<boolean>;
56
- isLoading: ShallowRef<boolean>;
57
- isAuthenticated: Ref<boolean>;
58
- isSuper: Ref<boolean>;
59
- isAdmin: Ref<boolean>;
60
- isEditor: Ref<boolean>;
61
- verify: (force?: boolean) => Promise<void>;
62
- findIdentity: (provider: string) => VOneIdentity | undefined;
63
- login: (provider?: 'github' | 'discord' | 'shopify' | 'google' | 'opencollective') => Promise<void>;
300
+ dialog: Readonly<globalThis.Ref<boolean, boolean>>;
301
+ isLoading: Readonly<globalThis.Ref<boolean, boolean>>;
302
+ isAuthenticated: Readonly<globalThis.Ref<boolean, boolean>>;
303
+ isSuper: Readonly<globalThis.Ref<boolean, boolean>>;
304
+ isAdmin: Readonly<globalThis.Ref<boolean, boolean>>;
305
+ isEditor: Readonly<globalThis.Ref<boolean, boolean>>;
306
+ verify: (force?: boolean) => Promise<AuthVerifyResponse | null>;
307
+ findIdentity: (provider: string) => globalThis.VOneIdentity | undefined;
308
+ login: (provider?: "github" | "discord" | "shopify" | "google" | "opencollective") => Promise<void>;
64
309
  logout: (identity?: string) => Promise<void>;
65
310
  lastLoginProvider: () => string | null;
66
311
  sync: () => Promise<void>;
67
- }
68
- declare const useAuthStore: pinia.StoreDefinition<"auth", Pick<AuthState, "isLoading" | "user" | "url" | "dialog" | "isAuthenticated" | "isSuper" | "isAdmin" | "isEditor">, Pick<AuthState, never>, Pick<AuthState, "sync" | "verify" | "findIdentity" | "login" | "logout" | "lastLoginProvider">>;
312
+ }, "sync" | "verify" | "login" | "logout" | "findIdentity" | "lastLoginProvider">>;
69
313
 
70
314
  export { useAuthStore };
71
- export type { AuthState, VOneIdentity, VOneRole, VOneSponsorship, VOneUser };
@@ -1,8 +1,8 @@
1
+ import { a as e } from "../auth-Bgoyy62h.js";
1
2
  import "lodash-es";
2
- import { a as e } from "../auth-Zr1gGj1z.js";
3
3
  import "pinia";
4
- import "vue";
5
4
  import "vue-router";
5
+ import "vue";
6
6
  export {
7
7
  e as useAuthStore
8
8
  };
package/package.json CHANGED
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "name": "@vuetify/one",
3
- "version": "2.13.1",
3
+ "version": "3.0.0",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "repository": {
8
8
  "type": "git",
9
- "url": "https://github.com/vuetifyjs/one"
9
+ "url": "https://github.com/vuetifyjs/one",
10
+ "directory": "packages/one"
10
11
  },
11
12
  "files": [
12
13
  "dist"
@@ -19,51 +20,38 @@
19
20
  "types": "./dist/index.d.ts",
20
21
  "default": "./dist/index.js"
21
22
  },
22
- "./stores/auth": "./dist/stores/auth.js",
23
- "./styles": {
24
- "import": "./dist/one.css"
23
+ "./stores/auth": {
24
+ "types": "./dist/stores/auth.d.ts",
25
+ "default": "./dist/stores/auth.js"
25
26
  },
26
- "./subpath/*": "./dist/subpath/*.js"
27
- },
28
- "scripts": {
29
- "dev": "vite",
30
- "build": "vite build --config vite.build.config.ts && pnpm build:types",
31
- "build:dev": "vite build --mode development --config vite.config.ts ",
32
- "build:types": "rimraf types-temp && vue-tsc --pretty -p tsconfig.json && rollup --config rollup.types.config.js && rimraf types-temp",
33
- "release": "pnpm build:dev && bumpp -r",
34
- "watch": "pnpm build:dev --watch",
35
- "preview": "vite preview",
36
- "lint": "eslint . --ext .ts,.vue && vue-tsc --pretty -p tsconfig.json --noEmit",
37
- "lint:fix": "eslint . --ext .ts,.vue --fix",
38
- "test": "vitest",
39
- "coverage": "vitest run --coverage",
40
- "prepublishOnly": "pnpm build"
27
+ "./styles": "./dist/one.css"
41
28
  },
42
29
  "peerDependencies": {
43
30
  "@mdi/js": "7.4.47",
44
31
  "lodash-es": "^4.17.21",
32
+ "pinia": "^3.0.0",
45
33
  "vue": "^3.5.13",
34
+ "vue-router": "^4.0.0",
46
35
  "vuetify": "^3.8.0"
47
36
  },
37
+ "dependencies": {
38
+ "@vuetify/auth": "0.1.6"
39
+ },
48
40
  "devDependencies": {
49
41
  "@babel/types": "^7.28.4",
50
42
  "@fontsource/roboto": "^5.2.6",
51
43
  "@mdi/js": "7.4.47",
52
44
  "@rollup/plugin-alias": "^5.1.1",
53
45
  "@types/lodash-es": "^4.17.12",
54
- "@types/node": "^24.3.1",
46
+ "@types/node": "^22.15.21",
55
47
  "@vitejs/plugin-vue": "^6.0.1",
56
- "@vitest/eslint-plugin": "^1.3.9",
57
48
  "@vueuse/router": "^13.9.0",
58
- "bumpp": "^10.1.0",
49
+ "bumpp": "^10.3.2",
59
50
  "conventional-changelog-cli": "^5.0.0",
60
51
  "conventional-changelog-vuetify": "^2.0.2",
61
52
  "conventional-github-releaser": "^3.1.5",
62
53
  "core-js": "^3.45.1",
63
54
  "date-fns": "^4.1.0",
64
- "eslint": "^9.35.0",
65
- "eslint-config-flat-gitignore": "^2.1.0",
66
- "eslint-config-vuetify": "^4.1.0",
67
55
  "jsdom": "^26.1.0",
68
56
  "lodash-es": "^4.17.21",
69
57
  "pinia": "^3.0.3",
@@ -72,23 +60,34 @@
72
60
  "rollup-plugin-dts": "^6.2.3",
73
61
  "sass": "^1.92.1",
74
62
  "taze": "^19.6.0",
75
- "typescript": "5.8.3",
63
+ "typescript": "^5.8.3",
76
64
  "unplugin-auto-import": "^20.1.0",
77
65
  "unplugin-fonts": "^1.4.0",
78
66
  "unplugin-vue-components": "^29.0.0",
79
67
  "unplugin-vue-router": "^0.15.0",
80
68
  "vite": "^7.0.7",
69
+ "vite-plugin-pages": "^0.33.1",
70
+ "vite-plugin-vue-layouts-next": "^1.0.0",
81
71
  "vite-plugin-vuetify": "^2.1.2",
82
72
  "vite-tsconfig-paths": "^5.1.4",
83
73
  "vitest": "^3.2.4",
84
- "vue": "^3.5.21",
74
+ "vue": "^3.5.13",
85
75
  "vue-router": "^4.5.1",
86
76
  "vue-tsc": "^3.0.6",
87
- "vuetify": "^3.10.0"
77
+ "vuetify": "^3.8.0"
88
78
  },
89
- "packageManager": "pnpm@10.26.1",
90
- "dependencies": {
91
- "vite-plugin-pages": "^0.33.1",
92
- "vite-plugin-vue-layouts-next": "^1.0.0"
79
+ "scripts": {
80
+ "dev": "vite",
81
+ "build": "vite build --config vite.build.config.ts && pnpm build:types",
82
+ "build:dev": "vite build --mode development --config vite.config.ts",
83
+ "build:types": "rimraf types-temp && vue-tsc --pretty -p tsconfig.json && rollup --config rollup.types.config.js && rimraf types-temp",
84
+ "typecheck": "vue-tsc --noEmit -p tsconfig.json",
85
+ "release": "pnpm build && bumpp",
86
+ "watch": "pnpm build:dev --watch",
87
+ "preview": "vite preview",
88
+ "lint": "eslint . --ext .ts,.vue",
89
+ "lint:fix": "eslint . --ext .ts,.vue --fix",
90
+ "test": "vitest run",
91
+ "coverage": "vitest run --coverage"
93
92
  }
94
- }
93
+ }
package/README.md DELETED
@@ -1,79 +0,0 @@
1
- <div align="center">
2
- <picture>
3
- <source media="(prefers-color-scheme: dark)" srcset="https://vuetifyjs.b-cdn.net/docs/images/logos/vone-logo-dark.png">
4
- <img alt="Vuetify One Logo" src="https://vuetifyjs.b-cdn.net/docs/images/logos/vone-logo-light.png" height="150">
5
- </picture>
6
- </div>
7
-
8
- [![npm version](https://img.shields.io/npm/v/@vuetify/one.svg)](https://www.npmjs.com/package/@vuetify/one)
9
- [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
10
-
11
- ## Overview
12
-
13
- A collection of reusable components designed to seamlessly integrate Vuetify One services throughout the Vuetify ecosystem
14
-
15
- ## Project Setup
16
-
17
- ```bash
18
- git clone https://github.com/vuetifyjs/one.git
19
-
20
- cd one
21
-
22
- pnpm install
23
- ```
24
-
25
- ## Development
26
-
27
- ```bash
28
- pnpm dev
29
- ```
30
-
31
- ## Building for Production
32
-
33
- ```bash
34
- pnpm build
35
- ```
36
-
37
- ## Linting
38
-
39
-
40
- ```bash
41
- pnpm lint
42
- ```
43
-
44
- ## Usage
45
-
46
- ```js
47
- import { VoAppBar, VoAuthBtn, VoSocialFooter } from '@vuetify/one'
48
-
49
- export default {
50
- components: {
51
- VoAppBar,
52
- VoAuthBtn,
53
- VoSocialFooter
54
- }
55
- }
56
- ```
57
- ## Store Integration
58
-
59
- ```js
60
- import { useAuthStore, useOneStore, useProductsStore } from '@vuetify/one'
61
-
62
- const authStore = useAuthStore()
63
- const oneStore = useOneStore()
64
- ```
65
-
66
- ## License
67
-
68
- [MIT](http://opensource.org/licenses/MIT)
69
-
70
- Copyright (c) 2016-present Vuetify LLC
71
-
72
- ----
73
-
74
- This project exists and thrives thanks to all the wonderful people who contribute 😍
75
-
76
- <br><br>
77
- <a href="https://github.com/vuetifyjs/one/graphs/contributors">
78
- <img src="https://contrib.rocks/image?repo=vuetifyjs/one" />
79
- </a>