├── .gitignore ├── .vscode └── extensions.json ├── README.md ├── index.html ├── package-lock.json ├── package.json ├── public └── vite.svg ├── src ├── App.vue ├── assets │ └── vue.svg ├── components │ └── FccButton.vue ├── index.ts ├── main.ts ├── style.css └── vite-env.d.ts ├── tsconfig.json ├── tsconfig.node.json └── vite.config.ts /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": ["Vue.volar", "Vue.vscode-typescript-vue-plugin"] 3 | } 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Vue 3 + TypeScript + Vite 2 | 3 | This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 ` 12 | 13 | 14 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "brian-component-lib", 3 | "version": "1.0.0", 4 | "lockfileVersion": 3, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "brian-component-lib", 9 | "version": "1.0.0", 10 | "dependencies": { 11 | "test-component-lib": "file:../test-component-lib", 12 | "vue": "^3.2.47" 13 | }, 14 | "devDependencies": { 15 | "@types/node": "^20.2.5", 16 | "@vitejs/plugin-vue": "^4.2.3", 17 | "typescript": "^5.0.2", 18 | "vite": "^4.3.9", 19 | "vue-tsc": "^1.4.2" 20 | } 21 | }, 22 | "node_modules/@babel/parser": { 23 | "version": "7.22.3", 24 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.3.tgz", 25 | "integrity": "sha512-vrukxyW/ep8UD1UDzOYpTKQ6abgjFoeG6L+4ar9+c5TN9QnlqiOi6QK7LSR5ewm/ERyGkT/Ai6VboNrxhbr9Uw==", 26 | "bin": { 27 | "parser": "bin/babel-parser.js" 28 | }, 29 | "engines": { 30 | "node": ">=6.0.0" 31 | } 32 | }, 33 | "node_modules/@esbuild/android-arm": { 34 | "version": "0.17.19", 35 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz", 36 | "integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==", 37 | "cpu": [ 38 | "arm" 39 | ], 40 | "dev": true, 41 | "optional": true, 42 | "os": [ 43 | "android" 44 | ], 45 | "engines": { 46 | "node": ">=12" 47 | } 48 | }, 49 | "node_modules/@esbuild/android-arm64": { 50 | "version": "0.17.19", 51 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz", 52 | "integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==", 53 | "cpu": [ 54 | "arm64" 55 | ], 56 | "dev": true, 57 | "optional": true, 58 | "os": [ 59 | "android" 60 | ], 61 | "engines": { 62 | "node": ">=12" 63 | } 64 | }, 65 | "node_modules/@esbuild/android-x64": { 66 | "version": "0.17.19", 67 | "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz", 68 | "integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==", 69 | "cpu": [ 70 | "x64" 71 | ], 72 | "dev": true, 73 | "optional": true, 74 | "os": [ 75 | "android" 76 | ], 77 | "engines": { 78 | "node": ">=12" 79 | } 80 | }, 81 | "node_modules/@esbuild/darwin-arm64": { 82 | "version": "0.17.19", 83 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz", 84 | "integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==", 85 | "cpu": [ 86 | "arm64" 87 | ], 88 | "dev": true, 89 | "optional": true, 90 | "os": [ 91 | "darwin" 92 | ], 93 | "engines": { 94 | "node": ">=12" 95 | } 96 | }, 97 | "node_modules/@esbuild/darwin-x64": { 98 | "version": "0.17.19", 99 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz", 100 | "integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==", 101 | "cpu": [ 102 | "x64" 103 | ], 104 | "dev": true, 105 | "optional": true, 106 | "os": [ 107 | "darwin" 108 | ], 109 | "engines": { 110 | "node": ">=12" 111 | } 112 | }, 113 | "node_modules/@esbuild/freebsd-arm64": { 114 | "version": "0.17.19", 115 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz", 116 | "integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==", 117 | "cpu": [ 118 | "arm64" 119 | ], 120 | "dev": true, 121 | "optional": true, 122 | "os": [ 123 | "freebsd" 124 | ], 125 | "engines": { 126 | "node": ">=12" 127 | } 128 | }, 129 | "node_modules/@esbuild/freebsd-x64": { 130 | "version": "0.17.19", 131 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz", 132 | "integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==", 133 | "cpu": [ 134 | "x64" 135 | ], 136 | "dev": true, 137 | "optional": true, 138 | "os": [ 139 | "freebsd" 140 | ], 141 | "engines": { 142 | "node": ">=12" 143 | } 144 | }, 145 | "node_modules/@esbuild/linux-arm": { 146 | "version": "0.17.19", 147 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz", 148 | "integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==", 149 | "cpu": [ 150 | "arm" 151 | ], 152 | "dev": true, 153 | "optional": true, 154 | "os": [ 155 | "linux" 156 | ], 157 | "engines": { 158 | "node": ">=12" 159 | } 160 | }, 161 | "node_modules/@esbuild/linux-arm64": { 162 | "version": "0.17.19", 163 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz", 164 | "integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==", 165 | "cpu": [ 166 | "arm64" 167 | ], 168 | "dev": true, 169 | "optional": true, 170 | "os": [ 171 | "linux" 172 | ], 173 | "engines": { 174 | "node": ">=12" 175 | } 176 | }, 177 | "node_modules/@esbuild/linux-ia32": { 178 | "version": "0.17.19", 179 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz", 180 | "integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==", 181 | "cpu": [ 182 | "ia32" 183 | ], 184 | "dev": true, 185 | "optional": true, 186 | "os": [ 187 | "linux" 188 | ], 189 | "engines": { 190 | "node": ">=12" 191 | } 192 | }, 193 | "node_modules/@esbuild/linux-loong64": { 194 | "version": "0.17.19", 195 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz", 196 | "integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==", 197 | "cpu": [ 198 | "loong64" 199 | ], 200 | "dev": true, 201 | "optional": true, 202 | "os": [ 203 | "linux" 204 | ], 205 | "engines": { 206 | "node": ">=12" 207 | } 208 | }, 209 | "node_modules/@esbuild/linux-mips64el": { 210 | "version": "0.17.19", 211 | "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz", 212 | "integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==", 213 | "cpu": [ 214 | "mips64el" 215 | ], 216 | "dev": true, 217 | "optional": true, 218 | "os": [ 219 | "linux" 220 | ], 221 | "engines": { 222 | "node": ">=12" 223 | } 224 | }, 225 | "node_modules/@esbuild/linux-ppc64": { 226 | "version": "0.17.19", 227 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz", 228 | "integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==", 229 | "cpu": [ 230 | "ppc64" 231 | ], 232 | "dev": true, 233 | "optional": true, 234 | "os": [ 235 | "linux" 236 | ], 237 | "engines": { 238 | "node": ">=12" 239 | } 240 | }, 241 | "node_modules/@esbuild/linux-riscv64": { 242 | "version": "0.17.19", 243 | "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz", 244 | "integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==", 245 | "cpu": [ 246 | "riscv64" 247 | ], 248 | "dev": true, 249 | "optional": true, 250 | "os": [ 251 | "linux" 252 | ], 253 | "engines": { 254 | "node": ">=12" 255 | } 256 | }, 257 | "node_modules/@esbuild/linux-s390x": { 258 | "version": "0.17.19", 259 | "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz", 260 | "integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==", 261 | "cpu": [ 262 | "s390x" 263 | ], 264 | "dev": true, 265 | "optional": true, 266 | "os": [ 267 | "linux" 268 | ], 269 | "engines": { 270 | "node": ">=12" 271 | } 272 | }, 273 | "node_modules/@esbuild/linux-x64": { 274 | "version": "0.17.19", 275 | "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz", 276 | "integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==", 277 | "cpu": [ 278 | "x64" 279 | ], 280 | "dev": true, 281 | "optional": true, 282 | "os": [ 283 | "linux" 284 | ], 285 | "engines": { 286 | "node": ">=12" 287 | } 288 | }, 289 | "node_modules/@esbuild/netbsd-x64": { 290 | "version": "0.17.19", 291 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz", 292 | "integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==", 293 | "cpu": [ 294 | "x64" 295 | ], 296 | "dev": true, 297 | "optional": true, 298 | "os": [ 299 | "netbsd" 300 | ], 301 | "engines": { 302 | "node": ">=12" 303 | } 304 | }, 305 | "node_modules/@esbuild/openbsd-x64": { 306 | "version": "0.17.19", 307 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz", 308 | "integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==", 309 | "cpu": [ 310 | "x64" 311 | ], 312 | "dev": true, 313 | "optional": true, 314 | "os": [ 315 | "openbsd" 316 | ], 317 | "engines": { 318 | "node": ">=12" 319 | } 320 | }, 321 | "node_modules/@esbuild/sunos-x64": { 322 | "version": "0.17.19", 323 | "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz", 324 | "integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==", 325 | "cpu": [ 326 | "x64" 327 | ], 328 | "dev": true, 329 | "optional": true, 330 | "os": [ 331 | "sunos" 332 | ], 333 | "engines": { 334 | "node": ">=12" 335 | } 336 | }, 337 | "node_modules/@esbuild/win32-arm64": { 338 | "version": "0.17.19", 339 | "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz", 340 | "integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==", 341 | "cpu": [ 342 | "arm64" 343 | ], 344 | "dev": true, 345 | "optional": true, 346 | "os": [ 347 | "win32" 348 | ], 349 | "engines": { 350 | "node": ">=12" 351 | } 352 | }, 353 | "node_modules/@esbuild/win32-ia32": { 354 | "version": "0.17.19", 355 | "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz", 356 | "integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==", 357 | "cpu": [ 358 | "ia32" 359 | ], 360 | "dev": true, 361 | "optional": true, 362 | "os": [ 363 | "win32" 364 | ], 365 | "engines": { 366 | "node": ">=12" 367 | } 368 | }, 369 | "node_modules/@esbuild/win32-x64": { 370 | "version": "0.17.19", 371 | "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz", 372 | "integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==", 373 | "cpu": [ 374 | "x64" 375 | ], 376 | "dev": true, 377 | "optional": true, 378 | "os": [ 379 | "win32" 380 | ], 381 | "engines": { 382 | "node": ">=12" 383 | } 384 | }, 385 | "node_modules/@jridgewell/sourcemap-codec": { 386 | "version": "1.4.15", 387 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", 388 | "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" 389 | }, 390 | "node_modules/@types/node": { 391 | "version": "20.2.5", 392 | "resolved": "https://registry.npmjs.org/@types/node/-/node-20.2.5.tgz", 393 | "integrity": "sha512-JJulVEQXmiY9Px5axXHeYGLSjhkZEnD+MDPDGbCbIAbMslkKwmygtZFy1X6s/075Yo94sf8GuSlFfPzysQrWZQ==" 394 | }, 395 | "node_modules/@vitejs/plugin-vue": { 396 | "version": "4.2.3", 397 | "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.2.3.tgz", 398 | "integrity": "sha512-R6JDUfiZbJA9cMiguQ7jxALsgiprjBeHL5ikpXfJCH62pPHtI+JdJ5xWj6Ev73yXSlYl86+blXn1kZHQ7uElxw==", 399 | "dev": true, 400 | "engines": { 401 | "node": "^14.18.0 || >=16.0.0" 402 | }, 403 | "peerDependencies": { 404 | "vite": "^4.0.0", 405 | "vue": "^3.2.25" 406 | } 407 | }, 408 | "node_modules/@volar/language-core": { 409 | "version": "1.4.1", 410 | "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-1.4.1.tgz", 411 | "integrity": "sha512-EIY+Swv+TjsWpxOxujjMf1ZXqOjg9MT2VMXZ+1dKva0wD8W0L6EtptFFcCJdBbcKmGMFkr57Qzz9VNMWhs3jXQ==", 412 | "dev": true, 413 | "dependencies": { 414 | "@volar/source-map": "1.4.1" 415 | } 416 | }, 417 | "node_modules/@volar/source-map": { 418 | "version": "1.4.1", 419 | "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.4.1.tgz", 420 | "integrity": "sha512-bZ46ad72dsbzuOWPUtJjBXkzSQzzSejuR3CT81+GvTEI2E994D8JPXzM3tl98zyCNnjgs4OkRyliImL1dvJ5BA==", 421 | "dev": true, 422 | "dependencies": { 423 | "muggle-string": "^0.2.2" 424 | } 425 | }, 426 | "node_modules/@volar/typescript": { 427 | "version": "1.4.1-patch.2", 428 | "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-1.4.1-patch.2.tgz", 429 | "integrity": "sha512-lPFYaGt8OdMEzNGJJChF40uYqMO4Z/7Q9fHPQC/NRVtht43KotSXLrkPandVVMf9aPbiJ059eAT+fwHGX16k4w==", 430 | "dev": true, 431 | "dependencies": { 432 | "@volar/language-core": "1.4.1" 433 | }, 434 | "peerDependencies": { 435 | "typescript": "*" 436 | } 437 | }, 438 | "node_modules/@volar/vue-language-core": { 439 | "version": "1.6.5", 440 | "resolved": "https://registry.npmjs.org/@volar/vue-language-core/-/vue-language-core-1.6.5.tgz", 441 | "integrity": "sha512-IF2b6hW4QAxfsLd5mePmLgtkXzNi+YnH6ltCd80gb7+cbdpFMjM1I+w+nSg2kfBTyfu+W8useCZvW89kPTBpzg==", 442 | "dev": true, 443 | "dependencies": { 444 | "@volar/language-core": "1.4.1", 445 | "@volar/source-map": "1.4.1", 446 | "@vue/compiler-dom": "^3.3.0", 447 | "@vue/compiler-sfc": "^3.3.0", 448 | "@vue/reactivity": "^3.3.0", 449 | "@vue/shared": "^3.3.0", 450 | "minimatch": "^9.0.0", 451 | "muggle-string": "^0.2.2", 452 | "vue-template-compiler": "^2.7.14" 453 | } 454 | }, 455 | "node_modules/@volar/vue-typescript": { 456 | "version": "1.6.5", 457 | "resolved": "https://registry.npmjs.org/@volar/vue-typescript/-/vue-typescript-1.6.5.tgz", 458 | "integrity": "sha512-er9rVClS4PHztMUmtPMDTl+7c7JyrxweKSAEe/o/Noeq2bQx6v3/jZHVHBe8ZNUti5ubJL/+Tg8L3bzmlalV8A==", 459 | "dev": true, 460 | "dependencies": { 461 | "@volar/typescript": "1.4.1-patch.2", 462 | "@volar/vue-language-core": "1.6.5" 463 | }, 464 | "peerDependencies": { 465 | "typescript": "*" 466 | } 467 | }, 468 | "node_modules/@vue/compiler-core": { 469 | "version": "3.3.4", 470 | "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.4.tgz", 471 | "integrity": "sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==", 472 | "dependencies": { 473 | "@babel/parser": "^7.21.3", 474 | "@vue/shared": "3.3.4", 475 | "estree-walker": "^2.0.2", 476 | "source-map-js": "^1.0.2" 477 | } 478 | }, 479 | "node_modules/@vue/compiler-dom": { 480 | "version": "3.3.4", 481 | "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz", 482 | "integrity": "sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==", 483 | "dependencies": { 484 | "@vue/compiler-core": "3.3.4", 485 | "@vue/shared": "3.3.4" 486 | } 487 | }, 488 | "node_modules/@vue/compiler-sfc": { 489 | "version": "3.3.4", 490 | "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz", 491 | "integrity": "sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==", 492 | "dependencies": { 493 | "@babel/parser": "^7.20.15", 494 | "@vue/compiler-core": "3.3.4", 495 | "@vue/compiler-dom": "3.3.4", 496 | "@vue/compiler-ssr": "3.3.4", 497 | "@vue/reactivity-transform": "3.3.4", 498 | "@vue/shared": "3.3.4", 499 | "estree-walker": "^2.0.2", 500 | "magic-string": "^0.30.0", 501 | "postcss": "^8.1.10", 502 | "source-map-js": "^1.0.2" 503 | } 504 | }, 505 | "node_modules/@vue/compiler-ssr": { 506 | "version": "3.3.4", 507 | "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz", 508 | "integrity": "sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==", 509 | "dependencies": { 510 | "@vue/compiler-dom": "3.3.4", 511 | "@vue/shared": "3.3.4" 512 | } 513 | }, 514 | "node_modules/@vue/reactivity": { 515 | "version": "3.3.4", 516 | "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.4.tgz", 517 | "integrity": "sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==", 518 | "dependencies": { 519 | "@vue/shared": "3.3.4" 520 | } 521 | }, 522 | "node_modules/@vue/reactivity-transform": { 523 | "version": "3.3.4", 524 | "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz", 525 | "integrity": "sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==", 526 | "dependencies": { 527 | "@babel/parser": "^7.20.15", 528 | "@vue/compiler-core": "3.3.4", 529 | "@vue/shared": "3.3.4", 530 | "estree-walker": "^2.0.2", 531 | "magic-string": "^0.30.0" 532 | } 533 | }, 534 | "node_modules/@vue/runtime-core": { 535 | "version": "3.3.4", 536 | "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.4.tgz", 537 | "integrity": "sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==", 538 | "dependencies": { 539 | "@vue/reactivity": "3.3.4", 540 | "@vue/shared": "3.3.4" 541 | } 542 | }, 543 | "node_modules/@vue/runtime-dom": { 544 | "version": "3.3.4", 545 | "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz", 546 | "integrity": "sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==", 547 | "dependencies": { 548 | "@vue/runtime-core": "3.3.4", 549 | "@vue/shared": "3.3.4", 550 | "csstype": "^3.1.1" 551 | } 552 | }, 553 | "node_modules/@vue/server-renderer": { 554 | "version": "3.3.4", 555 | "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.4.tgz", 556 | "integrity": "sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==", 557 | "dependencies": { 558 | "@vue/compiler-ssr": "3.3.4", 559 | "@vue/shared": "3.3.4" 560 | }, 561 | "peerDependencies": { 562 | "vue": "3.3.4" 563 | } 564 | }, 565 | "node_modules/@vue/shared": { 566 | "version": "3.3.4", 567 | "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.4.tgz", 568 | "integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==" 569 | }, 570 | "node_modules/balanced-match": { 571 | "version": "1.0.2", 572 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 573 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 574 | "dev": true 575 | }, 576 | "node_modules/brace-expansion": { 577 | "version": "2.0.1", 578 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", 579 | "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", 580 | "dev": true, 581 | "dependencies": { 582 | "balanced-match": "^1.0.0" 583 | } 584 | }, 585 | "node_modules/csstype": { 586 | "version": "3.1.2", 587 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", 588 | "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" 589 | }, 590 | "node_modules/de-indent": { 591 | "version": "1.0.2", 592 | "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", 593 | "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", 594 | "dev": true 595 | }, 596 | "node_modules/esbuild": { 597 | "version": "0.17.19", 598 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz", 599 | "integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==", 600 | "dev": true, 601 | "hasInstallScript": true, 602 | "bin": { 603 | "esbuild": "bin/esbuild" 604 | }, 605 | "engines": { 606 | "node": ">=12" 607 | }, 608 | "optionalDependencies": { 609 | "@esbuild/android-arm": "0.17.19", 610 | "@esbuild/android-arm64": "0.17.19", 611 | "@esbuild/android-x64": "0.17.19", 612 | "@esbuild/darwin-arm64": "0.17.19", 613 | "@esbuild/darwin-x64": "0.17.19", 614 | "@esbuild/freebsd-arm64": "0.17.19", 615 | "@esbuild/freebsd-x64": "0.17.19", 616 | "@esbuild/linux-arm": "0.17.19", 617 | "@esbuild/linux-arm64": "0.17.19", 618 | "@esbuild/linux-ia32": "0.17.19", 619 | "@esbuild/linux-loong64": "0.17.19", 620 | "@esbuild/linux-mips64el": "0.17.19", 621 | "@esbuild/linux-ppc64": "0.17.19", 622 | "@esbuild/linux-riscv64": "0.17.19", 623 | "@esbuild/linux-s390x": "0.17.19", 624 | "@esbuild/linux-x64": "0.17.19", 625 | "@esbuild/netbsd-x64": "0.17.19", 626 | "@esbuild/openbsd-x64": "0.17.19", 627 | "@esbuild/sunos-x64": "0.17.19", 628 | "@esbuild/win32-arm64": "0.17.19", 629 | "@esbuild/win32-ia32": "0.17.19", 630 | "@esbuild/win32-x64": "0.17.19" 631 | } 632 | }, 633 | "node_modules/estree-walker": { 634 | "version": "2.0.2", 635 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", 636 | "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" 637 | }, 638 | "node_modules/fsevents": { 639 | "version": "2.3.2", 640 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 641 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 642 | "dev": true, 643 | "hasInstallScript": true, 644 | "optional": true, 645 | "os": [ 646 | "darwin" 647 | ], 648 | "engines": { 649 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 650 | } 651 | }, 652 | "node_modules/he": { 653 | "version": "1.2.0", 654 | "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", 655 | "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", 656 | "dev": true, 657 | "bin": { 658 | "he": "bin/he" 659 | } 660 | }, 661 | "node_modules/lru-cache": { 662 | "version": "6.0.0", 663 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", 664 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", 665 | "dev": true, 666 | "dependencies": { 667 | "yallist": "^4.0.0" 668 | }, 669 | "engines": { 670 | "node": ">=10" 671 | } 672 | }, 673 | "node_modules/magic-string": { 674 | "version": "0.30.0", 675 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.0.tgz", 676 | "integrity": "sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==", 677 | "dependencies": { 678 | "@jridgewell/sourcemap-codec": "^1.4.13" 679 | }, 680 | "engines": { 681 | "node": ">=12" 682 | } 683 | }, 684 | "node_modules/minimatch": { 685 | "version": "9.0.1", 686 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", 687 | "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", 688 | "dev": true, 689 | "dependencies": { 690 | "brace-expansion": "^2.0.1" 691 | }, 692 | "engines": { 693 | "node": ">=16 || 14 >=14.17" 694 | }, 695 | "funding": { 696 | "url": "https://github.com/sponsors/isaacs" 697 | } 698 | }, 699 | "node_modules/muggle-string": { 700 | "version": "0.2.2", 701 | "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.2.2.tgz", 702 | "integrity": "sha512-YVE1mIJ4VpUMqZObFndk9CJu6DBJR/GB13p3tXuNbwD4XExaI5EOuRl6BHeIDxIqXZVxSfAC+y6U1Z/IxCfKUg==", 703 | "dev": true 704 | }, 705 | "node_modules/nanoid": { 706 | "version": "3.3.6", 707 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", 708 | "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", 709 | "funding": [ 710 | { 711 | "type": "github", 712 | "url": "https://github.com/sponsors/ai" 713 | } 714 | ], 715 | "bin": { 716 | "nanoid": "bin/nanoid.cjs" 717 | }, 718 | "engines": { 719 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 720 | } 721 | }, 722 | "node_modules/picocolors": { 723 | "version": "1.0.0", 724 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 725 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" 726 | }, 727 | "node_modules/postcss": { 728 | "version": "8.4.24", 729 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.24.tgz", 730 | "integrity": "sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==", 731 | "funding": [ 732 | { 733 | "type": "opencollective", 734 | "url": "https://opencollective.com/postcss/" 735 | }, 736 | { 737 | "type": "tidelift", 738 | "url": "https://tidelift.com/funding/github/npm/postcss" 739 | }, 740 | { 741 | "type": "github", 742 | "url": "https://github.com/sponsors/ai" 743 | } 744 | ], 745 | "dependencies": { 746 | "nanoid": "^3.3.6", 747 | "picocolors": "^1.0.0", 748 | "source-map-js": "^1.0.2" 749 | }, 750 | "engines": { 751 | "node": "^10 || ^12 || >=14" 752 | } 753 | }, 754 | "node_modules/rollup": { 755 | "version": "3.23.0", 756 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.23.0.tgz", 757 | "integrity": "sha512-h31UlwEi7FHihLe1zbk+3Q7z1k/84rb9BSwmBSr/XjOCEaBJ2YyedQDuM0t/kfOS0IxM+vk1/zI9XxYj9V+NJQ==", 758 | "dev": true, 759 | "bin": { 760 | "rollup": "dist/bin/rollup" 761 | }, 762 | "engines": { 763 | "node": ">=14.18.0", 764 | "npm": ">=8.0.0" 765 | }, 766 | "optionalDependencies": { 767 | "fsevents": "~2.3.2" 768 | } 769 | }, 770 | "node_modules/semver": { 771 | "version": "7.5.1", 772 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", 773 | "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", 774 | "dev": true, 775 | "dependencies": { 776 | "lru-cache": "^6.0.0" 777 | }, 778 | "bin": { 779 | "semver": "bin/semver.js" 780 | }, 781 | "engines": { 782 | "node": ">=10" 783 | } 784 | }, 785 | "node_modules/source-map-js": { 786 | "version": "1.0.2", 787 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", 788 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", 789 | "engines": { 790 | "node": ">=0.10.0" 791 | } 792 | }, 793 | "node_modules/test-component-lib": { 794 | "version": "0.0.0", 795 | "resolved": "file:../test-component-lib", 796 | "dependencies": { 797 | "@types/node": "^20.2.5", 798 | "vue": "^3.2.47" 799 | } 800 | }, 801 | "node_modules/typescript": { 802 | "version": "5.0.4", 803 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", 804 | "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", 805 | "dev": true, 806 | "bin": { 807 | "tsc": "bin/tsc", 808 | "tsserver": "bin/tsserver" 809 | }, 810 | "engines": { 811 | "node": ">=12.20" 812 | } 813 | }, 814 | "node_modules/vite": { 815 | "version": "4.3.9", 816 | "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.9.tgz", 817 | "integrity": "sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==", 818 | "dev": true, 819 | "dependencies": { 820 | "esbuild": "^0.17.5", 821 | "postcss": "^8.4.23", 822 | "rollup": "^3.21.0" 823 | }, 824 | "bin": { 825 | "vite": "bin/vite.js" 826 | }, 827 | "engines": { 828 | "node": "^14.18.0 || >=16.0.0" 829 | }, 830 | "optionalDependencies": { 831 | "fsevents": "~2.3.2" 832 | }, 833 | "peerDependencies": { 834 | "@types/node": ">= 14", 835 | "less": "*", 836 | "sass": "*", 837 | "stylus": "*", 838 | "sugarss": "*", 839 | "terser": "^5.4.0" 840 | }, 841 | "peerDependenciesMeta": { 842 | "@types/node": { 843 | "optional": true 844 | }, 845 | "less": { 846 | "optional": true 847 | }, 848 | "sass": { 849 | "optional": true 850 | }, 851 | "stylus": { 852 | "optional": true 853 | }, 854 | "sugarss": { 855 | "optional": true 856 | }, 857 | "terser": { 858 | "optional": true 859 | } 860 | } 861 | }, 862 | "node_modules/vue": { 863 | "version": "3.3.4", 864 | "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.4.tgz", 865 | "integrity": "sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==", 866 | "dependencies": { 867 | "@vue/compiler-dom": "3.3.4", 868 | "@vue/compiler-sfc": "3.3.4", 869 | "@vue/runtime-dom": "3.3.4", 870 | "@vue/server-renderer": "3.3.4", 871 | "@vue/shared": "3.3.4" 872 | } 873 | }, 874 | "node_modules/vue-template-compiler": { 875 | "version": "2.7.14", 876 | "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.14.tgz", 877 | "integrity": "sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==", 878 | "dev": true, 879 | "dependencies": { 880 | "de-indent": "^1.0.2", 881 | "he": "^1.2.0" 882 | } 883 | }, 884 | "node_modules/vue-tsc": { 885 | "version": "1.6.5", 886 | "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-1.6.5.tgz", 887 | "integrity": "sha512-Wtw3J7CC+JM2OR56huRd5iKlvFWpvDiU+fO1+rqyu4V2nMTotShz4zbOZpW5g9fUOcjnyZYfBo5q5q+D/q27JA==", 888 | "dev": true, 889 | "dependencies": { 890 | "@volar/vue-language-core": "1.6.5", 891 | "@volar/vue-typescript": "1.6.5", 892 | "semver": "^7.3.8" 893 | }, 894 | "bin": { 895 | "vue-tsc": "bin/vue-tsc.js" 896 | }, 897 | "peerDependencies": { 898 | "typescript": "*" 899 | } 900 | }, 901 | "node_modules/yallist": { 902 | "version": "4.0.0", 903 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 904 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", 905 | "dev": true 906 | } 907 | } 908 | } 909 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "brian-component-lib", 3 | "version": "1.0.0", 4 | "type": "module", 5 | "files": ["dist"], 6 | "main": "./dist/brian-component-lib.umd.cjs", 7 | "module": "./dist/brian-component-lib.js", 8 | "exports": { 9 | ".": { 10 | "import": "./dist/brian-component-lib.js", 11 | "require": "./dist/brian-component-lib.umd.cjs" 12 | }, 13 | "./style.css": "./dist/style.css" 14 | }, 15 | "types": "./dist/index.d.ts", 16 | "scripts": { 17 | "dev": "vite", 18 | "build": "vite build && vue-tsc --emitDeclarationOnly", 19 | "types": "vue-tsc ", 20 | "preview": "vite preview" 21 | }, 22 | "dependencies": { 23 | "vue": "^3.2.47", 24 | "test-component-lib": "file:../test-component-lib" 25 | }, 26 | "devDependencies": { 27 | "@types/node": "^20.2.5", 28 | "@vitejs/plugin-vue": "^4.2.3", 29 | "typescript": "^5.0.2", 30 | "vite": "^4.3.9", 31 | "vue-tsc": "^1.4.2" 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /public/vite.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 10 | 11 | 27 | -------------------------------------------------------------------------------- /src/assets/vue.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/components/FccButton.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 10 | 11 | 42 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import FccButton from "./components/FccButton.vue"; 2 | 3 | export { FccButton }; 4 | -------------------------------------------------------------------------------- /src/main.ts: -------------------------------------------------------------------------------- 1 | import { createApp } from "vue"; 2 | import App from "./App.vue"; 3 | 4 | createApp(App).mount("#app"); 5 | -------------------------------------------------------------------------------- /src/style.css: -------------------------------------------------------------------------------- 1 | :root { 2 | font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; 3 | line-height: 1.5; 4 | font-weight: 400; 5 | 6 | color-scheme: light dark; 7 | color: rgba(255, 255, 255, 0.87); 8 | background-color: #242424; 9 | 10 | font-synthesis: none; 11 | text-rendering: optimizeLegibility; 12 | -webkit-font-smoothing: antialiased; 13 | -moz-osx-font-smoothing: grayscale; 14 | -webkit-text-size-adjust: 100%; 15 | } 16 | 17 | a { 18 | font-weight: 500; 19 | color: #646cff; 20 | text-decoration: inherit; 21 | } 22 | a:hover { 23 | color: #535bf2; 24 | } 25 | 26 | body { 27 | margin: 0; 28 | display: flex; 29 | place-items: center; 30 | min-width: 320px; 31 | min-height: 100vh; 32 | } 33 | 34 | h1 { 35 | font-size: 3.2em; 36 | line-height: 1.1; 37 | } 38 | 39 | button { 40 | border-radius: 8px; 41 | border: 1px solid transparent; 42 | padding: 0.6em 1.2em; 43 | font-size: 1em; 44 | font-weight: 500; 45 | font-family: inherit; 46 | background-color: #1a1a1a; 47 | cursor: pointer; 48 | transition: border-color 0.25s; 49 | } 50 | button:hover { 51 | border-color: #646cff; 52 | } 53 | button:focus, 54 | button:focus-visible { 55 | outline: 4px auto -webkit-focus-ring-color; 56 | } 57 | 58 | .card { 59 | padding: 2em; 60 | } 61 | 62 | #app { 63 | max-width: 1280px; 64 | margin: 0 auto; 65 | padding: 2rem; 66 | text-align: center; 67 | } 68 | 69 | @media (prefers-color-scheme: light) { 70 | :root { 71 | color: #213547; 72 | background-color: #ffffff; 73 | } 74 | a:hover { 75 | color: #747bff; 76 | } 77 | button { 78 | background-color: #f9f9f9; 79 | } 80 | } 81 | -------------------------------------------------------------------------------- /src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2020", 4 | "useDefineForClassFields": true, 5 | "module": "ESNext", 6 | "lib": ["ES2020", "DOM", "DOM.Iterable"], 7 | "skipLibCheck": true, 8 | 9 | /* Bundler mode */ 10 | "moduleResolution": "bundler", 11 | "allowImportingTsExtensions": true, 12 | "resolveJsonModule": true, 13 | "isolatedModules": true, 14 | // "noEmit": true, 15 | "jsx": "preserve", 16 | 17 | "outDir": "dist", 18 | "declaration": true, 19 | 20 | 21 | /* Linting */ 22 | "strict": true, 23 | "noUnusedLocals": true, 24 | "noUnusedParameters": true, 25 | "noFallthroughCasesInSwitch": true 26 | }, 27 | "exclude": ["src/App.vue", "src/main.ts"], 28 | "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/components/*.vue"], 29 | "references": [{ "path": "./tsconfig.node.json" }] 30 | } 31 | -------------------------------------------------------------------------------- /tsconfig.node.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "composite": true, 4 | "skipLibCheck": true, 5 | "module": "ESNext", 6 | "moduleResolution": "bundler", 7 | "allowSyntheticDefaultImports": true 8 | }, 9 | "include": ["vite.config.ts"] 10 | } 11 | -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from "vite"; 2 | import { resolve } from "path"; 3 | import vue from "@vitejs/plugin-vue"; 4 | 5 | // https://vitejs.dev/config/ 6 | export default defineConfig({ 7 | plugins: [vue()], 8 | build: { 9 | lib: { 10 | // Could also be a dictionary or array of multiple entry points 11 | entry: resolve(__dirname, "src/index.ts"), 12 | name: "BrianComponentLibrary", 13 | // the proper extensions will be added 14 | fileName: "brian-component-lib", 15 | }, 16 | rollupOptions: { 17 | // make sure to externalize deps that shouldn't be bundled 18 | // into your library 19 | external: ["vue"], 20 | output: { 21 | // Provide global variables to use in the UMD build 22 | // for externalized deps 23 | globals: { 24 | vue: "Vue", 25 | }, 26 | }, 27 | }, 28 | }, 29 | }); 30 | --------------------------------------------------------------------------------