nuxt-ignis 0.3.1 → 0.3.3

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 (88) hide show
  1. package/.data/content/contents.sqlite +0 -0
  2. package/.env +3 -3
  3. package/.nuxt/app.config.mjs +227 -1
  4. package/.nuxt/components.d.ts +372 -140
  5. package/.nuxt/content/components.ts +93 -36
  6. package/.nuxt/dev/index.mjs +7609 -0
  7. package/.nuxt/dev/index.mjs.map +1 -0
  8. package/.nuxt/dist/server/client.manifest.json +2 -2
  9. package/.nuxt/dist/server/client.manifest.mjs +2 -2
  10. package/.nuxt/eslint.config.d.mts +2 -2
  11. package/.nuxt/eslint.config.mjs +2 -2
  12. package/.nuxt/imports.d.ts +59 -42
  13. package/.nuxt/manifest/latest.json +1 -1
  14. package/.nuxt/manifest/meta/dev.json +1 -1
  15. package/.nuxt/module/@nuxtjs-sitemap.d.ts +8 -8
  16. package/.nuxt/module/nuxt-robots.d.ts +3 -3
  17. package/.nuxt/module/nuxt-seo-utils.d.ts +6 -6
  18. package/.nuxt/module/nuxt-site-config.d.ts +8 -8
  19. package/.nuxt/nitro.json +4 -4
  20. package/.nuxt/nuxt.d.ts +11 -9
  21. package/.nuxt/nuxt.json +2 -2
  22. package/.nuxt/schema/nuxt.schema.d.ts +193 -0
  23. package/.nuxt/schema/nuxt.schema.json +261 -1
  24. package/.nuxt/tsconfig.json +133 -110
  25. package/.nuxt/tsconfig.server.json +82 -64
  26. package/.nuxt/types/app.config.d.ts +227 -1
  27. package/.nuxt/types/build.d.ts +2 -1
  28. package/.nuxt/types/i18n-plugin.d.ts +2 -2
  29. package/.nuxt/types/imports.d.ts +320 -264
  30. package/.nuxt/types/neon.d.ts +136 -34
  31. package/.nuxt/types/nitro-imports.d.ts +40 -40
  32. package/.nuxt/types/nitro-routes.d.ts +21 -18
  33. package/.nuxt/types/plugins.d.ts +38 -33
  34. package/.nuxt/types/schema.d.ts +110 -36
  35. package/.nuxt/types/ui.d.ts +1 -1
  36. package/.nuxt/ui/checkbox-group.ts +1 -1
  37. package/.nuxt/ui/context-menu.ts +2 -1
  38. package/.nuxt/ui/dropdown-menu.ts +2 -1
  39. package/.nuxt/ui/input-menu.ts +2 -2
  40. package/.nuxt/ui/navigation-menu.ts +43 -34
  41. package/.nuxt/ui/radio-group.ts +1 -1
  42. package/.nuxt/ui/select-menu.ts +2 -2
  43. package/.nuxt/ui/select.ts +2 -2
  44. package/.nuxt/ui/tooltip.ts +1 -1
  45. package/.nuxt/ui.css +4 -1
  46. package/app.vue +2 -2
  47. package/components/AppFeatureList.vue +5 -0
  48. package/composables/useValibot.ts +16 -0
  49. package/composables/useZod.ts +16 -0
  50. package/content.config.ts +6 -10
  51. package/features.ts +59 -6
  52. package/i18n/locales/en.json +2 -0
  53. package/nuxt.config.ts +15 -5
  54. package/package.json +20 -16
  55. package/plugins/errorHandler.ts +26 -0
  56. package/server/api/neonTest.ts +7 -5
  57. package/test/config/default.txt +16 -0
  58. package/test/config/equipment-1-composable.txt +22 -0
  59. package/test/config/equipment-2-plugins.txt +23 -0
  60. package/test/config/equipment-all.txt +28 -0
  61. package/test/config.test.ts +47 -0
  62. package/test/features/db-neon.txt +3 -0
  63. package/test/features/db-off.txt +3 -0
  64. package/test/features/db-supabase.txt +3 -0
  65. package/test/features/default.txt +3 -0
  66. package/test/features/disable-core.txt +3 -0
  67. package/test/features/enable-all.txt +4 -0
  68. package/test/features/equipment.txt +3 -0
  69. package/test/features/forms-formkit.txt +3 -0
  70. package/test/features/forms-off.txt +3 -0
  71. package/test/features/forms-vueform.txt +3 -0
  72. package/test/features/ui-nuxt-ui.txt +3 -0
  73. package/test/features/ui-off.txt +3 -0
  74. package/test/features/ui-tailwind.txt +4 -0
  75. package/test/features/validation-off.txt +3 -0
  76. package/test/features/validation-valibot.txt +4 -0
  77. package/test/features/validation-zod.txt +4 -0
  78. package/test/features.test.ts +239 -0
  79. package/utils/config/content.ts +35 -0
  80. package/utils/config/vueform.ts +25 -0
  81. package/utils/consola.ts +23 -13
  82. package/utils/content.ts +18 -0
  83. package/utils/tailwind.ts +19 -0
  84. package/utils/vueform.ts +19 -0
  85. package/vueform.config.ts +4 -18
  86. package/.nuxt/component-chunk.mjs +0 -1
  87. package/.nuxt/dist/server/server.mjs +0 -1
  88. package/.nuxt/tailwind/postcss.mjs +0 -15
