├── .editorconfig ├── .eslintrc ├── .gitignore ├── .npmrc ├── .nuxtrc ├── .prettierrc ├── CHANGELOG.md ├── LICENSE ├── README.md ├── docs ├── .env.example ├── .gitignore ├── .npmrc ├── .prettierignore ├── .prettierrc ├── app.config.ts ├── content │ ├── 0.index.md │ ├── 1.getting-started │ │ ├── 0.setup.md │ │ └── _dir.yml │ ├── 2.examples │ │ ├── 1.basic.md │ │ └── 2.programmatic.md │ ├── 3.integrations │ │ └── 3.devtools.md │ └── 4.templates │ │ └── 4.cover.md ├── nuxt.config.ts ├── package.json ├── public │ ├── android-chrome-192x192.png │ ├── android-chrome-512x512.png │ ├── apple-touch-icon.png │ ├── cover.png │ ├── favicon-16x16.png │ ├── favicon-32x32.png │ ├── favicon.ico │ ├── favicon.png │ ├── icon.png │ ├── logo-dark.svg │ ├── logo-light.svg │ ├── nuxt-uikit-cover-template.png │ ├── nuxt-uikit-devtools-integration.png │ ├── preview.png │ └── site.webmanifest ├── renovate.json ├── tokens.config.ts ├── tsconfig.json └── yarn.lock ├── eslint.config.js ├── package.json ├── playground ├── app.vue ├── nuxt.config.ts └── package.json ├── src ├── module.ts └── runtime │ ├── plugin.ts │ └── public │ ├── uikit-icons.min.js │ └── uikit.min.js ├── test ├── basic.test.ts └── fixtures │ └── basic │ ├── app.vue │ ├── nuxt.config.ts │ └── package.json ├── tsconfig.json ├── vite.config.ts └── yarn.lock /.editorconfig: -------------------------------------------------------------------------------- 1 | # editorconfig.org 2 | root = true 3 | 4 | [*] 5 | indent_size = 2 6 | indent_style = space 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | insert_final_newline = true 11 | 12 | [*.md] 13 | trim_trailing_whitespace = false 14 | -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | "extends": ["@nuxt/eslint-config"] 4 | } 5 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Dependencies 2 | node_modules 3 | 4 | # Logs 5 | *.log* 6 | 7 | # Temp directories 8 | .temp 9 | .tmp 10 | .cache 11 | 12 | # Yarn 13 | **/.yarn/cache 14 | **/.yarn/*state* 15 | 16 | # Generated dirs 17 | dist 18 | 19 | # Nuxt 20 | .nuxt 21 | .output 22 | .vercel_build_output 23 | .build-* 24 | .env 25 | .netlify 26 | 27 | # Env 28 | .env 29 | 30 | # Testing 31 | reports 32 | coverage 33 | *.lcov 34 | .nyc_output 35 | 36 | # VSCode 37 | .vscode/* 38 | !.vscode/settings.json 39 | !.vscode/tasks.json 40 | !.vscode/launch.json 41 | !.vscode/extensions.json 42 | !.vscode/*.code-snippets 43 | 44 | # Intellij idea 45 | *.iml 46 | .idea 47 | 48 | # OSX 49 | .DS_Store 50 | .AppleDouble 51 | .LSOverride 52 | .AppleDB 53 | .AppleDesktop 54 | Network Trash Folder 55 | Temporary Items 56 | .apdisk 57 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | shamefully-hoist=true 2 | strict-peer-dependencies=false 3 | -------------------------------------------------------------------------------- /.nuxtrc: -------------------------------------------------------------------------------- 1 | imports.autoImport=false 2 | typescript.includeWorkspace=true 3 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "semi": false, 3 | "singleQuote": true, 4 | "trailingComma": "es5" 5 | } 6 | 7 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. 4 | 5 | ## v3.1.13 6 | 7 | [compare changes](https://github.com/fedorae-com/nuxt-uikit/compare/v3.1.12...v3.1.13) 8 | 9 | ### 💅 Refactors 10 | 11 | - Merge uikit upgrade and file copy command ([fcdeb3e](https://github.com/fedorae-com/nuxt-uikit/commit/fcdeb3e)) 12 | 13 | ### 🏡 Chore 14 | 15 | - Upgrade uikit to latest (v3.22.0) ([a11bfb8](https://github.com/fedorae-com/nuxt-uikit/commit/a11bfb8)) 16 | - Update packages with patch releases ([2d29e2d](https://github.com/fedorae-com/nuxt-uikit/commit/2d29e2d)) 17 | - Upgraded minor release packages ([e4ec178](https://github.com/fedorae-com/nuxt-uikit/commit/e4ec178)) 18 | - **docs:** Upgrade nuxt to latest ([86beaec](https://github.com/fedorae-com/nuxt-uikit/commit/86beaec)) 19 | 20 | ### ❤️ Contributors 21 | 22 | - Swalx 23 | 24 | ## v3.1.12 25 | 26 | [compare changes](https://github.com/fedorae-com/nuxt-uikit/compare/v3.1.11...v3.1.12) 27 | 28 | ### 💅 Refactors 29 | 30 | - Change how offcanvas title check is done ([2c479a3](https://github.com/fedorae-com/nuxt-uikit/commit/2c479a3)) 31 | 32 | ### 🏡 Chore 33 | 34 | - **playground:** Add compatibility date ([f74c9da](https://github.com/fedorae-com/nuxt-uikit/commit/f74c9da)) 35 | - Bump patch+minor release deps ([9a7be49](https://github.com/fedorae-com/nuxt-uikit/commit/9a7be49)) 36 | - Bump major release deps ([6f3521c](https://github.com/fedorae-com/nuxt-uikit/commit/6f3521c)) 37 | - **docs:** Set compatibility date ([40dadc1](https://github.com/fedorae-com/nuxt-uikit/commit/40dadc1)) 38 | - **docs:** Bump nuxt + docus ([f8bb41e](https://github.com/fedorae-com/nuxt-uikit/commit/f8bb41e)) 39 | - Copied uikit js files ([de50681](https://github.com/fedorae-com/nuxt-uikit/commit/de50681)) 40 | 41 | ### ❤️ Contributors 42 | 43 | - Swalx 44 | 45 | ## v3.1.11 46 | 47 | [compare changes](https://github.com/fedorae-com/nuxt-uikit/compare/v3.1.10...v3.1.11) 48 | 49 | ### 🏡 Chore 50 | 51 | - Bump uikit version ([27fb50f](https://github.com/fedorae-com/nuxt-uikit/commit/27fb50f)) 52 | - Bump deps with patch updates ([ad36e3e](https://github.com/fedorae-com/nuxt-uikit/commit/ad36e3e)) 53 | - **docs:** Bump nuxt version ([c3a67a2](https://github.com/fedorae-com/nuxt-uikit/commit/c3a67a2)) 54 | - Bump deps with major versions ([1544cab](https://github.com/fedorae-com/nuxt-uikit/commit/1544cab)) 55 | - Refresh lockfile ([827ec94](https://github.com/fedorae-com/nuxt-uikit/commit/827ec94)) 56 | 57 | ### ❤️ Contributors 58 | 59 | - Swalx 60 | 61 | ## v3.1.10 62 | 63 | [compare changes](https://github.com/fedorae-com/nuxt-uikit/compare/v3.1.9...v3.1.10) 64 | 65 | ### 🏡 Chore 66 | 67 | - Bump deps patch versions ([efcc0bc](https://github.com/fedorae-com/nuxt-uikit/commit/efcc0bc)) 68 | - Update uikit js files ([96d1701](https://github.com/fedorae-com/nuxt-uikit/commit/96d1701)) 69 | - **docs:** Bump nuxt version ([56c0b6b](https://github.com/fedorae-com/nuxt-uikit/commit/56c0b6b)) 70 | 71 | ### ❤️ Contributors 72 | 73 | - Swalx 74 | 75 | ## v3.1.9 76 | 77 | [compare changes](https://github.com/fedorae-com/nuxt-uikit/compare/v3.1.8...v3.1.9) 78 | 79 | ### 🩹 Fixes 80 | 81 | - Hydration class mismatch issue ([3fb1b4d](https://github.com/fedorae-com/nuxt-uikit/commit/3fb1b4d)) 82 | 83 | ### 💅 Refactors 84 | 85 | - Update build files extensions ([098eec8](https://github.com/fedorae-com/nuxt-uikit/commit/098eec8)) 86 | 87 | ### 🏡 Chore 88 | 89 | - Bump dependencies to latest ([d5c28ae](https://github.com/fedorae-com/nuxt-uikit/commit/d5c28ae)) 90 | 91 | ### ✅ Tests 92 | 93 | - Add simple test for GitHub icon element ([ef256d3](https://github.com/fedorae-com/nuxt-uikit/commit/ef256d3)) 94 | 95 | ### ❤️ Contributors 96 | 97 | - Swalx 98 | 99 | ## v3.1.8 100 | 101 | [compare changes](https://github.com/fedorae-com/nuxt-uikit/compare/v3.1.7...v3.1.8) 102 | 103 | ### 💅 Refactors 104 | 105 | - Remove composable implementation #6 ([#6](https://github.com/fedorae-com/nuxt-uikit/issues/6)) 106 | 107 | ### 🏡 Chore 108 | 109 | - Bump Minor dep versions ([173eaf3](https://github.com/fedorae-com/nuxt-uikit/commit/173eaf3)) 110 | - Bump @nuxt/module-builder ([6dab9c7](https://github.com/fedorae-com/nuxt-uikit/commit/6dab9c7)) 111 | - Update uikit js files ([1b79512](https://github.com/fedorae-com/nuxt-uikit/commit/1b79512)) 112 | 113 | ### ❤️ Contributors 114 | 115 | - Swalx 116 | 117 | ## v3.1.7 118 | 119 | [compare changes](https://github.com/fedorae-com/nuxt-uikit/compare/v3.1.6...v3.1.7) 120 | 121 | ### 💅 Refactors 122 | 123 | - Replace .eslintignore with eslint.config.js ([7a44f5f](https://github.com/fedorae-com/nuxt-uikit/commit/7a44f5f)) 124 | 125 | ### 🏡 Chore 126 | 127 | - **docs:** Bump nuxt version ([22dbabe](https://github.com/fedorae-com/nuxt-uikit/commit/22dbabe)) 128 | - Bump deps with minor updates ([5d1c1fa](https://github.com/fedorae-com/nuxt-uikit/commit/5d1c1fa)) 129 | - Bump deps with major updates ([d59ddda](https://github.com/fedorae-com/nuxt-uikit/commit/d59ddda)) 130 | - Cp new uikit js files ([fb2ad63](https://github.com/fedorae-com/nuxt-uikit/commit/fb2ad63)) 131 | - Add typescript ([40259ed](https://github.com/fedorae-com/nuxt-uikit/commit/40259ed)) 132 | 133 | ### ❤️ Contributors 134 | 135 | - Swalx 136 | 137 | ## v3.1.6 138 | 139 | [compare changes](https://github.com/fedorae-com/nuxt-uikit/compare/v3.0.0-beta.10...v3.1.6) 140 | 141 | ### 🏡 Chore 142 | 143 | - Regenerate yarn.lock file ([b1e5da7](https://github.com/fedorae-com/nuxt-uikit/commit/b1e5da7)) 144 | - Bump uikit v3.19.1 ([a62a54d](https://github.com/fedorae-com/nuxt-uikit/commit/a62a54d)) 145 | - Bump dependencies to latest ([93ed452](https://github.com/fedorae-com/nuxt-uikit/commit/93ed452)) 146 | - **docs:** Bump dependencies ([be8257c](https://github.com/fedorae-com/nuxt-uikit/commit/be8257c)) 147 | 148 | ### ❤️ Contributors 149 | 150 | - Swalx 151 | 152 | ## v3.1.5 153 | 154 | [compare changes](https://github.com/fedorae-com/nuxt-uikit/compare/v3.1.4...v3.1.5) 155 | 156 | ### 🏡 Chore 157 | 158 | - Update LICENSE year ([38a4a68](https://github.com/fedorae-com/nuxt-uikit/commit/38a4a68)) 159 | - Bump dependencies to latest ([0c5ce60](https://github.com/fedorae-com/nuxt-uikit/commit/0c5ce60)) 160 | - Dev:prepare ([d14e39d](https://github.com/fedorae-com/nuxt-uikit/commit/d14e39d)) 161 | - **docs:** Bump nuxt to latest (v3.10.0) ([edc02fd](https://github.com/fedorae-com/nuxt-uikit/commit/edc02fd)) 162 | - Update github links ([007a6e5](https://github.com/fedorae-com/nuxt-uikit/commit/007a6e5)) 163 | - Update github username from `Yisrae` to `Fedorae` & update nuxt website link ([48308f7](https://github.com/fedorae-com/nuxt-uikit/commit/48308f7)) 164 | 165 | ### ❤️ Contributors 166 | 167 | - Swalx 168 | 169 | ## v3.1.4 170 | 171 | [compare changes](https://github.com/fedorae-com/nuxt-uikit/compare/v3.1.3...v3.1.4) 172 | 173 | ## v3.1.3 174 | 175 | [compare changes](https://github.com/fedorae-com/nuxt-uikit/compare/v3.1.2...v3.1.3) 176 | 177 | ### 🏡 Chore 178 | 179 | - Update deps to latest ([8043c80](https://github.com/fedorae-com/nuxt-uikit/commit/8043c80)) 180 | - Add 'yarn uikit' to 'dev:prepare' script ([a0d6574](https://github.com/fedorae-com/nuxt-uikit/commit/a0d6574)) 181 | - Move latest uikit (v3.17.11) files to runtime/public ([1c71726](https://github.com/fedorae-com/nuxt-uikit/commit/1c71726)) 182 | - **docs:** Bump nuxt version (v3.8.3) ([ae72c40](https://github.com/fedorae-com/nuxt-uikit/commit/ae72c40)) 183 | - Add clean script to module and docs ([e1c23d2](https://github.com/fedorae-com/nuxt-uikit/commit/e1c23d2)) 184 | 185 | ### ❤️ Contributors 186 | 187 | - Yisrae 188 | 189 | ## v3.1.2 190 | 191 | [compare changes](https://github.com/fedorae-com/nuxt-uikit/compare/v3.1.1...v3.1.2) 192 | 193 | ### 💅 Refactors 194 | 195 | - **docs:** Add correct Nuxt version ([c1ee058](https://github.com/fedorae-com/nuxt-uikit/commit/c1ee058)) 196 | 197 | ### ❤️ Contributors 198 | 199 | - Yisrae 200 | 201 | ## v3.1.1 202 | 203 | [compare changes](https://github.com/fedorae-com/nuxt-uikit/compare/v3.1.0...v3.1.1) 204 | 205 | ### 💅 Refactors 206 | 207 | - Rename postinstall script to uikit ([c7d4f10](https://github.com/fedorae-com/nuxt-uikit/commit/c7d4f10)) 208 | - Change file extension to mjs ([301de55](https://github.com/fedorae-com/nuxt-uikit/commit/301de55)) 209 | 210 | ### ❤️ Contributors 211 | 212 | - Yisrae 213 | 214 | ## v3.1.0 215 | 216 | [compare changes](https://github.com/fedorae-com/nuxt-uikit/compare/v3.0.11...v3.1.0) 217 | 218 | ### 🚀 Enhancements 219 | 220 | - Update head script implementation to use local uikit files ([338b6d5](https://github.com/fedorae-com/nuxt-uikit/commit/338b6d5)) 221 | 222 | ### 🏡 Chore 223 | 224 | - Add postinstall script to copy uikit files to runtime/public dir ([10af15e](https://github.com/fedorae-com/nuxt-uikit/commit/10af15e)) 225 | - Update all dependencies to latest ([1a62597](https://github.com/fedorae-com/nuxt-uikit/commit/1a62597)) 226 | - **docs:** Update dependencies to latest ([451c0f0](https://github.com/fedorae-com/nuxt-uikit/commit/451c0f0)) 227 | - Add runtime/public dir ([0bc6d0c](https://github.com/fedorae-com/nuxt-uikit/commit/0bc6d0c)) 228 | 229 | ### 🎨 Styles 230 | 231 | - Lint --fix ([ebf1f72](https://github.com/fedorae-com/nuxt-uikit/commit/ebf1f72)) 232 | 233 | ### ❤️ Contributors 234 | 235 | - Yisrae 236 | 237 | ## v3.0.11 238 | 239 | [compare changes](https://github.com/fedorae-com/nuxt-uikit/compare/v3.0.10...v3.0.11) 240 | 241 | ### 💅 Refactors 242 | 243 | - Add pnpm install/add option ([1d1235e](https://github.com/fedorae-com/nuxt-uikit/commit/1d1235e)) 244 | 245 | ### 🏡 Chore 246 | 247 | - Upgrade all dependencies to latest ([4f7c1e8](https://github.com/fedorae-com/nuxt-uikit/commit/4f7c1e8)) 248 | - **docs:** Upgrade all dependencies to latest ([cf99dc1](https://github.com/fedorae-com/nuxt-uikit/commit/cf99dc1)) 249 | - **docs:** Scale cover image ([cb3cb0a](https://github.com/fedorae-com/nuxt-uikit/commit/cb3cb0a)) 250 | 251 | ### ❤️ Contributors 252 | 253 | - Yisrae 254 | 255 | ## v3.0.10 256 | 257 | [compare changes](https://github.com/fedorae-com/nuxt-uikit/compare/v3.0.9...v3.0.10) 258 | 259 | ### 💅 Refactors 260 | 261 | - **docs:** Remove (Nuxt 3) indicator ([b6b4945](https://github.com/fedorae-com/nuxt-uikit/commit/b6b4945)) 262 | 263 | ### 📖 Documentation 264 | 265 | - Update dependencies ([852bff0](https://github.com/fedorae-com/nuxt-uikit/commit/852bff0)) 266 | 267 | ### 🏡 Chore 268 | 269 | - **release:** V3.0.8 ([d8dbb99](https://github.com/fedorae-com/nuxt-uikit/commit/d8dbb99)) 270 | - **release:** V3.0.9 ([0eb0d36](https://github.com/fedorae-com/nuxt-uikit/commit/0eb0d36)) 271 | - Bump packages with patch releases to latest ([f9ce2a8](https://github.com/fedorae-com/nuxt-uikit/commit/f9ce2a8)) 272 | - Update minor release dependencies ([5a4035d](https://github.com/fedorae-com/nuxt-uikit/commit/5a4035d)) 273 | - Update dependencies with major releases ([908382c](https://github.com/fedorae-com/nuxt-uikit/commit/908382c)) 274 | 275 | ### ❤️ Contributors 276 | 277 | - Yisrae 278 | 279 | ## v3.0.9 280 | 281 | [compare changes](https://github.com/fedorae-com/nuxt-uikit/compare/v3.0.8...v3.0.9) 282 | 283 | ### 🏡 Chore 284 | 285 | - (docs) Add Nuxt UIkit cover template content ([08d98ac](https://github.com/fedorae-com/nuxt-uikit/commit/08d98ac)) 286 | - (docs) Add Nuxt DevTools integration content ([eb0328e](https://github.com/fedorae-com/nuxt-uikit/commit/eb0328e)) 287 | - (docs) Add .prettierignore ([df8d815](https://github.com/fedorae-com/nuxt-uikit/commit/df8d815)) 288 | - (docs) Update title ([688985a](https://github.com/fedorae-com/nuxt-uikit/commit/688985a)) 289 | - (docs) Add pnpm installation config ([fa70c40](https://github.com/fedorae-com/nuxt-uikit/commit/fa70c40)) 290 | - (docs) Update all packages ([865a9dc](https://github.com/fedorae-com/nuxt-uikit/commit/865a9dc)) 291 | - Update all packages with major release updates ([66fe10b](https://github.com/fedorae-com/nuxt-uikit/commit/66fe10b)) 292 | - Update all packages with patch and minor updates ([06b14af](https://github.com/fedorae-com/nuxt-uikit/commit/06b14af)) 293 | 294 | ### ❤️ Contributors 295 | 296 | - Yisrae 297 | 298 | ### 🏡 Chore 299 | 300 | - **release:** V3.0.8 ([d8dbb99](https://github.com/fedorae-com/nuxt-uikit/commit/d8dbb99)) 301 | 302 | ### ❤️ Contributors 303 | 304 | - Yisrae 305 | 306 | ## v3.0.8 307 | 308 | [compare changes](https://github.com/fedorae-com/nuxt-uikit/compare/v3.0.7...v3.0.8) 309 | 310 | ### 🏡 Chore 311 | 312 | - Disable useUIkit composable due to return of https://github.com/fedorae-com/nuxt-uikit/issues/4 ([7669694](https://github.com/fedorae-com/nuxt-uikit/commit/7669694)) 313 | - Add UIkit document tab to devtools ([7015888](https://github.com/fedorae-com/nuxt-uikit/commit/7015888)) 314 | - Add devtools-kit + Update all packages to latest ([d363d79](https://github.com/fedorae-com/nuxt-uikit/commit/d363d79)) 315 | 316 | ### ❤️ Contributors 317 | 318 | - Yisrae 319 | 320 | ## v3.0.7 321 | 322 | [compare changes](https://github.com/fedorae-com/nuxt-uikit/compare/v3.0.6...v3.0.7) 323 | 324 | ## v3.0.6 325 | 326 | [compare changes](https://github.com/fedorae-com/nuxt-uikit/compare/v3.0.5...v3.0.6) 327 | 328 | ## v3.0.5 329 | 330 | [compare changes](https://github.com/fedorae-com/nuxt-uikit/compare/v3.0.4...v3.0.5) 331 | 332 | ## v3.0.4 333 | 334 | [compare changes](https://github.com/fedorae-com/nuxt-uikit/compare/v3.0.3...v3.0.4) 335 | 336 | ## v3.0.3 337 | 338 | [compare changes](https://github.com/fedorae-com/nuxt-uikit/compare/v3.0.2...v3.0.3) 339 | 340 | ### 🏡 Chore 341 | 342 | - Bump dependencies to latest ([264b16f](https://github.com/fedorae-com/nuxt-uikit/commit/264b16f)) 343 | - Bump @nuxt/module-builder & vitest to latest ([8b4869d](https://github.com/fedorae-com/nuxt-uikit/commit/8b4869d)) 344 | - Remove zombie code ([311db61](https://github.com/fedorae-com/nuxt-uikit/commit/311db61)) 345 | - (docs): Add favicon ([2f8f2bc](https://github.com/fedorae-com/nuxt-uikit/commit/2f8f2bc)) 346 | - (docs): Upgrade all packages to latest ([ecc8431](https://github.com/fedorae-com/nuxt-uikit/commit/ecc8431)) 347 | 348 | ### ❤️ Contributors 349 | 350 | - Yisrae 351 | 352 | ## v3.0.2 353 | 354 | [compare changes](https://github.com/fedorae-com/nuxt-uikit/compare/v3.0.2...v3.0.1) 355 | 356 | ### 🏡 Chore 357 | 358 | - **release:** V3.0.2 ([59a5ec4](https://github.com/fedorae-com/nuxt-uikit/commit/59a5ec4)) 359 | 360 | ### ❤️ Contributors 361 | 362 | - Yisrae 363 | 364 | ## [v3.0.1](https://github.com/fedorae-com/nuxt-uikit/compare/v3.0.0-beta.16...3.0.1) (2023-03-31) 365 | 366 | - (docs) Add script setup for snippets 367 | - Update all packages to latest 368 | - (docs) Update home page snippet install script & GitHub link 369 | - Add dynamic uikit version 370 | 371 | ## [3.0.0-beta.9](https://github.com/fedorae-com/nuxt-uikit/compare/v3.0.0-beta.8...3.0.0-beta.9) (2022-12-13) 372 | 373 | ## [3.0.0-beta.8](https://github.com/fedorae-com/nuxt-uikit/compare/v3.0.0-beta.7...3.0.0-beta.8) (2022-12-06) 374 | 375 | ## [3.0.0-beta.8](https://github.com/fedorae-com/nuxt-uikit/compare/v3.0.0-beta.7...3.0.0-beta.8) (2022-12-06) 376 | 377 | ### [3.0.0-beta.7](https://github.com/fedorae-com/nuxt-uikit/compare/v3.0.0-beta.1...v3.0.0-beta.7) (2022-11-27) 378 | 379 | - Change plugin resolve config 380 | - Importing onMounted from Vue 381 | - Remove nuxt2-playground 382 | 383 | ### [3.0.0-beta.1](https://github.com/fedorae-com/nuxt-uikit/compare/v2.0.5...v3.0.0-beta.1) (2022-11-22) 384 | 385 | - Add new Docus docs website 386 | - Add nuxt 3 style module files 387 | - Update packages 388 | - Update to use Nuxt 3 module config 389 | 390 | ### [2.0.5](https://github.com/fedorae-com/nuxt-uikit/compare/v2.0.4...v2.0.5) (2022-11-25) 391 | 392 | - Update to uikit latest v3.15.14 393 | - Update to eslint latest v8.28.0 394 | 395 | ### [2.0.4](https://github.com/fedorae-com/nuxt-uikit/compare/v2.0.3...v2.0.4) (2022-11-15) 396 | 397 | - Update to uikit latest v3.15.12 398 | 399 | ### [2.0.3](https://github.com/fedorae-com/nuxt-uikit/compare/v2.0.2...v2.0.3) (2022-11-7) 400 | 401 | - Update uikit & eslint to latest 402 | 403 | ### [2.0.2](https://github.com/fedorae-com/nuxt-uikit/compare/v2.0.1...v2.0.2) (2022-10-14) 404 | 405 | ### [2.0.1](https://github.com/fedorae-com/nuxt-uikit/compare/v2.0.0...v2.0.1) (2022-09-23) 406 | 407 | ### [2.0.0](https://github.com/fedorae-com/nuxt-uikit/compare/v1.0.6...v2.0.0) (2022-09-23) 408 | 409 | ### [1.0.7](https://github.com/fedorae-com/nuxt-uikit/compare/v1.0.6...v1.0.7) (2022-09-23) 410 | 411 | ### 1.0.6 (2022-09-23) 412 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 Fedorae 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [![nuxt-uikit](docs/public/cover.png)](https://fedorae-com.github.io/nuxt-uikit) 2 | 3 | # Nuxt [UIKit](https://github.com/uikit/uikit) 4 | 5 | > [UIkit](https://github.com/uikit/uikit) is a lightweight and modular front-end framework for developing fast and powerful web interfaces 6 | 7 | 8 | # Setup 9 | 10 | ## Installation 11 | Add `@fedorae/nuxt-uikit` dependency to your project: 12 | 13 | ```bash 14 | # Using pnpm 15 | pnpm add -D @fedorae/nuxt-uikit 16 | ``` 17 | ```bash 18 | # Using yarn 19 | yarn add --dev @fedorae/nuxt-uikit 20 | ``` 21 | ```bash 22 | # Using npm 23 | npm install --save-dev @fedorae/nuxt-uikit 24 | ``` 25 | 26 | ## Setup 27 | Add `@fedorae/nuxt-uikit` to the modules section of your `nuxt.config.ts` file: 28 | 29 | ```ts 30 | { 31 | modules: [ 32 | '@fedorae/nuxt-uikit' 33 | ], 34 | } 35 | 36 | ``` 37 | # Development 38 | 39 | - Run `yarn dev:prepare` to generate type stubs. 40 | - Use `yarn dev` to start [playground](./playground) in development mode. 41 | 42 | ## Credits 43 | Nuxt UIkit Image - [https://codesandbox.io/s/pjmkmvp327](https://codesandbox.io/s/pjmkmvp327) ([pdipasqua](https://codesandbox.io/u/pdipasqua)) 44 | 45 | ## License 46 | 47 | [MIT License](./LICENSE) 48 | 49 | Copyright (c) 2024 Fedorae -------------------------------------------------------------------------------- /docs/.env.example: -------------------------------------------------------------------------------- 1 | # Create one with no scope selected on https://github.com/settings/tokens/new 2 | # This token is used for fetching the repository releases. 3 | GITHUB_TOKEN= -------------------------------------------------------------------------------- /docs/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | *.iml 3 | .idea 4 | *.log* 5 | .nuxt 6 | .vscode 7 | .DS_Store 8 | coverage 9 | dist 10 | sw.* 11 | .env 12 | .output 13 | -------------------------------------------------------------------------------- /docs/.npmrc: -------------------------------------------------------------------------------- 1 | shamefully-hoist=true 2 | -------------------------------------------------------------------------------- /docs/.prettierignore: -------------------------------------------------------------------------------- 1 | content/0.index.md 2 | 3 | -------------------------------------------------------------------------------- /docs/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "semi": false, 3 | "singleQuote": true, 4 | "trailingComma": "es5" 5 | } 6 | 7 | -------------------------------------------------------------------------------- /docs/app.config.ts: -------------------------------------------------------------------------------- 1 | export default defineAppConfig({ 2 | docus: { 3 | title: 'Nuxt UIkit', 4 | url: 'https://nuxt-uikit.fedorae.com', 5 | description: 'UIkit module for Nuxt.', 6 | image: '/cover.png', 7 | socials: { 8 | twitter: 'fedorae_', 9 | github: 'fedorae-com/nuxt-uikit', 10 | }, 11 | aside: { 12 | level: 0, 13 | exclude: [], 14 | }, 15 | header: { 16 | title: 'Nuxt UIkit', 17 | showLinkIcon: true, 18 | exclude: [], 19 | }, 20 | app: { 21 | head: { 22 | link: [{ rel: 'icon', type: 'image/x-icon', href: '/favicon.png' }], 23 | }, 24 | }, 25 | footer: { 26 | iconLinks: [ 27 | { 28 | href: 'https://fedorae.com', 29 | icon: 'mdi:external-link', 30 | }, 31 | { 32 | href: 'https://nuxt.com', 33 | icon: 'IconNuxtLabs', 34 | }, 35 | ], 36 | }, 37 | }, 38 | }) 39 | -------------------------------------------------------------------------------- /docs/content/0.index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Introduction 3 | navigation: false 4 | layout: page 5 | --- 6 | 7 | ::block-hero 8 | --- 9 | cta: 10 | - Get Started 11 | - /getting-started/setup 12 | secondary: 13 | - Open on GitHub → 14 | - https://github.com/fedorae-com/nuxt-uikit 15 | snippet: pnpm add -D @fedorae/nuxt-uikit 16 | --- 17 | 18 | #title 19 | Add the lightweight and modular front-end framework [UIKit](https://github.com/uikit/uikit) to your Nuxt Applications. 20 | 21 | #description 22 | This module makes it super easy to add the [UIKit](https://getuikit.com) framework to your [Nuxt](https://nuxt.com) application. 23 | :: 24 | -------------------------------------------------------------------------------- /docs/content/1.getting-started/0.setup.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Setup 3 | description: Installing UIkit module in your Nuxt project 4 | --- 5 | 6 | ## Installation 7 | 8 | 1. Add `@fedorae/nuxt-uikit` dependency to your project: 9 | 10 | ::code-group 11 | 12 | ```bash [PNPM] 13 | pnpm add -D @fedorae/nuxt-uikit 14 | 15 | ``` 16 | 17 | ```bash [Yarn] 18 | yarn add --dev @fedorae/nuxt-uikit 19 | ``` 20 | 21 | ```bash [NPM] 22 | npm install --save-dev @fedorae/nuxt-uikit 23 | ``` 24 | 25 | :: 26 | 27 | 2. Add it to your `modules` section in your `nuxt.config`: 28 | 29 | ::code-group 30 | 31 | ```ts [nuxt.config] 32 | export default defineNuxtConfig({ 33 | modules: ['@fedorae/nuxt-uikit'], 34 | }) 35 | ``` 36 | 37 | :: -------------------------------------------------------------------------------- /docs/content/1.getting-started/_dir.yml: -------------------------------------------------------------------------------- 1 | title: Guide 2 | -------------------------------------------------------------------------------- /docs/content/2.examples/1.basic.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Basic Usage 3 | description: Example of basic usage of Nuxt UIkit. 4 | toc: false 5 | --- 6 | 7 | Minimal example of a Nuxt project with UIkit module. 8 | 9 | ```html 10 | 37 | ``` 38 | -------------------------------------------------------------------------------- /docs/content/2.examples/2.programmatic.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 'Programmatic Usage' 3 | description: 'Explore how powerful it is to use UIkit programmatically!' 4 | --- 5 | 6 | The module supports [programmatic usage](https://getuikit.com/docs/javascript#programmatic-use), meaning you can use UIkit's JavaScript functions by default! 7 | 8 | ```vue 9 | 16 | ``` 17 | 18 | Learn more about [UIkit's JavaScript functions](https://getuikit.com/docs/javascript) and how to use them! 19 | -------------------------------------------------------------------------------- /docs/content/3.integrations/3.devtools.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Devtools integration 3 | description: Example of Nuxt Devtools integration with UIkit documentation. 4 | toc: false 5 | --- 6 | 7 | `@fedorae/nuxt-uikit` hooks into the Nuxt DevTools to give you quick access to the UIkit documentation as you development. 8 | 9 | ![Nuxt DevTools integration with UIkit Documentation](/nuxt-uikit-devtools-integration.png) 10 | 11 | Unleash Nuxt Developer Experience. Visit https://devtools.nuxtjs.org for more information. 12 | -------------------------------------------------------------------------------- /docs/content/4.templates/4.cover.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Nuxt UIKit Cover 3 | description: Simple but elegant website landing page made with @fedorae/nuxt-uikit 4 | toc: false 5 | --- 6 | 7 | The developers of the `@fedorae/nuxt-uikit` module has also provided pre-configured templates for quickly starting your Nuxt project. This is the 8 | `Nuxt UIkit Cover` template. 9 | 10 | # Nuxt UIkit Cover 11 | 12 | ![Nuxt UIkit Cover template image](/nuxt-uikit-cover-template.png) 13 | 14 | Source code: https://github.com/fedorae-com/nuxt-uikit-cover 15 | Video: https://www.youtube.com/watch?v=o-VMdQfDk30 16 | -------------------------------------------------------------------------------- /docs/nuxt.config.ts: -------------------------------------------------------------------------------- 1 | export default defineNuxtConfig({ 2 | extends: '@nuxt-themes/docus', 3 | 4 | imports: { 5 | autoImport: true 6 | }, 7 | 8 | compatibilityDate: '2024-11-18' 9 | }) -------------------------------------------------------------------------------- /docs/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nuxt-uikit-docs", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "dev": "nuxi dev", 7 | "build": "nuxi build", 8 | "generate": "nuxi generate", 9 | "preview": "nuxi preview", 10 | "clean": "rm -rf .nuxt && rm -rf node_modules && rm -rf yarn.lock" 11 | }, 12 | "devDependencies": { 13 | "@nuxt-themes/docus": "^1.15.1", 14 | "nuxt": "^3.15.1" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /docs/public/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fedorae-com/nuxt-uikit/dda6bb990b913f4cc16d8f731df38cc717ac09d7/docs/public/android-chrome-192x192.png -------------------------------------------------------------------------------- /docs/public/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fedorae-com/nuxt-uikit/dda6bb990b913f4cc16d8f731df38cc717ac09d7/docs/public/android-chrome-512x512.png -------------------------------------------------------------------------------- /docs/public/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fedorae-com/nuxt-uikit/dda6bb990b913f4cc16d8f731df38cc717ac09d7/docs/public/apple-touch-icon.png -------------------------------------------------------------------------------- /docs/public/cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fedorae-com/nuxt-uikit/dda6bb990b913f4cc16d8f731df38cc717ac09d7/docs/public/cover.png -------------------------------------------------------------------------------- /docs/public/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fedorae-com/nuxt-uikit/dda6bb990b913f4cc16d8f731df38cc717ac09d7/docs/public/favicon-16x16.png -------------------------------------------------------------------------------- /docs/public/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fedorae-com/nuxt-uikit/dda6bb990b913f4cc16d8f731df38cc717ac09d7/docs/public/favicon-32x32.png -------------------------------------------------------------------------------- /docs/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fedorae-com/nuxt-uikit/dda6bb990b913f4cc16d8f731df38cc717ac09d7/docs/public/favicon.ico -------------------------------------------------------------------------------- /docs/public/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fedorae-com/nuxt-uikit/dda6bb990b913f4cc16d8f731df38cc717ac09d7/docs/public/favicon.png -------------------------------------------------------------------------------- /docs/public/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fedorae-com/nuxt-uikit/dda6bb990b913f4cc16d8f731df38cc717ac09d7/docs/public/icon.png -------------------------------------------------------------------------------- /docs/public/logo-dark.svg: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | 15 | 16 | -------------------------------------------------------------------------------- /docs/public/logo-light.svg: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | 15 | 16 | -------------------------------------------------------------------------------- /docs/public/nuxt-uikit-cover-template.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fedorae-com/nuxt-uikit/dda6bb990b913f4cc16d8f731df38cc717ac09d7/docs/public/nuxt-uikit-cover-template.png -------------------------------------------------------------------------------- /docs/public/nuxt-uikit-devtools-integration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fedorae-com/nuxt-uikit/dda6bb990b913f4cc16d8f731df38cc717ac09d7/docs/public/nuxt-uikit-devtools-integration.png -------------------------------------------------------------------------------- /docs/public/preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fedorae-com/nuxt-uikit/dda6bb990b913f4cc16d8f731df38cc717ac09d7/docs/public/preview.png -------------------------------------------------------------------------------- /docs/public/site.webmanifest: -------------------------------------------------------------------------------- 1 | { 2 | "name": "", 3 | "short_name": "", 4 | "icons": [ 5 | { 6 | "src": "/icon.png", 7 | "sizes": "192x192", 8 | "type": "image/png" 9 | }, 10 | { 11 | "src": "/icon.png", 12 | "sizes": "512x512", 13 | "type": "image/png" 14 | } 15 | ], 16 | "theme_color": "#ffffff", 17 | "background_color": "#ffffff", 18 | "display": "standalone" 19 | } 20 | -------------------------------------------------------------------------------- /docs/renovate.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ 3 | "@nuxtjs" 4 | ], 5 | "lockFileMaintenance": { 6 | "enabled": true 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /docs/tokens.config.ts: -------------------------------------------------------------------------------- 1 | import { defineTheme } from 'pinceau' 2 | 3 | export default defineTheme({ 4 | colors: { 5 | primary: '' 6 | } 7 | }) 8 | -------------------------------------------------------------------------------- /docs/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./.nuxt/tsconfig.json" 3 | } 4 | -------------------------------------------------------------------------------- /eslint.config.js: -------------------------------------------------------------------------------- 1 | export default [ 2 | { 3 | ignores: ['dist/*', 'node_modules/*', 'src/runtime/public/*', 'test/*'], 4 | }, 5 | ] 6 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@fedorae/nuxt-uikit", 3 | "version": "3.1.13", 4 | "description": "UIkit module for Nuxt", 5 | "repository": "https://github.com/fedorae-com/nuxt-uikit", 6 | "license": "MIT", 7 | "type": "module", 8 | "private": false, 9 | "exports": { 10 | ".": { 11 | "types": "./dist/types.d.ts", 12 | "import": "./dist/module.mjs", 13 | "require": "./dist/module.cjs" 14 | } 15 | }, 16 | "main": "./dist/module.cjs", 17 | "types": "./dist/types.d.ts", 18 | "files": [ 19 | "dist" 20 | ], 21 | "scripts": { 22 | "prepack": "nuxt-module-build", 23 | "dev": "nuxi dev playground", 24 | "dev:build": "nuxi build playground", 25 | "dev:prepare": "nuxt-module-build --stub && nuxi prepare playground && yarn uikit", 26 | "release": "yarn lint && yarn test && yarn prepack && changelogen --release && yarn publish && git push --follow-tags", 27 | "upgrade-uikit": "yarn upgrade uikit && cp node_modules/uikit/dist/js/uikit.min.js src/runtime/public/ && cp node_modules/uikit/dist/js/uikit-icons.min.js src/runtime/public/", 28 | "clean": "rm -rf .nuxt && rm -rf node_modules && rm -rf yarn.lock", 29 | "lint": "eslint .", 30 | "test": "vitest run", 31 | "test:watch": "vitest watch" 32 | }, 33 | "dependencies": { 34 | "@nuxt/devtools-kit": "^1.7.0", 35 | "@nuxt/kit": "^3.15.1", 36 | "uikit": "^3.21.13" 37 | }, 38 | "devDependencies": { 39 | "@nuxt/devtools": "^1.7.0", 40 | "@nuxt/eslint-config": "^0.7.5", 41 | "@nuxt/module-builder": "^0.8.4", 42 | "@nuxt/schema": "^3.15.1", 43 | "@nuxt/test-utils": "^3.15.3", 44 | "@types/uikit": "^3.14.5", 45 | "@vitejs/plugin-vue": "^5.2.1", 46 | "@vue/test-utils": "^2.4.6", 47 | "changelogen": "^0.5.7", 48 | "eslint": "^9.18.0", 49 | "happy-dom": "^15.11.7", 50 | "nuxt": "^3.15.1", 51 | "typescript": "^5.7.3", 52 | "vitest": "^2.1.8" 53 | }, 54 | "keywords": [ 55 | "nuxt", 56 | "uikit", 57 | "module" 58 | ] 59 | } 60 | -------------------------------------------------------------------------------- /playground/app.vue: -------------------------------------------------------------------------------- 1 | 87 | 88 | 98 | -------------------------------------------------------------------------------- /playground/nuxt.config.ts: -------------------------------------------------------------------------------- 1 | export default defineNuxtConfig({ 2 | devtools: { enabled: true }, 3 | modules: ['../src/module'], 4 | compatibilityDate: '2024-11-18', 5 | }) -------------------------------------------------------------------------------- /playground/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "name": "uikit-module-playground" 4 | } 5 | -------------------------------------------------------------------------------- /src/module.ts: -------------------------------------------------------------------------------- 1 | import { fileURLToPath } from 'url' 2 | import { defineNuxtModule, createResolver, addPlugin } from '@nuxt/kit' 3 | import { addCustomTab } from '@nuxt/devtools-kit' 4 | import { name, version } from '../package.json' 5 | 6 | export interface ModuleOptions {} 7 | 8 | export default defineNuxtModule({ 9 | meta: { 10 | name, 11 | version, 12 | configKey: 'uikit', 13 | }, 14 | defaults: {}, 15 | setup(options, nuxt) { 16 | const { resolve } = createResolver(import.meta.url) 17 | const useNuxtMeta = (fn: Function) => fn(nuxt.options.app.head) 18 | 19 | const runtimeDir = fileURLToPath(new URL('./runtime', import.meta.url)) 20 | nuxt.options.build.transpile.push(runtimeDir) 21 | 22 | nuxt.options.css = nuxt.options.css ?? [] 23 | nuxt.options.css.push('uikit/dist/css/uikit.min.css') 24 | 25 | nuxt.hook('nitro:config', (nitroConfig) => { 26 | nitroConfig.publicAssets ||= [] 27 | nitroConfig.publicAssets.push({ 28 | dir: resolve('./runtime/public'), 29 | maxAge: 60 * 60 * 24 * 365 // 1 year 30 | }) 31 | }) 32 | 33 | addPlugin(resolve(runtimeDir, 'plugin')) 34 | 35 | if (nuxt.options.devtools && nuxt.options.dev) { 36 | addCustomTab({ 37 | name: 'nuxt-uikit', 38 | title: 'UIkit', 39 | icon: 'logos:uikit', 40 | view: { 41 | type: 'iframe', 42 | src: 'https://getuikit.com', 43 | }, 44 | }) 45 | } 46 | 47 | useNuxtMeta((head: any) => { 48 | head.script = head.script ?? [] 49 | head.script.push( 50 | { 51 | defer: true, 52 | src: '/uikit.min.js' 53 | }, 54 | { 55 | defer: true, 56 | src: '/uikit-icons.min.js' 57 | } 58 | ) 59 | }) 60 | }, 61 | }) -------------------------------------------------------------------------------- /src/runtime/plugin.ts: -------------------------------------------------------------------------------- 1 | import { defineNuxtPlugin } from '#app' 2 | 3 | export default defineNuxtPlugin(() => {}) 4 | -------------------------------------------------------------------------------- /src/runtime/public/uikit-icons.min.js: -------------------------------------------------------------------------------- 1 | /*! UIkit 3.22.0 | https://www.getuikit.com | (c) 2014 - 2025 YOOtheme | MIT License */(function(e,i){typeof exports=="object"&&typeof module<"u"?module.exports=i():typeof define=="function"&&define.amd?define("uikiticons",i):(e=typeof globalThis<"u"?globalThis:e||self,e.UIkitIcons=i())})(this,function(){"use strict";function e(i){e.installed||i.icon.add({youtube:'',yootheme:'',yelp:'',xing:'',x:'',world:'',wordpress:'',whatsapp:'',warning:'',vimeo:'',"video-camera":'',users:'',user:'',upload:'',unlock:'',uikit:'',twitter:'',twitch:'',tv:'',tumblr:'',tripadvisor:'',"triangle-up":'',"triangle-right":'',"triangle-left":'',"triangle-down":'',trash:'',tiktok:'',thumbnails:'',threads:'',telegram:'',tag:'',tablet:'',"tablet-landscape":'',table:'',strikethrough:'',star:'',soundcloud:'',sorting:'',social:'',signal:'',"sign-out":'',"sign-in":'',shrink:'',settings:'',server:'',search:'',rss:'',reply:'',refresh:'',reddit:'',receiver:'',"quote-right":'',question:'',push:'',pull:'',print:'',plus:'',"plus-circle":'',play:'',"play-circle":'',pinterest:'',phone:'',"phone-landscape":'',pencil:'',"paint-bucket":'',nut:'',move:'',more:'',"more-vertical":'',minus:'',"minus-circle":'',microsoft:'',microphone:'',menu:'',mastodon:'',mail:'',lock:'',location:'',list:'',linkedin:'',link:'',"link-external":'',lifesaver:'',laptop:'',joomla:'',italic:'',instagram:'',info:'',image:'',home:'',history:'',heart:'',hashtag:'',happy:'',grid:'',google:'',gitter:'',github:'',"github-alt":'',"git-fork":'',"git-branch":'',future:'',foursquare:'',forward:'',folder:'',flickr:'',file:'',"file-text":'',"file-pdf":'',"file-edit":'',facebook:'',eye:'',"eye-slash":'',expand:'',etsy:'',dribbble:'',download:'',discord:'',desktop:'',database:'',crosshairs:'',"credit-card":'',copy:'',comments:'',commenting:'',comment:'',cog:'',code:'',"cloud-upload":'',"cloud-download":'',close:'',"close-circle":'',clock:'',"chevron-up":'',"chevron-right":'',"chevron-left":'',"chevron-down":'',"chevron-double-right":'',"chevron-double-left":'',check:'',cart:'',camera:'',calendar:'',bookmark:'',bolt:'',bold:'',bluesky:'',bell:'',behance:'',ban:'',bag:'',"arrow-up":'',"arrow-up-right":'',"arrow-right":'',"arrow-left":'',"arrow-down":'',"arrow-down-arrow-up":'',apple:'',android:'',"android-robot":'',album:'',"500px":''})}return typeof window<"u"&&window.UIkit&&window.UIkit.use(e),e}); 2 | -------------------------------------------------------------------------------- /test/basic.test.ts: -------------------------------------------------------------------------------- 1 | import { describe, it, expect } from 'vitest' 2 | import { fileURLToPath } from 'node:url' 3 | import { setup, $fetch } from '@nuxt/test-utils' 4 | import { mount } from '@vue/test-utils' 5 | 6 | // @ts-ignore 7 | import App from '../test/fixtures/basic/app.vue' 8 | 9 | // @vitest-environment happy-dom 10 | 11 | describe('main', async () => { 12 | const baseUrl = import.meta.url 13 | const filePath = new URL('./fixtures/basic', baseUrl) 14 | 15 | await setup({ 16 | rootDir: fileURLToPath(filePath) 17 | }) 18 | 19 | it('renders the GitHub icon', async () => { 20 | const wrapper = mount(App) 21 | const element = wrapper.find('#iconEl') 22 | const offcanvasTitleElement = wrapper.find('#offcanvas-title') 23 | expect(element.exists()).toBeTruthy() 24 | 25 | // Offcanvas is shown 26 | expect(offcanvasTitleElement.exists()).toBeTruthy() 27 | 28 | // element has class 29 | expect(element.classes()).toEqual(expect.arrayContaining(['uk-icon-button'])) 30 | }) 31 | }) 32 | -------------------------------------------------------------------------------- /test/fixtures/basic/app.vue: -------------------------------------------------------------------------------- 1 | 11 | 12 | 98 | -------------------------------------------------------------------------------- /test/fixtures/basic/nuxt.config.ts: -------------------------------------------------------------------------------- 1 | import uikit from '../../../src/module' 2 | 3 | export default defineNuxtConfig({ 4 | modules: [ 5 | uikit 6 | ] 7 | }) 8 | -------------------------------------------------------------------------------- /test/fixtures/basic/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "name": "basic", 4 | "type": "module" 5 | } 6 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./playground/.nuxt/tsconfig.json", 3 | "compilerOptions": { 4 | "module": "esnext" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from "vite"; 2 | import vue from "@vitejs/plugin-vue"; 3 | 4 | export default defineConfig({ 5 | plugins: [vue()], 6 | }); 7 | 8 | --------------------------------------------------------------------------------