@dargmuesli/nuxt-vio 15.1.0 → 16.0.0-beta.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -7,52 +7,19 @@
7
7
  /* doiuse-disable css-cascade-layers */
8
8
  @layer base {
9
9
  /* doiuse-enable css-cascade-layers */
10
- a:focus {
11
- /* doiuse-disable css-nesting */
12
- @apply outline-none ring; /* doiuse-enable css-nesting */
13
- }
14
-
15
- button:focus {
16
- /* doiuse-disable css-nesting */
17
- @apply outline-none ring; /* doiuse-enable css-nesting */
18
- }
19
-
20
- thead {
21
- /* doiuse-disable css-nesting */
22
- @apply vio-bg-darken sticky top-0 z-10; /* doiuse-enable css-nesting */
23
- }
24
-
25
- tbody {
26
- /* doiuse-disable css-nesting */
27
- @apply vio-divide-darken divide-y; /* doiuse-enable css-nesting */
28
- }
29
- }
30
-
31
- /* doiuse-disable css-cascade-layers */
32
- @layer utilities {
33
- /* doiuse-enable css-cascade-layers */
34
- .vio-prose {
35
- /* doiuse-disable css-nesting */
36
- @apply prose prose-sm dark:prose-invert sm:prose-base lg:prose-lg xl:prose-xl; /* 2xl:prose-2xl */ /* doiuse-enable css-nesting */
37
- }
38
-
39
- .vio-prose-fullwidth {
40
- /* doiuse-disable css-nesting */
41
- @apply vio-prose max-w-full sm:max-w-full md:max-w-full xl:max-w-full 2xl:max-w-full; /* doiuse-enable css-nesting */
42
- }
43
-
44
- .vio-divide-darken {
45
- /* doiuse-disable css-nesting */
46
- @apply divide-background-brighten dark:divide-background-darken; /* doiuse-enable css-nesting */
47
- }
48
-
49
- .vio-bg-darken {
50
- /* doiuse-disable css-nesting */
51
- @apply bg-background-brighten dark:bg-background-darken; /* doiuse-enable css-nesting */
52
- }
53
10
 
54
- .vio-border-darken {
55
- /* doiuse-disable css-nesting */
56
- @apply border-background-brighten dark:border-background-darken; /* doiuse-enable css-nesting */
11
+ :root {
12
+ /* stylelint-disable plugin/no-unsupported-browser-features */
13
+ --color-background-bright: 255 255 255;
14
+ --color-background-brighten: 229 231 235;
15
+ --color-background-dark: 31 41 55;
16
+ --color-background-darken: 55 65 81;
17
+ --color-link-bright: 96 165 250;
18
+ --color-link-dark: 37 99 235;
19
+ --color-text-bright: 249 250 251;
20
+ --color-text-dark: 17 24 39;
21
+ --color-vio-primary-bg: 243 244 246;
22
+ --color-vio-primary-text: 17 24 39;
23
+ /* stylelint-enable plugin/no-unsupported-browser-features */
57
24
  }
58
25
  }
@@ -0,0 +1,21 @@
1
+ <template>
2
+ <div
3
+ :class="[
4
+ 'prose prose-sm dark:prose-invert sm:prose-base lg:prose-lg xl:prose-xl',
5
+ ...(isFullWidth
6
+ ? [
7
+ 'max-w-full sm:max-w-full md:max-w-full xl:max-w-full 2xl:max-w-full',
8
+ ]
9
+ : []),
10
+ ]"
11
+ >
12
+ <slot />
13
+ </div>
14
+ </template>
15
+
16
+ <script setup lang="ts">
17
+ interface Props {
18
+ isFullWidth?: boolean
19
+ }
20
+ withDefaults(defineProps<Props>(), {})
21
+ </script>
@@ -0,0 +1,7 @@
1
+ <template>
2
+ <tbody
3
+ class="divide-y divide-background-brighten dark:divide-background-darken"
4
+ >
5
+ <slot />
6
+ </tbody>
7
+ </template>
@@ -0,0 +1,7 @@
1
+ <template>
2
+ <thead
3
+ class="sticky top-0 z-10 bg-background-brighten dark:bg-background-darken"
4
+ >
5
+ <slot />
6
+ </thead>
7
+ </template>
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div class="vio-prose m-auto">
2
+ <VioLayoutProse class="m-auto">
3
3
  <h1>{{ title }}</h1>
4
4
  <h2>{{ t('tmg') }}</h2>
5
5
  <address>
@@ -64,7 +64,7 @@
64
64
  <p>
65
65
  <VioLink to="https://www.e-recht24.de">{{ t('source') }}</VioLink>