@@ -1,5 +1,198 @@
1
1
  export interface NuxtCustomSchema {
2
+ appConfig?: {
3
+ /**
4
+ * Nuxt Icon
5
+ *
6
+ * Configure Nuxt Icon module preferences.
7
+ *
8
+ *
9
+ * @studioIcon material-symbols:star
10
+ */
11
+ icon?: {
12
+ /**
13
+ * Icon Size
14
+ *
15
+ * Set the default icon size.
16
+ *
17
+ *
18
+ * @studioIcon material-symbols:format-size-rounded
19
+ */
20
+ size?: string | undefined,
2
21
 
22
+ /**
23
+ * CSS Class
24
+ *
25
+ * Set the default CSS class.
26
+ *
27
+ * @default ""
28
+ *
29
+ * @studioIcon material-symbols:css
30
+ */
31
+ class?: string,
32
+
33
+ /**
34
+ * Default Attributes
35
+ *
36
+ * Attributes applied to every icon component.
37
+ *
38
+ * @default { "aria-hidden": true }
39
+ *
40
+ *
41
+ * @studioIcon material-symbols:settings
42
+ */
43
+ attrs?: Record<string, string | number | boolean>,
44
+
45
+ /**
46
+ * Default Rendering Mode
47
+ *
48
+ * Set the default rendering mode for the icon component
49
+ *
50
+ * @default "css"
51
+ *
52
+ * @enum css,svg
53
+ *
54
+ * @studioIcon material-symbols:move-down-rounded
55
+ */
56
+ mode?: string,
57
+
58
+ /**
59
+ * Icon aliases
60
+ *
61
+ * Define Icon aliases to update them easily without code changes.
62
+ *
63
+ *
64
+ * @studioIcon material-symbols:star-rounded
65
+ */
66
+ aliases?: { [alias: string]: string },
67
+
68
+ /**
69
+ * CSS Selector Prefix
70
+ *
71
+ * Set the default CSS selector prefix.
72
+ *
73
+ * @default "i-"
74
+ *
75
+ * @studioIcon material-symbols:format-textdirection-l-to-r
76
+ */
77
+ cssSelectorPrefix?: string,
78
+
79
+ /**
80
+ * CSS Layer Name
81
+ *
82
+ * Set the default CSS `@layer` name.
83
+ *
84
+ *
85
+ * @studioIcon material-symbols:layers
86
+ */
87
+ cssLayer?: string | undefined,
88
+
89
+ /**
90
+ * Use CSS `:where()` Pseudo Selector
91
+ *
92
+ * Use CSS `:where()` pseudo selector to reduce specificity.
93
+ *
94
+ * @default true
95
+ *
96
+ * @studioIcon material-symbols:low-priority
97
+ */
98
+ cssWherePseudo?: boolean,
99
+
100
+ /**
101
+ * Icon Collections
102
+ *
103
+ * List of known icon collections name. Used to resolve collection name ambiguity.
104
+ * e.g. `simple-icons-github` -> `simple-icons:github` instead of `simple:icons-github`
105
+ *
106
+ * When not provided, will use the full Iconify collection list.
107
+ *
108
+ *
109
+ * @studioIcon material-symbols:format-list-bulleted
110
+ */
111
+ collections?: string[] | null,
112
+
113
+ /**
114
+ * Custom Icon Collections
115
+ *
116
+ *
117
+ * @studioIcon material-symbols:format-list-bulleted
118
+ */
119
+ customCollections?: string[] | null,
120
+
121
+ /**
122
+ * Icon Provider
123
+ *
124
+ * Provider to use for fetching icons
125
+ *
126
+ * - `server` - Fetch icons with a server handler
127
+ * - `iconify` - Fetch icons with Iconify API, purely client-side
128
+ * - `none` - Do not fetch icons (use client bundle only)
129
+ *
130
+ * `server` by default; `iconify` when `ssr: false`
131
+ *
132
+ *
133
+ * @enum server,iconify,none
134
+ *
135
+ * @studioIcon material-symbols:cloud
136
+ */
137
+ provider?: "server" | "iconify" | undefined,
138
+
139
+ /**
140
+ * Iconify API Endpoint URL
141
+ *
142
+ * Define a custom Iconify API endpoint URL. Useful if you want to use a self-hosted Iconify API. Learn more: https://iconify.design/docs/api.
143
+ *
144
+ * @default "https://api.iconify.design"
145
+ *
146
+ * @studioIcon material-symbols:api
147
+ */
148
+ iconifyApiEndpoint?: string,
149
+
150
+ /**
151
+ * Fallback to Iconify API
152
+ *
153
+ * Fallback to Iconify API if server provider fails to found the collection.
154
+ *
155
+ * @default true
156
+ *
157
+ * @enum true,false,server-only,client-only
158
+ *
159
+ * @studioIcon material-symbols:public
160
+ */
161
+ fallbackToApi?: boolean | "server-only" | "client-only",
162
+
163
+ /**
164
+ * Local API Endpoint Path
165
+ *
166
+ * Define a custom path for the local API endpoint.
167
+ *
168
+ * @default "/api/_nuxt_icon"
169
+ *
170
+ * @studioIcon material-symbols:api
171
+ */
172
+ localApiEndpoint?: string,
173
+
174
+ /**
175
+ * Fetch Timeout
176
+ *
177
+ * Set the timeout for fetching icons.
178
+ *
179
+ * @default 1500
180
+ *
181
+ * @studioIcon material-symbols:timer
182
+ */
183
+ fetchTimeout?: number,
184
+
185
+ /**
186
+ * Customize callback
187
+ *
188
+ * Customize icon content (replace stroke-width, colors, etc...).
189
+ *
190
+ *
191
+ * @studioIcon material-symbols:edit
192
+ */
193
+ customize?: IconifyIconCustomizeCallback,
194
+ },
195
+ },
3
196
  }
4
197
  export type CustomAppConfig = Exclude<NuxtCustomSchema['appConfig'], undefined>
5
198
  type _CustomAppConfig = CustomAppConfig
@@ -1,3 +1,263 @@
1
1
  {
2
- "id": "#"
2
+ "id": "#",
3
+ "properties": {
4
+ "appConfig": {
5
+ "id": "#appConfig",
6
+ "properties": {
7
+ "icon": {
8
+ "title": "Nuxt Icon",
9
+ "description": "Configure Nuxt Icon module preferences.",
10
+ "tags": [
11
+ "@studioIcon material-symbols:star"
12
+ ],
13
+ "id": "#appConfig/icon",
14
+ "properties": {
15
+ "size": {
16
+ "title": "Icon Size",
17
+ "description": "Set the default icon size.",
18
+ "tags": [
19
+ "@studioIcon material-symbols:format-size-rounded"
20
+ ],
21
+ "tsType": "string | undefined",
22
+ "id": "#appConfig/icon/size",
23
+ "default": {},
24
+ "type": "any"
25
+ },
26
+ "class": {
27
+ "title": "CSS Class",
28
+ "description": "Set the default CSS class.",
29
+ "tags": [
30
+ "@studioIcon material-symbols:css"
31
+ ],
32
+ "id": "#appConfig/icon/class",
33
+ "default": "",
34
+ "type": "string"
35
+ },
36
+ "attrs": {
37
+ "title": "Default Attributes",
38
+ "description": "Attributes applied to every icon component.\n\n@default { \"aria-hidden\": true }",
39
+ "tags": [
40
+ "@studioIcon material-symbols:settings"
41
+ ],
42
+ "tsType": "Record<string, string | number | boolean>",
43
+ "id": "#appConfig/icon/attrs",
44
+ "default": {
45
+ "aria-hidden": true
46
+ },
47
+ "type": "object"
48
+ },
49
+ "mode": {
50
+ "title": "Default Rendering Mode",
51
+ "description": "Set the default rendering mode for the icon component",
52
+ "enum": [
53
+ "css",
54
+ "svg"
55
+ ],
56
+ "tags": [
57
+ "@studioIcon material-symbols:move-down-rounded"
58
+ ],
59
+ "id": "#appConfig/icon/mode",
60
+ "default": "css",
61
+ "type": "string"
62
+ },
63
+ "aliases": {
64
+ "title": "Icon aliases",
65
+ "description": "Define Icon aliases to update them easily without code changes.",
66
+ "tags": [
67
+ "@studioIcon material-symbols:star-rounded"
68
+ ],
69
+ "tsType": "{ [alias: string]: string }",
70
+ "id": "#appConfig/icon/aliases",
71
+ "default": {},
72
+ "type": "object"
73
+ },
74
+ "cssSelectorPrefix": {
75
+ "title": "CSS Selector Prefix",
76
+ "description": "Set the default CSS selector prefix.",
77
+ "tags": [
78
+ "@studioIcon material-symbols:format-textdirection-l-to-r"
79
+ ],
80
+ "id": "#appConfig/icon/cssSelectorPrefix",
81
+ "default": "i-",
82
+ "type": "string"
83
+ },
84
+ "cssLayer": {
85
+ "title": "CSS Layer Name",
86
+ "description": "Set the default CSS `@layer` name.",
87
+ "tags": [
88
+ "@studioIcon material-symbols:layers"
89
+ ],
90
+ "tsType": "string | undefined",
91
+ "id": "#appConfig/icon/cssLayer",
92
+ "default": {},
93
+ "type": "any"
94
+ },
95
+ "cssWherePseudo": {
96
+ "title": "Use CSS `:where()` Pseudo Selector",
97
+ "description": "Use CSS `:where()` pseudo selector to reduce specificity.",
98
+ "tags": [
99
+ "@studioIcon material-symbols:low-priority"
100
+ ],
101
+ "id": "#appConfig/icon/cssWherePseudo",
102
+ "default": true,
103
+ "type": "boolean"
104
+ },
105
+ "collections": {
106
+ "title": "Icon Collections",
107
+ "description": "List of known icon collections name. Used to resolve collection name ambiguity.\ne.g. `simple-icons-github` -> `simple-icons:github` instead of `simple:icons-github`\n\nWhen not provided, will use the full Iconify collection list.",
108
+ "tags": [
109
+ "@studioIcon material-symbols:format-list-bulleted"
110
+ ],
111
+ "tsType": "string[] | null",
112
+ "id": "#appConfig/icon/collections",
113
+ "default": null,
114
+ "type": "any"
115
+ },
116
+ "customCollections": {
117
+ "title": "Custom Icon Collections",
118
+ "tags": [
119
+ "@studioIcon material-symbols:format-list-bulleted"
120
+ ],
121
+ "tsType": "string[] | null",
122
+ "id": "#appConfig/icon/customCollections",
123
+ "default": null,
124
+ "type": "any"
125
+ },
126
+ "provider": {
127
+ "title": "Icon Provider",
128
+ "description": "Provider to use for fetching icons\n\n- `server` - Fetch icons with a server handler\n- `iconify` - Fetch icons with Iconify API, purely client-side\n- `none` - Do not fetch icons (use client bundle only)\n\n`server` by default; `iconify` when `ssr: false`",
129
+ "enum": [
130
+ "server",
131
+ "iconify",
132
+ "none"
133
+ ],
134
+ "tags": [
135
+ "@studioIcon material-symbols:cloud"
136
+ ],
137
+ "type": "\"server\" | \"iconify\" | undefined",
138
+ "id": "#appConfig/icon/provider"
139
+ },
140
+ "iconifyApiEndpoint": {
141
+ "title": "Iconify API Endpoint URL",
142
+ "description": "Define a custom Iconify API endpoint URL. Useful if you want to use a self-hosted Iconify API. Learn more: https://iconify.design/docs/api.",
143
+ "tags": [
144
+ "@studioIcon material-symbols:api"
145
+ ],
146
+ "id": "#appConfig/icon/iconifyApiEndpoint",
147
+ "default": "https://api.iconify.design",
148
+ "type": "string"
149
+ },
150
+ "fallbackToApi": {
151
+ "title": "Fallback to Iconify API",
152
+ "description": "Fallback to Iconify API if server provider fails to found the collection.",
153
+ "tags": [
154
+ "@studioIcon material-symbols:public"
155
+ ],
156
+ "enum": [
157
+ true,
158
+ false,
159
+ "server-only",
160
+ "client-only"
161
+ ],
162
+ "type": "boolean | \"server-only\" | \"client-only\"",
163
+ "id": "#appConfig/icon/fallbackToApi",
164
+ "default": true
165
+ },
166
+ "localApiEndpoint": {
167
+ "title": "Local API Endpoint Path",
168
+ "description": "Define a custom path for the local API endpoint.",
169
+ "tags": [
170
+ "@studioIcon material-symbols:api"
171
+ ],
172
+ "id": "#appConfig/icon/localApiEndpoint",
173
+ "default": "/api/_nuxt_icon",
174
+ "type": "string"
175
+ },
176
+ "fetchTimeout": {
177
+ "title": "Fetch Timeout",
178
+ "description": "Set the timeout for fetching icons.",
179
+ "tags": [
180
+ "@studioIcon material-symbols:timer"
181
+ ],
182
+ "id": "#appConfig/icon/fetchTimeout",
183
+ "default": 1500,
184
+ "type": "number"
185
+ },
186
+ "customize": {
187
+ "title": "Customize callback",
188
+ "description": "Customize icon content (replace stroke-width, colors, etc...).",
189
+ "tags": [
190
+ "@studioIcon material-symbols:edit"
191
+ ],
192
+ "type": "IconifyIconCustomizeCallback",
193
+ "id": "#appConfig/icon/customize"
194
+ }
195
+ },
196
+ "type": "object",
197
+ "default": {
198
+ "size": {},
199
+ "class": "",
200
+ "attrs": {
201
+ "aria-hidden": true
202
+ },
203
+ "mode": "css",
204
+ "aliases": {},
205
+ "cssSelectorPrefix": "i-",
206
+ "cssLayer": {},
207
+ "cssWherePseudo": true,
208
+ "collections": null,
209
+ "customCollections": null,
210
+ "iconifyApiEndpoint": "https://api.iconify.design",
211
+ "fallbackToApi": true,
212
+ "localApiEndpoint": "/api/_nuxt_icon",
213
+ "fetchTimeout": 1500
214
+ }
215
+ }
216
+ },
217
+ "type": "object",
218
+ "default": {
219
+ "icon": {
220
+ "size": {},
221
+ "class": "",
222
+ "attrs": {
223
+ "aria-hidden": true
224
+ },
225
+ "mode": "css",
226
+ "aliases": {},
227
+ "cssSelectorPrefix": "i-",
228
+ "cssLayer": {},
229
+ "cssWherePseudo": true,
230
+ "collections": null,
231
+ "customCollections": null,
232
+ "iconifyApiEndpoint": "https://api.iconify.design",
233
+ "fallbackToApi": true,
234
+ "localApiEndpoint": "/api/_nuxt_icon",
235
+ "fetchTimeout": 1500
236
+ }
237
+ }
238
+ }
239
+ },
240
+ "type": "object",
241
+ "default": {
242
+ "appConfig": {
243
+ "icon": {
244
+ "size": {},
245
+ "class": "",
246
+ "attrs": {
247
+ "aria-hidden": true
248
+ },
249
+ "mode": "css",
250
+ "aliases": {},
251
+ "cssSelectorPrefix": "i-",
252
+ "cssLayer": {},
253
+ "cssWherePseudo": true,
254
+ "collections": null,
255
+ "customCollections": null,
256
+ "iconifyApiEndpoint": "https://api.iconify.design",
257
+ "fallbackToApi": true,
258
+ "localApiEndpoint": "/api/_nuxt_icon",
259
+ "fetchTimeout": 1500
260
+ }
261
+ }
262
+ }
3
263
  }