66
66
  </p>
67
- </div>
67
+ </VioLayoutProse>
68
68
  </template>
69
69
 
70
70
  <script setup lang="ts">
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div class="vio-prose m-auto">
2
+ <VioLayoutProse class="m-auto">
3
3
  <h1>{{ title }}</h1>
4
4
  <ol v-if="isEnabled">
5
5
  <li v-if="isEnabled.summary">
@@ -429,7 +429,7 @@
429
429
  {{ t('source') }}
430
430
  </VioLink>
431
431
  </p>
432
- </div>
432
+ </VioLayoutProse>
433
433
  </template>
434
434
 
435
435
  <script setup lang="ts">
package/package.json CHANGED
@@ -1,21 +1,21 @@
1
1
  {
2
2
  "dependencies": {
3
- "@dargmuesli/nuxt-cookie-control": "8.4.19",
4
- "@eslint/compat": "1.2.4",
3
+ "@dargmuesli/nuxt-cookie-control": "8.4.20",
4
+ "@eslint/compat": "1.2.5",
5
5
  "@heroicons/vue": "2.2.0",
6
6
  "@http-util/status-i18n": "0.8.1",
7
7
  "@intlify/eslint-plugin-vue-i18n": "4.0.0-next.1",
8
8
  "@nuxt/devtools": "1.7.0",
9
- "@nuxt/eslint": "0.7.4",
10
- "@nuxt/image": "1.8.1",
9
+ "@nuxt/eslint": "0.7.5",
10
+ "@nuxt/image": "1.9.0",
11
11
  "@nuxtjs/color-mode": "3.5.2",
12
12
  "@nuxtjs/html-validator": "1.8.2",
13
13
  "@nuxtjs/i18n": "9.1.1",
14
14
  "@nuxtjs/seo": "2.0.2",
15
- "@nuxtjs/tailwindcss": "6.12.2",
15
+ "@nuxtjs/tailwindcss": "6.13.0",
16
16
  "@pinia/nuxt": "0.9.0",
17
- "@tailwindcss/forms": "0.5.9",
18
- "@tailwindcss/typography": "0.5.15",
17
+ "@tailwindcss/forms": "0.5.10",
18
+ "@tailwindcss/typography": "0.5.16",
19
19
  "@types/lodash-es": "4.17.12",
20
20
  "@urql/core": "5.1.0",
21
21
  "@urql/vue": "1.4.2",
@@ -23,8 +23,8 @@
23
23
  "@vuelidate/validators": "2.0.4",
24
24
  "clipboardy": "4.0.0",
25
25
  "dayjs": "2.0.0-alpha.4",
26
- "eslint": "9.17.0",
27
- "eslint-config-prettier": "9.1.0",
26
+ "eslint": "9.18.0",
27
+ "eslint-config-prettier": "10.0.1",
28
28
  "eslint-plugin-compat": "6.0.2",
29
29
  "eslint-plugin-prettier": "5.2.1",
30
30
  "eslint-plugin-yml": "1.16.0",
@@ -33,30 +33,30 @@
33
33
  "jose": "5.9.6",
34
34
  "nuxt-gtag": "3.0.2",
35
35
  "nuxt-security": "2.1.5",
36
- "sweetalert2": "11.15.3",
36
+ "sweetalert2": "11.15.10",
37
37
  "vue-tsc": "2.2.0"
38
38
  },
39
39
  "devDependencies": {
40
- "@unhead/vue": "1.11.14",
40
+ "@unhead/vue": "1.11.16",
41
41
  "@urql/devtools": "2.0.3",
42
42
  "@urql/exchange-graphcache": "7.2.1",
43
- "consola": "3.3.3",
43
+ "consola": "3.4.0",
44
44
  "cookie-es": "1.2.2",
45
45
  "defu": "6.1.4",
46
- "h3": "1.13.0",
46
+ "h3": "1.13.1",
47
47
  "lodash-es": "4.17.21",
48
- "nuxt": "3.15.0",
48
+ "nuxt": "3.15.1",
49
49
  "pinia": "2.3.0",
50
50
  "prettier": "3.4.2",
51
51
  "prettier-plugin-tailwindcss": "0.6.9",
52
52
  "serve": "14.2.4",
53
53
  "sharp": "0.33.5",
54
- "stylelint": "16.12.0",
54
+ "stylelint": "16.13.1",
55
55
  "stylelint-config-recommended-vue": "1.5.0",
56
- "stylelint-config-standard": "36.0.1",
56
+ "stylelint-config-standard": "37.0.0",
57
57
  "stylelint-no-unsupported-browser-features": "8.0.2",
58
58
  "tailwindcss": "3.4.17",
59
- "unhead": "1.11.14",
59
+ "unhead": "1.11.16",
60
60
  "vue": "3.5.13",
61
61
  "vue-router": "4.5.0"
62
62
  },
@@ -86,7 +86,7 @@
86
86
  "main": "nuxt.config.ts",
87
87
  "name": "@dargmuesli/nuxt-vio",
88
88
  "peerDependencies": {
89
- "nuxt": "3.15.0",
89
+ "nuxt": "3.15.1",
90
90
  "vue": "3.5.13",
91
91
  "vue-router": "4.5.0"
92
92
  },
@@ -101,7 +101,6 @@
101
101
  "build": "pnpm run build:node",
102
102
  "build:node": "nuxt build .playground",
103
103
  "build:static": "nuxt generate .playground",
104
- "build:static:test": "SITE_URL=https://localhost:3002 pnpm run build:static",
105
104
  "dev": "pnpm run start:dev",
106
105
  "generate": "pnpm run build:static",
107
106
  "lint:fix": "pnpm run lint:js --fix && pnpm run lint:ts --fix && pnpm run lint:style --fix",
@@ -117,5 +116,5 @@
117
116
  "start:static": "serve .playground/.output/public --ssl-cert ./.config/certificates/ssl.crt --ssl-key ./.config/certificates/ssl.key"
118
117
  },
119
118
  "type": "module",
120
- "version": "15.1.0"
119
+ "version": "16.0.0-beta.1"
121
120
  }
@@ -1,7 +1,6 @@
1
1
  import type { ModuleOptions } from '@nuxtjs/tailwindcss'
2
2
  import formsPlugin from '@tailwindcss/forms'
3
3
  import typographyPlugin from '@tailwindcss/typography'
4
- import colors from 'tailwindcss/colors'
5
4
  import type { PluginAPI } from 'tailwindcss/types/config'
6
5
 
7
6
  const heading = (theme: PluginAPI['theme']): Record<string, string> => ({
@@ -11,8 +10,6 @@ const heading = (theme: PluginAPI['theme']): Record<string, string> => ({
11
10
  // set overflow truncate/ellipsis in the surrounding container, or larger fonts will be cut off due to their line-heights
12
11
  })
13
12
 
14
- const gray = colors.gray // or slate, zinc, neutral, stone
15
-
16
13
  const prose = (theme: PluginAPI['theme']) => ({
17
14
  css: {
18
15
  a: {
@@ -61,9 +58,23 @@ export default {
61
58
  marginLeft: '5px',
62
59
  width: theme('fontSize.xs'),
63
60
  },
61
+ 'a:focus': {
62
+ // @apply outline-none ring
63
+ outline: '2px solid transparent',
64
+ outlineOffset: '2px',
65
+ boxShadow:
66
+ 'var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)',
67
+ },
64
68
  address: {
65
69
  margin: theme('margin.4'),
66
70
  },
71
+ 'button:focus': {
72
+ // @apply outline-none ring
73
+ outline: '2px solid transparent',
74
+ outlineOffset: '2px',
75
+ boxShadow:
76
+ 'var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)',
77
+ },
67
78
  h1: {
68
79
  ...heading(theme),
69
80
  fontSize: theme('fontSize.4xl'),
@@ -178,23 +189,23 @@ export default {
178
189
  },
179
190
  colors: {
180
191
  background: {
181
- bright: colors.white,
182
- brighten: gray['200'],
183
- dark: gray['800'],
184
- darken: gray['700'],
192
+ bright: 'rgb(var(--color-background-bright))',
193
+ brighten: 'rgb(var(--color-background-brighten))',
194
+ dark: 'rgb(var(--color-background-dark))',
195
+ darken: 'rgb(var(--color-background-darken))',
185
196
  },
186
197
  link: {
187
- bright: colors.blue['400'],
188
- dark: colors.blue['600'],
198
+ bright: 'rgb(var(--color-link-bright))',
199
+ dark: 'rgb(var(--color-link-dark))',
189
200
  },
190
201
  text: {
191
- bright: gray['50'],
192
- dark: gray['900'],
202
+ bright: 'rgb(var(--color-text-bright))',
203
+ dark: 'rgb(var(--color-text-dark))',
193
204
  },
194
205
  vio: {
195
206
  primary: {
196
- bg: gray['100'],
197
- text: gray['900'],
207
+ bg: 'rgb(var(--color-vio-primary-bg))',
208
+ text: 'rgb(var(--color-vio-primary-text))',
198
209
  },
199
210
  },
200
211
  },