├── .github └── workflows │ ├── npm-release.yml │ └── npm-test.yml ├── .gitignore ├── .huskyrc ├── .log ├── ti-32751.log └── tsserver.log ├── .prettierignore ├── .prettierrc ├── .storybook ├── main.ts └── preview.ts ├── CHANGELOG.md ├── README.md ├── commitlint.config.js ├── dist ├── lapras-frontend.css ├── lapras-frontend.js ├── lapras-frontend.mjs └── lapras-frontend.umd.js ├── eslint.config.js ├── fonts ├── scouty-icon.eot ├── scouty-icon.svg ├── scouty-icon.ttf └── scouty-icon.woff ├── package.json ├── src ├── components │ ├── AvatarImg │ │ ├── AvatarImg.stories.ts │ │ └── AvatarImg.vue │ ├── Card │ │ ├── Card.stories.ts │ │ └── Card.vue │ ├── CheckBox │ │ ├── CheckBox.stories.ts │ │ └── CheckBox.vue │ ├── ContentLoader │ │ ├── ContentLoader.stories.ts │ │ └── ContentLoader.vue │ ├── EnhancedIconButton │ │ ├── EnhancedIconButton.stories.ts │ │ └── EnhancedIconButton.vue │ ├── FieldGroup │ │ ├── FieldGroup.stories.ts │ │ └── FieldGroup.vue │ ├── FlatButton │ │ ├── FlatButton.stories.ts │ │ └── FlatButton.vue │ ├── Icon │ │ ├── Icon.stories.ts │ │ ├── Icon.vue │ │ └── iconMap.ts │ ├── Modal │ │ ├── Modal.stories.ts │ │ └── Modal.vue │ ├── ProtectedLink │ │ ├── ProtectedLink.stories.ts │ │ └── ProtectedLink.vue │ ├── Radio │ │ ├── Radio.stories.ts │ │ └── Radio.vue │ ├── RatingBar │ │ ├── RatingBar.stories.ts │ │ └── RatingBar.vue │ ├── SelectBox │ │ ├── SelectBox.stories.ts │ │ └── SelectBox.vue │ ├── ShortModal │ │ ├── ShortModal.stories.ts │ │ └── ShortModal.vue │ ├── TagLabel │ │ ├── TagLabel.stories.ts │ │ └── TagLabel.vue │ ├── TextInput │ │ ├── TextInput.stories.ts │ │ └── TextInput.vue │ ├── ToggleLabelSet │ │ ├── ToggleLabelSet.stories.ts │ │ └── ToggleLabelSet.vue │ ├── ToggleSwitch │ │ ├── ToggleSwitch.stories.ts │ │ └── ToggleSwitch.vue │ └── Tooltip │ │ ├── Tooltip.stories.ts │ │ └── Tooltip.vue ├── main.ts └── stylesheets │ ├── _index.scss │ ├── mixins │ ├── _base-hover.scss │ ├── _index.scss │ └── _inline-link.scss │ └── variables │ └── _index.scss ├── tsconfig.json ├── tsconfig.types.json ├── types ├── components │ ├── AvatarImg │ │ └── AvatarImg.vue.d.ts │ ├── Card │ │ └── Card.vue.d.ts │ ├── CheckBox │ │ └── CheckBox.vue.d.ts │ ├── ContentLoader │ │ └── ContentLoader.vue.d.ts │ ├── EnhancedIconButton │ │ └── EnhancedIconButton.vue.d.ts │ ├── FieldGroup │ │ └── FieldGroup.vue.d.ts │ ├── FlatButton │ │ └── FlatButton.vue.d.ts │ ├── Icon │ │ ├── Icon.vue.d.ts │ │ └── iconMap.d.ts │ ├── Modal │ │ └── Modal.vue.d.ts │ ├── ProtectedLink │ │ └── ProtectedLink.vue.d.ts │ ├── Radio │ │ └── Radio.vue.d.ts │ ├── RatingBar │ │ └── RatingBar.vue.d.ts │ ├── SelectBox │ │ └── SelectBox.vue.d.ts │ ├── ShortModal │ │ └── ShortModal.vue.d.ts │ ├── TagLabel │ │ └── TagLabel.vue.d.ts │ ├── TextInput │ │ └── TextInput.vue.d.ts │ ├── ToggleLabelSet │ │ └── ToggleLabelSet.vue.d.ts │ ├── ToggleSwitch │ │ └── ToggleSwitch.vue.d.ts │ └── Tooltip │ │ └── Tooltip.vue.d.ts └── main.d.ts ├── vite.config.mts └── yarn.lock /.github/workflows/npm-release.yml: -------------------------------------------------------------------------------- 1 | # This workflow will run tests using node and then publish a package to GitHub Packages when a release is created 2 | # For more information see: https://help.github.com/actions/language-and-framework-guides/publishing-nodejs-packages 3 | 4 | name: npm release 5 | 6 | on: 7 | push: 8 | branches: 9 | - release 10 | 11 | jobs: 12 | publish-gpr: 13 | runs-on: ubuntu-latest 14 | steps: 15 | - uses: actions/checkout@v4 16 | with: 17 | fetch-depth: 0 # otherwise, you will failed to push refs to dest repo 18 | - uses: actions/setup-node@v4 19 | with: 20 | node-version-file: 'package.json' 21 | cache: 'yarn' 22 | registry-url: https://npm.pkg.github.com/ 23 | scope: '@lapras-inc' 24 | - name: Install dependencies 25 | run: yarn install --frozen-lockfile 26 | - name: build node package 27 | run: yarn build 28 | - name: Github config 29 | run: | 30 | git config --local user.email "action@github.com" 31 | git config --local user.name "GitHub Action" 32 | - name: commit dist 33 | run: | 34 | git add -A 35 | git diff-index --quiet HEAD || git commit -m 'chore: add dist' 36 | - name: Version increment 37 | run: yarn release 38 | - name: Get package-version 39 | id: package-version 40 | run: echo "::set-output name=package_version::v$(node -p "require('./package.json').version")" 41 | - name: GitHub Push 42 | uses: ad-m/github-push-action@v0.6.0 43 | with: 44 | branch: release 45 | github_token: ${{ secrets.GITHUB_TOKEN }} 46 | tags: true 47 | - name: Create Release 48 | id: create_release 49 | uses: actions/create-release@v1 50 | env: 51 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token 52 | with: 53 | tag_name: ${{ steps.package-version.outputs.package_version }} 54 | release_name: Release ${{ steps.package-version.outputs.package_version }} 55 | - name: deploy github package registry 56 | run: yarn publish 57 | env: 58 | NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}} 59 | - name: Storybook deploy 60 | run: yarn storybook:build && yarn storybook:deploy:ci 61 | env: 62 | GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} 63 | -------------------------------------------------------------------------------- /.github/workflows/npm-test.yml: -------------------------------------------------------------------------------- 1 | # This workflow will run tests using node and then publish a package to GitHub Packages when a release is created 2 | # For more information see: https://help.github.com/actions/language-and-framework-guides/publishing-nodejs-packages 3 | 4 | name: npm test 5 | 6 | on: push 7 | 8 | jobs: 9 | test: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - uses: actions/checkout@v4 13 | with: 14 | fetch-depth: 0 # otherwise, you will failed to push refs to dest repo 15 | - uses: actions/setup-node@v4 16 | with: 17 | node-version-file: 'package.json' 18 | cache: 'yarn' 19 | - name: Install dependencies 20 | run: yarn install --frozen-lockfile 21 | - name: Lint 22 | run: yarn lint:ci 23 | - name: build node package 24 | run: yarn build 25 | - name: node package test 26 | run: yarn test 27 | - name: Publish to Chromatic 28 | uses: chromaui/action@v1 29 | # Chromatic GitHub Action options 30 | with: 31 | token: ${{ secrets.GITHUB_TOKEN }} 32 | # 👇 Chromatic projectToken, refer to the manage page to obtain it. 33 | projectToken: ${{ secrets.CHROMATIC_TOKEN }} 34 | exitZeroOnChanges: true 35 | buildScriptName: storybook:build 36 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | storybook-static 4 | 5 | # local env files 6 | .env.local 7 | .env.*.local 8 | 9 | # Log files 10 | build-storybook.log 11 | npm-debug.log* 12 | yarn-debug.log* 13 | yarn-error.log* 14 | 15 | # Editor directories and files 16 | .idea 17 | .vscode 18 | *.suo 19 | *.ntvs* 20 | *.njsproj 21 | *.sln 22 | *.sw? 23 | 24 | dist/ 25 | -------------------------------------------------------------------------------- /.huskyrc: -------------------------------------------------------------------------------- 1 | { 2 | "hooks": { 3 | "commit-msg": "commitlint -E HUSKY_GIT_PARAMS" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /.log/ti-32751.log: -------------------------------------------------------------------------------- 1 | [11:54:53.185] Global cache location '/home/nasum/.cache/typescript/3.8', safe file path '/home/nasum/src/github.com/lapras-inc/lapras-frontend/node_modules/typescript/lib/typingSafeList.json', types map path /home/nasum/src/github.com/lapras-inc/lapras-frontend/node_modules/typescript/lib/typesMap.json 2 | [11:54:53.186] Processing cache location '/home/nasum/.cache/typescript/3.8' 3 | [11:54:53.186] Trying to find '/home/nasum/.cache/typescript/3.8/package.json'... 4 | [11:54:53.189] Loaded content of '/home/nasum/.cache/typescript/3.8/package.json': {"private":true,"dependencies":{"types-registry":"^0.1.482"},"devDependencies":{"@types/acorn":"^4.0.5","@types/ajv-errors":"^1.0.2","@types/ajv-keywords":"^3.4.0","@types/ansi-styles":"^3.2.1","@types/anymatch":"^1.3.1","@types/arr-diff":"^4.0.0","@types/arr-union":"^3.1.0","@types/array-unique":"^0.3.0","@types/assert":"^1.4.6","@types/atob":"^2.1.2","@types/balanced-match":"^1.0.1","@types/base64-js":"^1.2.5","@types/big.js":"^4.0.5","@types/bluebird":"^3.5.30","@types/bn.js":"^4.11.6","@types/brace-expansion":"^1.1.0","@types/braces":"^3.0.0","@types/brorand":"^1.0.30","@types/buffer-from":"^1.1.0","@types/buffer-xor":"^2.0.0","@types/cacache":"^12.0.1","@types/chownr":"^1.0.0","@types/cipher-base":"^1.0.0","@types/clean-css":"^4.2.1","@types/color-convert":"^1.9.0","@types/color-name":"^1.1.1","@types/commondir":"^1.0.0","@types/component-emitter":"^1.2.8","@types/concat-map":"0.0.0","@types/concat-stream":"^1.6.0","@types/consolidate":"^0.14.0","@types/create-hash":"^1.2.2","@types/create-hmac":"^1.1.0","@types/cross-spawn":"^6.0.1","@types/cssesc":"^3.0.0","@types/debug":"^4.1.5","@types/decode-uri-component":"^0.2.0","@types/define-properties":"^1.1.2","@types/diffie-hellman":"^5.0.0","@types/domhandler":"^2.4.1","@types/domutils":"^1.7.2","@types/duplexify":"^3.6.0","@types/elliptic":"^6.4.12","@types/end-of-stream":"^1.4.0","@types/enhanced-resolve":"^3.0.6","@types/entities":"^1.1.1","@types/es-to-primitive":"^1.2.0","@types/eslint-scope":"^3.7.0","@types/estraverse":"0.0.6","@types/events":"^3.0.0","@types/expand-tilde":"^2.0.0","@types/find-cache-dir":"^3.2.0","@types/findup-sync":"^2.0.2","@types/flush-write-stream":"^1.0.0","@types/from2":"^2.3.0","@types/function-bind":"^1.1.1","@types/get-caller-file":"^1.0.0","@types/get-value":"^3.0.1","@types/glob":"^7.1.1","@types/glob-parent":"^5.1.0","@types/global-modules":"^2.0.0","@types/global-prefix":"^3.0.0","@types/graceful-fs":"^4.1.3","@types/hash-sum":"^1.0.0","@types/he":"^1.1.1","@types/html-minifier":"^3.5.3","@types/html-webpack-plugin":"^3.2.2","@types/htmlparser2":"^3.10.1","@types/iferr":"^1.0.2","@types/imurmurhash":"^0.1.0","@types/inherits":"0.0.30","@types/ini":"^1.3.30","@types/interpret":"^1.1.1","@types/is-buffer":"^2.0.0","@types/is-callable":"^1.1.0","@types/is-date-object":"^1.0.1","@types/is-glob":"^4.0.1","@types/is-number":"^7.0.0","@types/is-windows":"^1.0.0","@types/isarray":"^2.0.0","@types/isexe":"^2.0.0","@types/jquery":"^3.3.33","@types/json-parse-better-errors":"^1.0.0","@types/json-schema-traverse":"^0.4.0","@types/json5":"0.0.30","@types/kind-of":"^6.0.0","@types/loader-runner":"^2.2.3","@types/loader-utils":"^1.1.3","@types/lodash":"^4.14.149","@types/lru-cache":"^5.1.0","@types/memory-fs":"^0.3.2","@types/micromatch":"^4.0.1","@types/minimalistic-assert":"^1.0.0","@types/minimatch":"^3.0.3","@types/minimist":"^1.2.0","@types/mkdirp":"^1.0.0","@types/move-concurrently":"^1.0.2","@types/ms":"^0.7.31","@types/nice-try":"^2.0.0","@types/node":"^13.9.1","@types/normalize-path":"^3.0.0","@types/object-assign":"^4.0.30","@types/object-inspect":"^1.6.1","@types/object-keys":"^1.0.1","@types/object.getownpropertydescriptors":"^2.1.0","@types/object.pick":"^1.3.0","@types/once":"^1.4.0","@types/pako":"^1.0.1","@types/parallel-transform":"^1.1.0","@types/parse-passwd":"^1.0.0","@types/path-is-absolute":"^1.0.0","@types/pbkdf2":"^3.0.0","@types/pify":"^3.0.2","@types/prettier":"^1.19.0","@types/promise-inflight":"^1.0.0","@types/pump":"^1.1.0","@types/pumpify":"^1.4.1","@types/punycode":"^2.1.0","@types/randombytes":"^2.0.0","@types/readable-stream":"^2.3.5","@types/relateurl":"^0.2.28","@types/repeat-element":"^1.1.0","@types/repeat-string":"^1.6.0","@types/require-directory":"^2.1.1","@types/rimraf":"^2.0.3","@types/ripemd160":"^2.0.0","@types/safe-regex":"^1.1.2","@types/semver":"^7.1.0","@types/serialize-javascript":"^1.5.0","@types/set-value":"^2.0.0","@types/setimmediate":"^1.0.0","@types/sha.js":"^2.4.0","@types/shebang-command":"^1.2.0","@types/signal-exit":"^3.0.0","@types/source-list-map":"^0.1.2","@types/source-map-support":"^0.5.1","@types/ssri":"^6.0.1","@types/stream-each":"^1.2.0","@types/stream-shift":"^1.0.0","@types/supports-color":"^5.3.0","@types/tapable":"^1.0.5","@types/terser-webpack-plugin":"^2.2.0","@types/through2":"^2.0.34","@types/toposort":"^2.0.3","@types/uglify-js":"^3.0.4","@types/uniq":"0.0.27","@types/urix":"^0.1.0","@types/util-deprecate":"^1.0.0","@types/util.promisify":"^1.0.3","@types/watchpack":"^1.1.5","@types/webpack":"^4.41.7","@types/webpack-sources":"^0.1.6","@types/which":"^1.3.2","@types/wrap-ansi":"^3.0.0","@types/xtend":"^4.0.2","@types/y18n":"^4.0.0","@types/yallist":"^3.0.1","@types/yargs":"^15.0.4","@types/yargs-parser":"^15.0.0"}} 5 | [11:54:53.189] Loaded content of '/home/nasum/.cache/typescript/3.8/package-lock.json' 6 | [11:54:53.197] Adding entry into typings cache: 'acorn' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/acorn/index.d.ts' 7 | [11:54:53.199] Adding entry into typings cache: 'ajv-errors' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/ajv-errors/index.d.ts' 8 | [11:54:53.200] Adding entry into typings cache: 'ajv-keywords' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/ajv-keywords/index.d.ts' 9 | [11:54:53.202] Adding entry into typings cache: 'ansi-styles' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/ansi-styles/index.d.ts' 10 | [11:54:53.205] Adding entry into typings cache: 'anymatch' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/anymatch/index.d.ts' 11 | [11:54:53.208] Adding entry into typings cache: 'arr-diff' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/arr-diff/index.d.ts' 12 | [11:54:53.212] Adding entry into typings cache: 'arr-union' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/arr-union/index.d.ts' 13 | [11:54:53.215] Adding entry into typings cache: 'array-unique' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/array-unique/index.d.ts' 14 | [11:54:53.217] Adding entry into typings cache: 'assert' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/assert/ts3.7/index.d.ts' 15 | [11:54:53.220] Adding entry into typings cache: 'atob' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/atob/index.d.ts' 16 | [11:54:53.221] Adding entry into typings cache: 'balanced-match' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/balanced-match/index.d.ts' 17 | [11:54:53.222] Adding entry into typings cache: 'base64-js' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/base64-js/index.d.ts' 18 | [11:54:53.223] Adding entry into typings cache: 'big.js' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/big.js/index.d.ts' 19 | [11:54:53.225] Adding entry into typings cache: 'bluebird' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/bluebird/index.d.ts' 20 | [11:54:53.226] Adding entry into typings cache: 'bn.js' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/bn.js/index.d.ts' 21 | [11:54:53.227] Adding entry into typings cache: 'brace-expansion' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/brace-expansion/index.d.ts' 22 | [11:54:53.230] Adding entry into typings cache: 'braces' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/braces/index.d.ts' 23 | [11:54:53.231] Adding entry into typings cache: 'brorand' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/brorand/index.d.ts' 24 | [11:54:53.233] Adding entry into typings cache: 'buffer-from' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/buffer-from/index.d.ts' 25 | [11:54:53.234] Adding entry into typings cache: 'buffer-xor' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/buffer-xor/index.d.ts' 26 | [11:54:53.235] Adding entry into typings cache: 'cacache' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/cacache/index.d.ts' 27 | [11:54:53.236] Adding entry into typings cache: 'chownr' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/chownr/index.d.ts' 28 | [11:54:53.237] Adding entry into typings cache: 'cipher-base' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/cipher-base/index.d.ts' 29 | [11:54:53.238] Adding entry into typings cache: 'clean-css' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/clean-css/index.d.ts' 30 | [11:54:53.239] Adding entry into typings cache: 'color-convert' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/color-convert/index.d.ts' 31 | [11:54:53.240] Adding entry into typings cache: 'color-name' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/color-name/index.d.ts' 32 | [11:54:53.241] Adding entry into typings cache: 'commondir' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/commondir/index.d.ts' 33 | [11:54:53.244] Adding entry into typings cache: 'component-emitter' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/component-emitter/index.d.ts' 34 | [11:54:53.245] Adding entry into typings cache: 'concat-map' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/concat-map/index.d.ts' 35 | [11:54:53.246] Adding entry into typings cache: 'concat-stream' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/concat-stream/index.d.ts' 36 | [11:54:53.247] Adding entry into typings cache: 'consolidate' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/consolidate/index.d.ts' 37 | [11:54:53.249] Adding entry into typings cache: 'create-hash' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/create-hash/index.d.ts' 38 | [11:54:53.250] Adding entry into typings cache: 'create-hmac' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/create-hmac/index.d.ts' 39 | [11:54:53.252] Adding entry into typings cache: 'cross-spawn' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/cross-spawn/index.d.ts' 40 | [11:54:53.253] Adding entry into typings cache: 'cssesc' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/cssesc/index.d.ts' 41 | [11:54:53.255] Adding entry into typings cache: 'debug' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/debug/index.d.ts' 42 | [11:54:53.257] Adding entry into typings cache: 'decode-uri-component' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/decode-uri-component/index.d.ts' 43 | [11:54:53.258] Adding entry into typings cache: 'define-properties' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/define-properties/index.d.ts' 44 | [11:54:53.258] Adding entry into typings cache: 'diffie-hellman' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/diffie-hellman/index.d.ts' 45 | [11:54:53.259] Adding entry into typings cache: 'domhandler' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/domhandler/index.d.ts' 46 | [11:54:53.260] Adding entry into typings cache: 'domutils' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/domutils/index.d.ts' 47 | [11:54:53.260] Adding entry into typings cache: 'duplexify' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/duplexify/index.d.ts' 48 | [11:54:53.261] Adding entry into typings cache: 'elliptic' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/elliptic/index.d.ts' 49 | [11:54:53.262] Adding entry into typings cache: 'end-of-stream' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/end-of-stream/index.d.ts' 50 | [11:54:53.262] Adding entry into typings cache: 'enhanced-resolve' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/enhanced-resolve/index.d.ts' 51 | [11:54:53.263] Adding entry into typings cache: 'entities' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/entities/index.d.ts' 52 | [11:54:53.265] Adding entry into typings cache: 'es-to-primitive' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/es-to-primitive/ts3.1/index.d.ts' 53 | [11:54:53.265] Adding entry into typings cache: 'eslint-scope' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/eslint-scope/index.d.ts' 54 | [11:54:53.266] Adding entry into typings cache: 'estraverse' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/estraverse/index.d.ts' 55 | [11:54:53.267] Adding entry into typings cache: 'events' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/events/index.d.ts' 56 | [11:54:53.268] Adding entry into typings cache: 'expand-tilde' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/expand-tilde/index.d.ts' 57 | [11:54:53.268] Adding entry into typings cache: 'find-cache-dir' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/find-cache-dir/index.d.ts' 58 | [11:54:53.269] Adding entry into typings cache: 'findup-sync' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/findup-sync/index.d.ts' 59 | [11:54:53.270] Adding entry into typings cache: 'flush-write-stream' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/flush-write-stream/index.d.ts' 60 | [11:54:53.270] Adding entry into typings cache: 'from2' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/from2/index.d.ts' 61 | [11:54:53.271] Adding entry into typings cache: 'function-bind' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/function-bind/ts3.3/index.d.ts' 62 | [11:54:53.272] Adding entry into typings cache: 'get-caller-file' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/get-caller-file/index.d.ts' 63 | [11:54:53.274] Adding entry into typings cache: 'get-value' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/get-value/index.d.ts' 64 | [11:54:53.274] Adding entry into typings cache: 'glob' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/glob/index.d.ts' 65 | [11:54:53.276] Adding entry into typings cache: 'glob-parent' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/glob-parent/index.d.ts' 66 | [11:54:53.277] Adding entry into typings cache: 'global-modules' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/global-modules/index.d.ts' 67 | [11:54:53.278] Adding entry into typings cache: 'global-prefix' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/global-prefix/index.d.ts' 68 | [11:54:53.279] Adding entry into typings cache: 'graceful-fs' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/graceful-fs/index.d.ts' 69 | [11:54:53.279] Adding entry into typings cache: 'hash-sum' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/hash-sum/index.d.ts' 70 | [11:54:53.280] Adding entry into typings cache: 'he' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/he/index.d.ts' 71 | [11:54:53.280] Adding entry into typings cache: 'html-minifier' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/html-minifier/index.d.ts' 72 | [11:54:53.282] Adding entry into typings cache: 'html-webpack-plugin' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/html-webpack-plugin/index.d.ts' 73 | [11:54:53.283] Adding entry into typings cache: 'htmlparser2' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/htmlparser2/index.d.ts' 74 | [11:54:53.284] Adding entry into typings cache: 'iferr' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/iferr/index.d.ts' 75 | [11:54:53.285] Adding entry into typings cache: 'imurmurhash' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/imurmurhash/index.d.ts' 76 | [11:54:53.286] Adding entry into typings cache: 'inherits' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/inherits/index.d.ts' 77 | [11:54:53.286] Adding entry into typings cache: 'ini' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/ini/index.d.ts' 78 | [11:54:53.287] Adding entry into typings cache: 'interpret' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/interpret/index.d.ts' 79 | [11:54:53.288] Adding entry into typings cache: 'is-buffer' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/is-buffer/index.d.ts' 80 | [11:54:53.288] Adding entry into typings cache: 'is-callable' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/is-callable/index.d.ts' 81 | [11:54:53.289] Adding entry into typings cache: 'is-date-object' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/is-date-object/index.d.ts' 82 | [11:54:53.290] Adding entry into typings cache: 'is-glob' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/is-glob/index.d.ts' 83 | [11:54:53.292] Adding entry into typings cache: 'is-number' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/is-number/index.d.ts' 84 | [11:54:53.293] Adding entry into typings cache: 'is-windows' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/is-windows/index.d.ts' 85 | [11:54:53.294] Adding entry into typings cache: 'isarray' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/isarray/index.d.ts' 86 | [11:54:53.295] Adding entry into typings cache: 'isexe' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/isexe/index.d.ts' 87 | [11:54:53.296] Adding entry into typings cache: 'jquery' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/jquery/index.d.ts' 88 | [11:54:53.296] Adding entry into typings cache: 'json-parse-better-errors' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/json-parse-better-errors/index.d.ts' 89 | [11:54:53.297] Adding entry into typings cache: 'json-schema-traverse' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/json-schema-traverse/index.d.ts' 90 | [11:54:53.298] Adding entry into typings cache: 'json5' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/json5/index.d.ts' 91 | [11:54:53.299] Adding entry into typings cache: 'kind-of' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/kind-of/index.d.ts' 92 | [11:54:53.300] Adding entry into typings cache: 'loader-runner' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/loader-runner/index.d.ts' 93 | [11:54:53.301] Adding entry into typings cache: 'loader-utils' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/loader-utils/index.d.ts' 94 | [11:54:53.301] Adding entry into typings cache: 'lodash' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/lodash/ts3.1/index.d.ts' 95 | [11:54:53.302] Adding entry into typings cache: 'lru-cache' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/lru-cache/index.d.ts' 96 | [11:54:53.303] Adding entry into typings cache: 'memory-fs' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/memory-fs/index.d.ts' 97 | [11:54:53.304] Adding entry into typings cache: 'micromatch' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/micromatch/index.d.ts' 98 | [11:54:53.304] Adding entry into typings cache: 'minimalistic-assert' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/minimalistic-assert/index.d.ts' 99 | [11:54:53.305] Adding entry into typings cache: 'minimatch' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/minimatch/index.d.ts' 100 | [11:54:53.305] Adding entry into typings cache: 'minimist' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/minimist/index.d.ts' 101 | [11:54:53.306] Adding entry into typings cache: 'mkdirp' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/mkdirp/index.d.ts' 102 | [11:54:53.307] Adding entry into typings cache: 'move-concurrently' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/move-concurrently/index.d.ts' 103 | [11:54:53.308] Adding entry into typings cache: 'ms' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/ms/index.d.ts' 104 | [11:54:53.308] Adding entry into typings cache: 'nice-try' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/nice-try/index.d.ts' 105 | [11:54:53.309] Adding entry into typings cache: 'node' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/node/ts3.2/index.d.ts' 106 | [11:54:53.310] Adding entry into typings cache: 'normalize-path' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/normalize-path/index.d.ts' 107 | [11:54:53.311] Adding entry into typings cache: 'object-assign' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/object-assign/index.d.ts' 108 | [11:54:53.311] Adding entry into typings cache: 'object-inspect' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/object-inspect/index.d.ts' 109 | [11:54:53.312] Adding entry into typings cache: 'object-keys' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/object-keys/index.d.ts' 110 | [11:54:53.312] Adding entry into typings cache: 'object.getownpropertydescriptors' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/object.getownpropertydescriptors/index.d.ts' 111 | [11:54:53.314] Adding entry into typings cache: 'object.pick' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/object.pick/index.d.ts' 112 | [11:54:53.315] Adding entry into typings cache: 'once' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/once/index.d.ts' 113 | [11:54:53.315] Adding entry into typings cache: 'pako' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/pako/index.d.ts' 114 | [11:54:53.316] Adding entry into typings cache: 'parallel-transform' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/parallel-transform/index.d.ts' 115 | [11:54:53.316] Adding entry into typings cache: 'parse-passwd' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/parse-passwd/index.d.ts' 116 | [11:54:53.317] Adding entry into typings cache: 'path-is-absolute' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/path-is-absolute/index.d.ts' 117 | [11:54:53.318] Adding entry into typings cache: 'pbkdf2' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/pbkdf2/index.d.ts' 118 | [11:54:53.318] Adding entry into typings cache: 'pify' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/pify/index.d.ts' 119 | [11:54:53.319] Adding entry into typings cache: 'prettier' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/prettier/index.d.ts' 120 | [11:54:53.319] Adding entry into typings cache: 'promise-inflight' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/promise-inflight/index.d.ts' 121 | [11:54:53.320] Adding entry into typings cache: 'pump' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/pump/index.d.ts' 122 | [11:54:53.321] Adding entry into typings cache: 'pumpify' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/pumpify/index.d.ts' 123 | [11:54:53.321] Adding entry into typings cache: 'punycode' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/punycode/index.d.ts' 124 | [11:54:53.322] Adding entry into typings cache: 'randombytes' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/randombytes/index.d.ts' 125 | [11:54:53.323] Adding entry into typings cache: 'readable-stream' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/readable-stream/index.d.ts' 126 | [11:54:53.323] Adding entry into typings cache: 'relateurl' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/relateurl/index.d.ts' 127 | [11:54:53.324] Adding entry into typings cache: 'repeat-element' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/repeat-element/index.d.ts' 128 | [11:54:53.325] Adding entry into typings cache: 'repeat-string' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/repeat-string/index.d.ts' 129 | [11:54:53.326] Adding entry into typings cache: 'require-directory' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/require-directory/index.d.ts' 130 | [11:54:53.327] Adding entry into typings cache: 'rimraf' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/rimraf/index.d.ts' 131 | [11:54:53.327] Adding entry into typings cache: 'ripemd160' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/ripemd160/index.d.ts' 132 | [11:54:53.328] Adding entry into typings cache: 'safe-regex' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/safe-regex/index.d.ts' 133 | [11:54:53.328] Adding entry into typings cache: 'semver' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/semver/index.d.ts' 134 | [11:54:53.329] Adding entry into typings cache: 'serialize-javascript' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/serialize-javascript/index.d.ts' 135 | [11:54:53.330] Adding entry into typings cache: 'set-value' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/set-value/index.d.ts' 136 | [11:54:53.330] Adding entry into typings cache: 'setimmediate' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/setimmediate/ts3.1/index.d.ts' 137 | [11:54:53.331] Adding entry into typings cache: 'sha.js' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/sha.js/index.d.ts' 138 | [11:54:53.332] Adding entry into typings cache: 'shebang-command' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/shebang-command/index.d.ts' 139 | [11:54:53.332] Adding entry into typings cache: 'signal-exit' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/signal-exit/index.d.ts' 140 | [11:54:53.332] Adding entry into typings cache: 'source-list-map' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/source-list-map/index.d.ts' 141 | [11:54:53.333] Adding entry into typings cache: 'source-map-support' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/source-map-support/index.d.ts' 142 | [11:54:53.334] Adding entry into typings cache: 'ssri' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/ssri/index.d.ts' 143 | [11:54:53.334] Adding entry into typings cache: 'stream-each' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/stream-each/index.d.ts' 144 | [11:54:53.335] Adding entry into typings cache: 'stream-shift' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/stream-shift/index.d.ts' 145 | [11:54:53.335] Adding entry into typings cache: 'supports-color' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/supports-color/index.d.ts' 146 | [11:54:53.336] Adding entry into typings cache: 'tapable' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/tapable/index.d.ts' 147 | [11:54:53.336] Adding entry into typings cache: 'terser-webpack-plugin' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/terser-webpack-plugin/index.d.ts' 148 | [11:54:53.336] Adding entry into typings cache: 'through2' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/through2/index.d.ts' 149 | [11:54:53.337] Adding entry into typings cache: 'toposort' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/toposort/index.d.ts' 150 | [11:54:53.337] Adding entry into typings cache: 'uglify-js' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/uglify-js/index.d.ts' 151 | [11:54:53.338] Adding entry into typings cache: 'uniq' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/uniq/index.d.ts' 152 | [11:54:53.339] Adding entry into typings cache: 'urix' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/urix/index.d.ts' 153 | [11:54:53.340] Adding entry into typings cache: 'util-deprecate' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/util-deprecate/index.d.ts' 154 | [11:54:53.340] Adding entry into typings cache: 'util.promisify' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/util.promisify/index.d.ts' 155 | [11:54:53.341] Adding entry into typings cache: 'watchpack' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/watchpack/index.d.ts' 156 | [11:54:53.342] Adding entry into typings cache: 'webpack' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/webpack/index.d.ts' 157 | [11:54:53.342] Adding entry into typings cache: 'webpack-sources' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/webpack-sources/index.d.ts' 158 | [11:54:53.343] Adding entry into typings cache: 'which' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/which/index.d.ts' 159 | [11:54:53.343] Adding entry into typings cache: 'wrap-ansi' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/wrap-ansi/index.d.ts' 160 | [11:54:53.344] Adding entry into typings cache: 'xtend' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/xtend/index.d.ts' 161 | [11:54:53.345] Adding entry into typings cache: 'y18n' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/y18n/index.d.ts' 162 | [11:54:53.346] Adding entry into typings cache: 'yallist' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/yallist/index.d.ts' 163 | [11:54:53.347] Adding entry into typings cache: 'yargs' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/yargs/index.d.ts' 164 | [11:54:53.347] Adding entry into typings cache: 'yargs-parser' => '/home/nasum/.cache/typescript/3.8/node_modules/@types/yargs-parser/index.d.ts' 165 | [11:54:53.347] Finished processing cache location '/home/nasum/.cache/typescript/3.8' 166 | [11:54:53.347] Process id: 32759 167 | [11:54:53.347] NPM location: /home/nasum/.anyenv/envs/nodenv/versions/12.1.0/bin/npm (explicit '--npmLocation' not provided) 168 | [11:54:53.347] validateDefaultNpmLocation: false 169 | [11:54:53.347] Npm config file: /home/nasum/.cache/typescript/3.8/package.json 170 | [11:54:53.347] Updating types-registry npm package... 171 | [11:54:53.348] Exec: /home/nasum/.anyenv/envs/nodenv/versions/12.1.0/bin/npm install --ignore-scripts types-registry@latest 172 | [11:54:55.619] Succeeded. stdout: 173 | + types-registry@0.1.482 174 | updated 1 package and audited 2467 packages in 1.856s 175 | found 3 moderate severity vulnerabilities 176 | run `npm audit fix` to fix them, or `npm audit` for details 177 | 178 | [11:54:55.620] Updated types-registry npm package 179 | [16:31:2.788] Got install request {"projectName":"/dev/null/inferredProject1*","fileNames":[],"compilerOptions":{"target":1,"jsx":1,"allowNonTsExtensions":true,"allowJs":true,"noEmitForJsFiles":true},"typeAcquisition":{"enable":true,"include":[],"exclude":[]},"unresolvedImports":[],"projectRootPath":"/home/nasum/src/github.com/lapras-inc/lapras-frontend/src","kind":"discover"} 180 | [16:31:2.804] Loaded safelist from types map file '/home/nasum/src/github.com/lapras-inc/lapras-frontend/node_modules/typescript/lib/typesMap.json' 181 | [16:31:2.804] Explicitly included types: [] 182 | [16:31:2.805] Inferred typings from unresolved imports: [] 183 | [16:31:2.805] Result: {"cachedTypingPaths":[],"newTypingNames":[],"filesToWatch":["/home/nasum/src/github.com/lapras-inc/lapras-frontend/src/bower_components","/home/nasum/src/github.com/lapras-inc/lapras-frontend/src/node_modules"]} 184 | [16:31:2.805] Finished typings discovery: {"cachedTypingPaths":[],"newTypingNames":[],"filesToWatch":["/home/nasum/src/github.com/lapras-inc/lapras-frontend/src/bower_components","/home/nasum/src/github.com/lapras-inc/lapras-frontend/src/node_modules"]} 185 | [16:31:2.805] DirectoryWatcher:: Added:: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend/src/bower_components 186 | [16:31:2.808] DirectoryWatcher:: Added:: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend/src/node_modules 187 | [16:31:2.808] Sending response: 188 | {"projectName":"/dev/null/inferredProject1*","typeAcquisition":{"enable":true,"include":[],"exclude":[]},"compilerOptions":{"target":1,"jsx":1,"allowNonTsExtensions":true,"allowJs":true,"noEmitForJsFiles":true},"typings":[],"unresolvedImports":[],"kind":"action::set"} 189 | [16:31:2.808] Response has been sent. 190 | [16:31:2.808] No new typings were requested as a result of typings discovery 191 | [16:31:2.808] Got install request {"projectName":"/dev/null/inferredProject2*","fileNames":[],"compilerOptions":{"target":1,"jsx":1,"allowNonTsExtensions":true,"allowJs":true,"noEmitForJsFiles":true},"typeAcquisition":{"enable":true,"include":[],"exclude":[]},"unresolvedImports":[],"projectRootPath":"/home/nasum/src/github.com/lapras-inc/lapras-frontend/src/components/Card","kind":"discover"} 192 | [16:31:2.808] Explicitly included types: [] 193 | [16:31:2.809] Inferred typings from unresolved imports: [] 194 | [16:31:2.809] Result: {"cachedTypingPaths":[],"newTypingNames":[],"filesToWatch":["/home/nasum/src/github.com/lapras-inc/lapras-frontend/src/components/Card/bower_components","/home/nasum/src/github.com/lapras-inc/lapras-frontend/src/components/Card/node_modules"]} 195 | [16:31:2.809] Finished typings discovery: {"cachedTypingPaths":[],"newTypingNames":[],"filesToWatch":["/home/nasum/src/github.com/lapras-inc/lapras-frontend/src/components/Card/bower_components","/home/nasum/src/github.com/lapras-inc/lapras-frontend/src/components/Card/node_modules"]} 196 | [16:31:2.809] DirectoryWatcher:: Added:: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend/src/components/Card/bower_components 197 | [16:31:2.809] DirectoryWatcher:: Added:: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend/src/components/Card/node_modules 198 | [16:31:2.809] Sending response: 199 | {"projectName":"/dev/null/inferredProject2*","typeAcquisition":{"enable":true,"include":[],"exclude":[]},"compilerOptions":{"target":1,"jsx":1,"allowNonTsExtensions":true,"allowJs":true,"noEmitForJsFiles":true},"typings":[],"unresolvedImports":[],"kind":"action::set"} 200 | [16:31:2.809] Response has been sent. 201 | [16:31:2.809] No new typings were requested as a result of typings discovery 202 | -------------------------------------------------------------------------------- /.log/tsserver.log: -------------------------------------------------------------------------------- 1 | Info 0 [11:54:53.59] Starting TS Server 2 | Info 1 [11:54:53.60] Version: 3.8.3 3 | Info 2 [11:54:53.60] Arguments: /home/nasum/.anyenv/envs/nodenv/versions/12.1.0/bin/node /home/nasum/src/github.com/lapras-inc/lapras-frontend/node_modules/.bin/tsserver --logFile /home/nasum/src/github.com/lapras-inc/lapras-frontend/.log/tsserver.log --logVerbosity info --cancellationPipeName /tmp/fd49a8c1dbe79b80caa4dfa0da84fdfc/tscancellation* 4 | Info 3 [11:54:53.60] Platform: linux NodeVersion: 12 CaseSensitive: true 5 | Info 4 [11:54:53.72] Search path: /home/nasum/src/github.com/lapras-inc/lapras-frontend/src 6 | Info 5 [11:54:53.74] For info: /home/nasum/src/github.com/lapras-inc/lapras-frontend/src/index.ts :: Config file name: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json 7 | Info 6 [11:54:53.74] Opened configuration file /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json 8 | Info 7 [11:54:53.90] Config: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json : { 9 | "rootNames": [ 10 | "/home/nasum/src/github.com/lapras-inc/lapras-frontend/shims-vue.d.ts", 11 | "/home/nasum/src/github.com/lapras-inc/lapras-frontend/src/index.ts", 12 | "/home/nasum/src/github.com/lapras-inc/lapras-frontend/src/components/Card/Card.stories.ts" 13 | ], 14 | "options": { 15 | "target": 99, 16 | "module": 99, 17 | "strict": true, 18 | "importHelpers": true, 19 | "moduleResolution": 2, 20 | "esModuleInterop": true, 21 | "allowSyntheticDefaultImports": true, 22 | "sourceMap": true, 23 | "downlevelIteration": true, 24 | "baseUrl": "/home/nasum/src/github.com/lapras-inc/lapras-frontend", 25 | "paths": { 26 | "@/*": [ 27 | "src/*" 28 | ], 29 | "@": [ 30 | "src" 31 | ] 32 | }, 33 | "lib": [ 34 | "lib.esnext.d.ts", 35 | "lib.dom.d.ts", 36 | "lib.dom.iterable.d.ts", 37 | "lib.scripthost.d.ts" 38 | ], 39 | "configFilePath": "/home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json" 40 | } 41 | } 42 | Info 8 [11:54:53.117] Starting updateGraphWorker: Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json 43 | Info 9 [11:54:54.558] Finishing updateGraphWorker: Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json Version: 1 structureChanged: true Elapsed: 1441ms 44 | Info 10 [11:54:54.558] Project '/home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json' (Configured) 45 | Info 11 [11:54:54.558] Files (124) 46 | 47 | Info 12 [11:54:54.558] ----------------------------------------------- 48 | Info 13 [11:55:6.53] Search path: /home/nasum/src/github.com/lapras-inc/lapras-frontend/src/components/Card 49 | Info 14 [11:55:6.53] For info: /home/nasum/src/github.com/lapras-inc/lapras-frontend/src/components/Card/Card.stories.ts :: Config file name: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json 50 | Info 15 [12:27:26.879] DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/package.json :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend 0 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Failed Lookup Locations 51 | Info 16 [12:27:26.895] Elapsed:: 15ms DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/package.json :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend 0 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Failed Lookup Locations 52 | Info 17 [12:27:26.895] DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/package.json :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend 0 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Failed Lookup Locations 53 | Info 18 [12:27:26.907] Elapsed:: 12ms DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/package.json :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend 0 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Failed Lookup Locations 54 | Info 19 [12:27:26.907] DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend 0 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Failed Lookup Locations 55 | Info 20 [12:27:26.916] Elapsed:: 9ms DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend 0 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Failed Lookup Locations 56 | Info 21 [12:27:26.916] DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend 0 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Failed Lookup Locations 57 | Info 22 [12:27:26.924] Elapsed:: 8ms DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend 0 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Failed Lookup Locations 58 | Info 23 [12:27:26.924] DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/webpack.config.js :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend 0 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Failed Lookup Locations 59 | Info 24 [12:27:26.931] Elapsed:: 7ms DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/webpack.config.js :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend 0 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Failed Lookup Locations 60 | Info 25 [12:27:26.931] DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/webpack.config.js :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend 0 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Failed Lookup Locations 61 | Info 26 [12:27:26.938] Elapsed:: 7ms DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/webpack.config.js :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend 0 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Failed Lookup Locations 62 | Info 27 [12:27:29.152] FileWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json 1:: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json 2000 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Config file 63 | Info 28 [12:27:29.152] Elapsed:: 0ms FileWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json 1:: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json 2000 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Config file 64 | Info 29 [12:27:29.403] Reloading configured project /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json 65 | Info 30 [12:27:29.411] Config: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json : { 66 | "rootNames": [ 67 | "/home/nasum/src/github.com/lapras-inc/lapras-frontend/shims-vue.d.ts", 68 | "/home/nasum/src/github.com/lapras-inc/lapras-frontend/src/index.ts", 69 | "/home/nasum/src/github.com/lapras-inc/lapras-frontend/src/components/Card/Card.stories.ts" 70 | ], 71 | "options": { 72 | "target": 99, 73 | "module": 99, 74 | "strict": true, 75 | "importHelpers": true, 76 | "moduleResolution": 2, 77 | "esModuleInterop": true, 78 | "allowSyntheticDefaultImports": true, 79 | "sourceMap": true, 80 | "downlevelIteration": true, 81 | "baseUrl": "/home/nasum/src/github.com/lapras-inc/lapras-frontend", 82 | "paths": { 83 | "@/*": [ 84 | "src/*" 85 | ], 86 | "@": [ 87 | "src" 88 | ] 89 | }, 90 | "lib": [ 91 | "lib.esnext.d.ts", 92 | "lib.dom.d.ts", 93 | "lib.dom.iterable.d.ts", 94 | "lib.scripthost.d.ts" 95 | ], 96 | "configFilePath": "/home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json" 97 | } 98 | } 99 | Info 31 [12:27:29.421] Starting updateGraphWorker: Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json 100 | Info 32 [12:27:29.430] Finishing updateGraphWorker: Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json Version: 2 structureChanged: false Elapsed: 9ms 101 | Info 33 [12:27:29.430] Different program with same set of files:: oldProgram.structureIsReused:: 2 102 | Info 34 [12:27:29.435] Structure before ensureProjectForOpenFiles: 103 | Info 35 [12:27:29.435] Structure after ensureProjectForOpenFiles: 104 | Info 36 [12:27:29.435] got projects updated in background, updating diagnostics for /home/nasum/src/github.com/lapras-inc/lapras-frontend/src/index.ts,/home/nasum/src/github.com/lapras-inc/lapras-frontend/src/components/Card/Card.stories.ts 105 | Info 37 [16:30:53.953] DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/yarn.lock :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend 0 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Failed Lookup Locations 106 | Info 38 [16:30:53.960] Elapsed:: 0ms DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/yarn.lock :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend 0 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Failed Lookup Locations 107 | Info 39 [16:30:53.960] DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/yarn.lock :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend 0 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Failed Lookup Locations 108 | Info 40 [16:30:53.960] Elapsed:: 0ms DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/yarn.lock :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend 0 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Failed Lookup Locations 109 | Info 41 [16:30:56.977] DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/shims-vue.d.ts :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend 0 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Failed Lookup Locations 110 | Info 42 [16:30:56.991] Elapsed:: 14ms DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/shims-vue.d.ts :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend 0 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Failed Lookup Locations 111 | Info 43 [16:30:56.992] DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/src/components/Card/Card.stories.ts :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend/src 1 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Wild card directory 112 | Info 44 [16:30:56.992] Elapsed:: 0ms DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/src/components/Card/Card.stories.ts :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend/src 1 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Wild card directory 113 | Info 45 [16:30:56.992] DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/src/components/Card/Card.stories.ts :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend/src 1 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Failed Lookup Locations 114 | Info 46 [16:30:56.992] Elapsed:: 0ms DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/src/components/Card/Card.stories.ts :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend/src 1 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Failed Lookup Locations 115 | Info 47 [16:30:56.992] DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/.storybook :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend 0 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Failed Lookup Locations 116 | Info 48 [16:30:56.992] Elapsed:: 0ms DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/.storybook :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend 0 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Failed Lookup Locations 117 | Info 49 [16:30:56.992] DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/src/components/Card/Card.vue :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend/src 1 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Wild card directory 118 | Info 50 [16:30:56.992] Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json Detected file add/remove of non supported extension: /home/nasum/src/github.com/lapras-inc/lapras-frontend/src/components/Card/Card.vue 119 | Info 51 [16:30:56.992] Elapsed:: 0ms DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/src/components/Card/Card.vue :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend/src 1 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Wild card directory 120 | Info 52 [16:30:56.992] DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/src/components/Card/Card.vue :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend/src 1 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Failed Lookup Locations 121 | Info 53 [16:30:56.992] Elapsed:: 0ms DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/src/components/Card/Card.vue :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend/src 1 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Failed Lookup Locations 122 | Info 54 [16:30:56.992] DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/src/index.ts :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend/src 1 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Wild card directory 123 | Info 55 [16:30:56.992] Elapsed:: 0ms DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/src/index.ts :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend/src 1 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Wild card directory 124 | Info 56 [16:30:56.992] DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/src/index.ts :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend/src 1 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Failed Lookup Locations 125 | Info 57 [16:30:56.993] Elapsed:: 1ms DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/src/index.ts :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend/src 1 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Failed Lookup Locations 126 | Info 58 [16:30:56.993] DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend 0 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Failed Lookup Locations 127 | Info 59 [16:30:57.1] Elapsed:: 8ms DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend 0 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Failed Lookup Locations 128 | Info 60 [16:30:57.1] DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/webpack.config.js :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend 0 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Failed Lookup Locations 129 | Info 61 [16:30:57.9] Elapsed:: 8ms DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/webpack.config.js :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend 0 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Failed Lookup Locations 130 | Info 62 [16:30:57.9] DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/yarn.lock :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend 0 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Failed Lookup Locations 131 | Info 63 [16:30:57.9] Elapsed:: 0ms DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/yarn.lock :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend 0 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Failed Lookup Locations 132 | Info 64 [16:30:57.9] DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/src/components :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend/src 1 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Wild card directory 133 | Info 65 [16:30:57.10] Elapsed:: 1ms DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/src/components :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend/src 1 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Wild card directory 134 | Info 66 [16:30:57.10] DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/src/components :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend/src 1 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Failed Lookup Locations 135 | Info 67 [16:30:57.10] Elapsed:: 0ms DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/src/components :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend/src 1 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Failed Lookup Locations 136 | Info 68 [16:30:57.10] DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/src :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend/src 1 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Wild card directory 137 | Info 69 [16:30:57.10] Elapsed:: 0ms DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/src :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend/src 1 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Wild card directory 138 | Info 70 [16:30:57.10] DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/src :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend/src 1 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Failed Lookup Locations 139 | Info 71 [16:30:57.18] Elapsed:: 8ms DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/src :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend/src 1 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Failed Lookup Locations 140 | Info 72 [16:30:57.18] DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/src :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend 0 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Failed Lookup Locations 141 | Info 73 [16:30:57.18] Elapsed:: 0ms DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/src :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend 0 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Failed Lookup Locations 142 | Info 74 [16:30:57.18] DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/.gitignore :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend 0 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Failed Lookup Locations 143 | Info 75 [16:30:57.18] Elapsed:: 0ms DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/.gitignore :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend 0 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Failed Lookup Locations 144 | Info 76 [16:30:57.19] DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/.gitignore :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend 0 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Failed Lookup Locations 145 | Info 77 [16:30:57.19] Elapsed:: 0ms DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/.gitignore :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend 0 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Failed Lookup Locations 146 | Info 78 [16:30:57.19] DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/package.json :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend 0 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Failed Lookup Locations 147 | Info 79 [16:30:57.25] Elapsed:: 6ms DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/package.json :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend 0 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Failed Lookup Locations 148 | Info 80 [16:30:57.25] DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/package.json :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend 0 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Failed Lookup Locations 149 | Info 81 [16:30:57.32] Elapsed:: 7ms DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/package.json :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend 0 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Failed Lookup Locations 150 | Info 82 [16:30:57.274] Starting updateGraphWorker: Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json 151 | Info 83 [16:30:57.288] Finishing updateGraphWorker: Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json Version: 3 structureChanged: true Elapsed: 14ms 152 | Info 84 [16:30:57.288] Project '/home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json' (Configured) 153 | Info 85 [16:30:57.288] Files (0) 154 | 155 | Info 86 [16:30:57.288] ----------------------------------------------- 156 | Info 87 [16:30:57.288] Structure before ensureProjectForOpenFiles: 157 | Info 88 [16:30:57.289] Starting updateGraphWorker: Project: /dev/null/inferredProject1* 158 | Info 89 [16:30:57.908] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* Version: 1 structureChanged: true Elapsed: 619ms 159 | Info 90 [16:30:57.908] Project '/dev/null/inferredProject1*' (Inferred) 160 | Info 91 [16:30:57.908] Files (112) 161 | 162 | Info 92 [16:30:57.908] ----------------------------------------------- 163 | Info 93 [16:30:57.910] Starting updateGraphWorker: Project: /dev/null/inferredProject2* 164 | Info 94 [16:30:57.966] Finishing updateGraphWorker: Project: /dev/null/inferredProject2* Version: 1 structureChanged: true Elapsed: 56ms 165 | Info 95 [16:30:57.966] Project '/dev/null/inferredProject2*' (Inferred) 166 | Info 96 [16:30:57.966] Files (106) 167 | 168 | Info 97 [16:30:57.966] ----------------------------------------------- 169 | Info 98 [16:30:57.968] Structure after ensureProjectForOpenFiles: 170 | Info 99 [16:30:57.968] got projects updated in background, updating diagnostics for /home/nasum/src/github.com/lapras-inc/lapras-frontend/src/index.ts,/home/nasum/src/github.com/lapras-inc/lapras-frontend/src/components/Card/Card.stories.ts 171 | Info 100 [16:30:59.355] FileWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json 2:: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json 2000 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Config file 172 | Info 101 [16:30:59.356] `remove Project:: 173 | Info 102 [16:30:59.356] Project '/home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json' (Configured) 174 | Info 103 [16:30:59.356] Files (0) 175 | 176 | Info 104 [16:30:59.356] ----------------------------------------------- 177 | Info 105 [16:30:59.357] Search path: /home/nasum/src/github.com/lapras-inc/lapras-frontend/src 178 | Info 106 [16:30:59.358] For info: /home/nasum/src/github.com/lapras-inc/lapras-frontend/src/index.ts :: No config files found. 179 | Info 107 [16:30:59.358] Search path: /home/nasum/src/github.com/lapras-inc/lapras-frontend/src/components/Card 180 | Info 108 [16:30:59.358] For info: /home/nasum/src/github.com/lapras-inc/lapras-frontend/src/components/Card/Card.stories.ts :: No config files found. 181 | Info 109 [16:30:59.358] Elapsed:: 3ms FileWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json 2:: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json 2000 undefined Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json WatchType: Config file 182 | Info 110 [16:30:59.358] FileWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/shims-vue.d.ts 2:: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend/shims-vue.d.ts 500 undefined Project: WatchType: Closed Script info 183 | Info 111 [16:30:59.359] Elapsed:: 0ms FileWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/shims-vue.d.ts 2:: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend/shims-vue.d.ts 500 undefined Project: WatchType: Closed Script info 184 | Info 112 [16:30:59.608] Structure before ensureProjectForOpenFiles: 185 | Info 113 [16:30:59.608] Structure after ensureProjectForOpenFiles: 186 | Info 114 [16:30:59.608] got projects updated in background, updating diagnostics for /home/nasum/src/github.com/lapras-inc/lapras-frontend/src/index.ts,/home/nasum/src/github.com/lapras-inc/lapras-frontend/src/components/Card/Card.stories.ts 187 | Info 115 [16:31:0.796] DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/src/components/Card :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend/src/components/Card 0 undefined Project: /dev/null/inferredProject2* WatchType: Failed Lookup Locations 188 | Info 116 [16:31:0.801] Elapsed:: 5ms DirectoryWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/src/components/Card :: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend/src/components/Card 0 undefined Project: /dev/null/inferredProject2* WatchType: Failed Lookup Locations 189 | Info 117 [16:31:1.51] Starting updateGraphWorker: Project: /dev/null/inferredProject2* 190 | Info 118 [16:31:1.92] Finishing updateGraphWorker: Project: /dev/null/inferredProject2* Version: 2 structureChanged: true Elapsed: 41ms 191 | Info 119 [16:31:1.92] Different program with same set of files:: oldProgram.structureIsReused:: 1 192 | Info 120 [16:31:1.92] Structure before ensureProjectForOpenFiles: 193 | Info 121 [16:31:1.92] Structure after ensureProjectForOpenFiles: 194 | Info 122 [16:31:1.92] got projects updated in background, updating diagnostics for /home/nasum/src/github.com/lapras-inc/lapras-frontend/src/index.ts,/home/nasum/src/github.com/lapras-inc/lapras-frontend/src/components/Card/Card.stories.ts 195 | Err 123 [16:31:1.433] Exception on executing command {"command":"getCodeFixes","seq":20,"type":"request","arguments":{"file":"/home/nasum/src/github.com/lapras-inc/lapras-frontend/src/components/Card/Card.stories.ts","startLine":1,"startOffset":1,"endLine":1,"endOffset":1,"errorCodes":[2307]}}: 196 | 197 | Debug Failure. Invalid cast. The supplied value [object Object] did not pass the test 'isStringLiteral'. 198 | 199 | Error: Debug Failure. Invalid cast. The supplied value [object Object] did not pass the test 'isStringLiteral'. 200 | at Object.cast (/home/nasum/src/github.com/lapras-inc/lapras-frontend/node_modules/typescript/lib/tsserver.js:1371:25) 201 | at tryGetImportedPackageName (/home/nasum/src/github.com/lapras-inc/lapras-frontend/node_modules/typescript/lib/tsserver.js:128796:33) 202 | at Object.getCodeActions (/home/nasum/src/github.com/lapras-inc/lapras-frontend/node_modules/typescript/lib/tsserver.js:128764:35) 203 | at /home/nasum/src/github.com/lapras-inc/lapras-frontend/node_modules/typescript/lib/tsserver.js:124540:77 204 | at Object.flatMap (/home/nasum/src/github.com/lapras-inc/lapras-frontend/node_modules/typescript/lib/tsserver.js:465:25) 205 | at Object.getFixes (/home/nasum/src/github.com/lapras-inc/lapras-frontend/node_modules/typescript/lib/tsserver.js:124540:23) 206 | at /home/nasum/src/github.com/lapras-inc/lapras-frontend/node_modules/typescript/lib/tsserver.js:135666:35 207 | at Object.flatMap (/home/nasum/src/github.com/lapras-inc/lapras-frontend/node_modules/typescript/lib/tsserver.js:465:25) 208 | at Object.getCodeFixesAtPosition (/home/nasum/src/github.com/lapras-inc/lapras-frontend/node_modules/typescript/lib/tsserver.js:135664:23) 209 | at IOSession.Session.getCodeFixes (/home/nasum/src/github.com/lapras-inc/lapras-frontend/node_modules/typescript/lib/tsserver.js:145753:64) 210 | at Session.handlers.ts.createMapFromTemplate._a. (/home/nasum/src/github.com/lapras-inc/lapras-frontend/node_modules/typescript/lib/tsserver.js:144510:61) 211 | at /home/nasum/src/github.com/lapras-inc/lapras-frontend/node_modules/typescript/lib/tsserver.js:146003:88 212 | at IOSession.Session.executeWithRequestId (/home/nasum/src/github.com/lapras-inc/lapras-frontend/node_modules/typescript/lib/tsserver.js:145994:28) 213 | at IOSession.Session.executeCommand (/home/nasum/src/github.com/lapras-inc/lapras-frontend/node_modules/typescript/lib/tsserver.js:146003:33) 214 | at IOSession.Session.onMessage (/home/nasum/src/github.com/lapras-inc/lapras-frontend/node_modules/typescript/lib/tsserver.js:146027:35) 215 | at Interface. (/home/nasum/src/github.com/lapras-inc/lapras-frontend/node_modules/typescript/lib/tsserver.js:147342:27) 216 | at Interface.emit (events.js:196:13) 217 | at Interface._onLine (readline.js:314:10) 218 | at Interface._normalWrite (readline.js:459:12) 219 | at Socket.ondata (readline.js:170:10) 220 | at Socket.emit (events.js:196:13) 221 | at addChunk (_stream_readable.js:290:12) 222 | at readableAddChunk (_stream_readable.js:271:11) 223 | at Socket.Readable.push (_stream_readable.js:226:10) 224 | at Pipe.onStreamRead (internal/stream_base_commons.js:166:17) 225 | Info 124 [16:31:1.855] FileWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json 0:: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json 2000 undefined Project: WatchType: Config file for the inferred project root 226 | Info 125 [16:31:1.855] Search path: /home/nasum/src/github.com/lapras-inc/lapras-frontend/src 227 | Info 126 [16:31:1.855] For info: /home/nasum/src/github.com/lapras-inc/lapras-frontend/src/index.ts :: Config file name: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json 228 | Info 127 [16:31:1.856] Opened configuration file /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json 229 | Info 128 [16:31:1.857] Search path: /home/nasum/src/github.com/lapras-inc/lapras-frontend/src/components/Card 230 | Info 129 [16:31:1.857] For info: /home/nasum/src/github.com/lapras-inc/lapras-frontend/src/components/Card/Card.stories.ts :: Config file name: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json 231 | Info 130 [16:31:1.857] Elapsed:: 2ms FileWatcher:: Triggered with /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json 0:: WatchInfo: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json 2000 undefined Project: WatchType: Config file for the inferred project root 232 | Info 131 [16:31:2.108] Reloading configured project /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json 233 | Info 132 [16:31:2.115] Config: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json : { 234 | "rootNames": [ 235 | "/home/nasum/src/github.com/lapras-inc/lapras-frontend/shims-vue.d.ts", 236 | "/home/nasum/src/github.com/lapras-inc/lapras-frontend/src/index.ts", 237 | "/home/nasum/src/github.com/lapras-inc/lapras-frontend/src/components/Card/Card.stories.ts" 238 | ], 239 | "options": { 240 | "target": 99, 241 | "module": 99, 242 | "strict": true, 243 | "importHelpers": true, 244 | "moduleResolution": 2, 245 | "esModuleInterop": true, 246 | "allowSyntheticDefaultImports": true, 247 | "sourceMap": true, 248 | "downlevelIteration": true, 249 | "baseUrl": "/home/nasum/src/github.com/lapras-inc/lapras-frontend", 250 | "paths": { 251 | "@/*": [ 252 | "src/*" 253 | ], 254 | "@": [ 255 | "src" 256 | ] 257 | }, 258 | "lib": [ 259 | "lib.esnext.d.ts", 260 | "lib.dom.d.ts", 261 | "lib.dom.iterable.d.ts", 262 | "lib.scripthost.d.ts" 263 | ], 264 | "configFilePath": "/home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json" 265 | } 266 | } 267 | Info 133 [16:31:2.123] Starting updateGraphWorker: Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json 268 | Info 134 [16:31:2.674] Finishing updateGraphWorker: Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json Version: 1 structureChanged: true Elapsed: 551ms 269 | Info 135 [16:31:2.674] Project '/home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json' (Configured) 270 | Info 136 [16:31:2.675] Files (124) 271 | 272 | Info 137 [16:31:2.675] ----------------------------------------------- 273 | Info 138 [16:31:2.678] Structure before ensureProjectForOpenFiles: 274 | Info 139 [16:31:2.678] Starting updateGraphWorker: Project: /dev/null/inferredProject1* 275 | Info 140 [16:31:2.686] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* Version: 2 structureChanged: true Elapsed: 8ms 276 | Info 141 [16:31:2.686] Project '/dev/null/inferredProject1*' (Inferred) 277 | Info 142 [16:31:2.686] Files (0) 278 | 279 | Info 143 [16:31:2.686] ----------------------------------------------- 280 | Info 144 [16:31:2.687] Starting updateGraphWorker: Project: /dev/null/inferredProject2* 281 | Info 145 [16:31:2.693] Finishing updateGraphWorker: Project: /dev/null/inferredProject2* Version: 3 structureChanged: true Elapsed: 6ms 282 | Info 146 [16:31:2.693] Project '/dev/null/inferredProject2*' (Inferred) 283 | Info 147 [16:31:2.693] Files (0) 284 | 285 | Info 148 [16:31:2.693] ----------------------------------------------- 286 | Info 149 [16:31:2.693] Structure after ensureProjectForOpenFiles: 287 | Info 150 [16:31:2.693] got projects updated in background, updating diagnostics for /home/nasum/src/github.com/lapras-inc/lapras-frontend/src/index.ts,/home/nasum/src/github.com/lapras-inc/lapras-frontend/src/components/Card/Card.stories.ts 288 | Info 151 [16:31:2.766] Starting updateGraphWorker: Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json 289 | Info 152 [16:31:2.782] Finishing updateGraphWorker: Project: /home/nasum/src/github.com/lapras-inc/lapras-frontend/tsconfig.json Version: 2 structureChanged: false Elapsed: 16ms 290 | Info 153 [16:31:2.782] Different program with same set of files:: oldProgram.structureIsReused:: 2 291 | Info 154 [16:31:3.60] Starting updateGraphWorker: Project: /dev/null/inferredProject1* 292 | Info 155 [16:31:3.60] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* Version: 3 structureChanged: false Elapsed: 0ms 293 | Info 156 [16:31:3.60] Starting updateGraphWorker: Project: /dev/null/inferredProject2* 294 | Info 157 [16:31:3.61] Finishing updateGraphWorker: Project: /dev/null/inferredProject2* Version: 4 structureChanged: false Elapsed: 1ms 295 | Info 158 [16:31:3.61] Structure before ensureProjectForOpenFiles: 296 | Info 159 [16:31:3.61] Structure after ensureProjectForOpenFiles: 297 | Info 160 [16:31:3.61] got projects updated in background, updating diagnostics for /home/nasum/src/github.com/lapras-inc/lapras-frontend/src/index.ts,/home/nasum/src/github.com/lapras-inc/lapras-frontend/src/components/Card/Card.stories.ts 298 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | # Storybookのビルド時に生成される一時ファイル 2 | generated-stories-entry.js 3 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "semi": false, 3 | "singleQuote": true, 4 | "trailingComma": "es5" 5 | } 6 | -------------------------------------------------------------------------------- /.storybook/main.ts: -------------------------------------------------------------------------------- 1 | import type { StorybookConfig } from '@storybook/vue3-vite' 2 | 3 | const config: StorybookConfig = { 4 | stories: ['../src/**/*.stories.@(js|jsx|mjs|ts|tsx)'], 5 | 6 | addons: [ 7 | '@storybook/addon-essentials', 8 | '@chromatic-com/storybook', 9 | ], 10 | framework: { 11 | name: '@storybook/vue3-vite', 12 | options: {}, 13 | }, 14 | docs: { 15 | autodocs: true 16 | } 17 | } 18 | export default config; 19 | -------------------------------------------------------------------------------- /.storybook/preview.ts: -------------------------------------------------------------------------------- 1 | import type { Preview } from '@storybook/vue3' 2 | 3 | const preview: Preview = { 4 | parameters: { 5 | controls: { 6 | matchers: { 7 | color: /(background|color)$/i, 8 | date: /Date$/i, 9 | }, 10 | }, 11 | }, 12 | 13 | tags: ['autodocs'] 14 | } 15 | 16 | export default preview 17 | -------------------------------------------------------------------------------- /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 | ### [0.1.4](https://github.com/lapras-inc/lapras-frontend/compare/v0.1.3...v0.1.4) (2023-04-03) 6 | 7 | 8 | ### Features 9 | 10 | * add sparkle icon ([96b954f](https://github.com/lapras-inc/lapras-frontend/commit/96b954f8783e567793d3c1dbead6c7eb6e79fd6c)) 11 | 12 | ### [0.1.3](https://github.com/lapras-inc/lapras-frontend/compare/v0.1.2...v0.1.3) (2023-03-22) 13 | 14 | 15 | ### Features 16 | 17 | * **icon:** add crown icon ([cae5edb](https://github.com/lapras-inc/lapras-frontend/commit/cae5edbf8241e22f40728d8c88c527cacf611c93)) 18 | 19 | 20 | ### Bug Fixes 21 | 22 | * **modal:** [clean] やはりbuttonにもクリックイベントを付ける ([b115727](https://github.com/lapras-inc/lapras-frontend/commit/b1157277c7c36fb7042f48ae3943e74f6d779741)) 23 | * **modal:** [clean] 閉じるボタンの右側の領域を押してもモーダルが閉じられなかったを修正 ([5486382](https://github.com/lapras-inc/lapras-frontend/commit/548638259a1d7e49fcb91782ed66e5e99bf86ae8)) 24 | * **modal:** modalの周囲20pxを押してもModalが閉じられなかったのを修正 ([ee8bb0e](https://github.com/lapras-inc/lapras-frontend/commit/ee8bb0e662cd4cda3198e4594b56b5c7bba1a376)) 25 | 26 | ### [0.1.2](https://github.com/lapras-inc/lapras-frontend/compare/v0.1.1...v0.1.2) (2023-01-23) 27 | 28 | 29 | ### Bug Fixes 30 | 31 | * **modal:** ブラウザバックでスクロールがロックされる問題を修正 ([1b1ac87](https://github.com/lapras-inc/lapras-frontend/commit/1b1ac87cf356000aa1862561436cacaf5a17d629)) 32 | * **shortmodal:** タイポかつ上書きされていたCSSを効くように修正 ([e97fbd8](https://github.com/lapras-inc/lapras-frontend/commit/e97fbd80d09ad19e14802f7841d25257c9ef2bc6)) 33 | 34 | ### [0.1.1](https://github.com/lapras-inc/lapras-frontend/compare/v0.1.0...v0.1.1) (2022-12-15) 35 | 36 | 37 | ### Features 38 | 39 | * **icon:** add sword icon ([1ba7c0e](https://github.com/lapras-inc/lapras-frontend/commit/1ba7c0e490e2c6dba6e1fd0672b2d0834d5c18f1)) 40 | 41 | ## [0.1.0](https://github.com/lapras-inc/lapras-frontend/compare/v0.0.50...v0.1.0) (2022-12-02) 42 | 43 | 44 | ### ⚠ BREAKING CHANGES 45 | 46 | * Vueのアップデート 47 | 48 | ### Bug Fixes 49 | 50 | * **protectedlink:** vue2.7から_や$で変数名を始めたらダメになったため修正 ([199fe25](https://github.com/lapras-inc/lapras-frontend/commit/199fe257b1f6d05efbb6801ac551410bbeea8943)) 51 | 52 | 53 | * vueを2.7にアップデート ([82dc88b](https://github.com/lapras-inc/lapras-frontend/commit/82dc88b3deb8ae39a8d4f0762ed0730791956286)) 54 | 55 | ### [0.0.50](https://github.com/lapras-inc/lapras-frontend/compare/v0.0.49...v0.0.50) (2022-11-08) 56 | 57 | 58 | ### Features 59 | 60 | * **icon:** add lightbulb icon ([5b343aa](https://github.com/lapras-inc/lapras-frontend/commit/5b343aada781737e116cd0d50a93698eb5a6cd2e)) 61 | 62 | ### [0.0.49](https://github.com/lapras-inc/lapras-frontend/compare/v0.0.46...v0.0.49) (2022-10-20) 63 | 64 | 65 | ### Features 66 | 67 | * **flatbutton.vue:** add important skin to flatbutton component ([7fe2215](https://github.com/lapras-inc/lapras-frontend/commit/7fe22159597fe09b479e434e9c09390d0afbb15c)) 68 | * **icon:** add balloon icon ([70f8d21](https://github.com/lapras-inc/lapras-frontend/commit/70f8d2153f723be1d89e538a096e66202ba6d87a)) 69 | 70 | 71 | ### Bug Fixes 72 | 73 | * **dist files:** execute forgotten build for formaer commits ([b4b2674](https://github.com/lapras-inc/lapras-frontend/commit/b4b2674468a58c857c3c576e47700463e6ec43b7)) 74 | * **gitignore:** remove dist from gitignore ([09aaeef](https://github.com/lapras-inc/lapras-frontend/commit/09aaeefc929a85d72190be0b9aca5ff7d396bee8)) 75 | 76 | ### [0.0.48](https://github.com/lapras-inc/lapras-frontend/compare/v0.0.46...v0.0.48) (2022-10-20) 77 | 78 | 79 | ### Features 80 | 81 | * **flatbutton.vue:** add important skin to flatbutton component ([7fe2215](https://github.com/lapras-inc/lapras-frontend/commit/7fe22159597fe09b479e434e9c09390d0afbb15c)) 82 | * **icon:** add balloon icon ([70f8d21](https://github.com/lapras-inc/lapras-frontend/commit/70f8d2153f723be1d89e538a096e66202ba6d87a)) 83 | 84 | 85 | ### Bug Fixes 86 | 87 | * **dist files:** execute forgotten build for formaer commits ([b4b2674](https://github.com/lapras-inc/lapras-frontend/commit/b4b2674468a58c857c3c576e47700463e6ec43b7)) 88 | 89 | ### [0.0.47](https://github.com/lapras-inc/lapras-frontend/compare/v0.0.46...v0.0.47) (2022-10-19) 90 | 91 | 92 | ### Features 93 | 94 | * **flatbutton.vue:** add important skin to flatbutton component ([7fe2215](https://github.com/lapras-inc/lapras-frontend/commit/7fe22159597fe09b479e434e9c09390d0afbb15c)) 95 | * **icon:** add balloon icon ([70f8d21](https://github.com/lapras-inc/lapras-frontend/commit/70f8d2153f723be1d89e538a096e66202ba6d87a)) 96 | 97 | ### [0.0.46](https://github.com/lapras-inc/lapras-frontend/compare/v0.0.45...v0.0.46) (2022-07-04) 98 | 99 | 100 | ### Bug Fixes 101 | 102 | * typesがnode_modulesに含まれるようにする ([35bc62f](https://github.com/lapras-inc/lapras-frontend/commit/35bc62fc7d00032ae771e3aa668af78b152a0088)) 103 | 104 | ### [0.0.45](https://github.com/lapras-inc/lapras-frontend/compare/v0.0.44...v0.0.45) (2022-07-01) 105 | 106 | 107 | ### Bug Fixes 108 | 109 | * build時にtemplate内の型アノテーション部分でなぜかパースエラーが起きるので、script内に型アノテーションを移動 ([7b7c100](https://github.com/lapras-inc/lapras-frontend/commit/7b7c1007ad4159eb3cdb622150b8a64fb8c18f70)) 110 | 111 | ### [0.0.44](https://github.com/lapras-inc/lapras-frontend/compare/v0.0.43...v0.0.44) (2022-04-04) 112 | 113 | 114 | ### Bug Fixes 115 | 116 | * **component:** shortModal で click を stopPropagation しない ([43800c5](https://github.com/lapras-inc/lapras-frontend/commit/43800c540be300a5b8b130b716fdbf93c51e4f0d)) 117 | * vue composition api の api が使えない件の修正 ([1164c00](https://github.com/lapras-inc/lapras-frontend/commit/1164c0062f42be68160a20df2bb7b2421fa52bf8)) 118 | * ライブラリとして使うとリアクティブが失われる件の修正 ([a124419](https://github.com/lapras-inc/lapras-frontend/commit/a1244192bffa497cda5a7bd480f1009f682441c5)) 119 | 120 | ### [0.0.43](https://github.com/lapras-inc/lapras-frontend/compare/v0.0.42...v0.0.43) (2022-03-09) 121 | 122 | 123 | ### Features 124 | 125 | * textareaを自動拡張するオプションを追加 ([f9fe753](https://github.com/lapras-inc/lapras-frontend/commit/f9fe753bd17d4e4616dc93fd081fbbd4090a93bb)) 126 | 127 | ### [0.0.42](https://github.com/lapras-inc/lapras-frontend/compare/v0.0.41...v0.0.42) (2022-03-03) 128 | 129 | 130 | ### Bug Fixes 131 | 132 | * **textinput:** v-on:input が使えなくなってしまっていたので修正 ([8b60683](https://github.com/lapras-inc/lapras-frontend/commit/8b606830eb92a6cc8b12f5fb61a2a322ca657a2d)), closes [#134](https://github.com/lapras-inc/lapras-frontend/issues/134) 133 | 134 | ### [0.0.41](https://github.com/lapras-inc/lapras-frontend/compare/v0.0.40...v0.0.41) (2022-02-10) 135 | 136 | 137 | ### Bug Fixes 138 | 139 | * **modal:** setup 関数内で watch() を使わないようにする ([29b8ed5](https://github.com/lapras-inc/lapras-frontend/commit/29b8ed5b764d5a896288364815a798822f5a85e5)), closes [#139](https://github.com/lapras-inc/lapras-frontend/issues/139) 140 | 141 | ### [0.0.40](https://github.com/lapras-inc/lapras-frontend/compare/v0.0.39...v0.0.40) (2022-02-10) 142 | 143 | 144 | ### Features 145 | 146 | * emit v-on listeners of TextInput ([96b4c2b](https://github.com/lapras-inc/lapras-frontend/commit/96b4c2b4bfea3a069fb197c20346e296d2a1d7e8)) 147 | 148 | 149 | ### Bug Fixes 150 | 151 | * **modal:** modal の DOM 構造を修正し event.stopPropagation を使わないようにした ([353fbc5](https://github.com/lapras-inc/lapras-frontend/commit/353fbc59790897650b01c0d0bed4abd240ea2275)) 152 | 153 | ### [0.0.39](https://github.com/lapras-inc/lapras-frontend/compare/v0.0.38...v0.0.39) (2021-12-10) 154 | 155 | 156 | ### Features 157 | 158 | * **protectedlink:** httpsだけでなくHTTPSも許容する ([26e0872](https://github.com/lapras-inc/lapras-frontend/commit/26e08720b8524025e56e043e7c562ab59967aea1)) 159 | * essentials addonの追加 ([c85b465](https://github.com/lapras-inc/lapras-frontend/commit/c85b465a549870ec867fcddb2d4be64d565e223b)) 160 | * essentials addonを有効化 ([ce6b6ee](https://github.com/lapras-inc/lapras-frontend/commit/ce6b6eecbbb5418f3a381823e5da564136ca6ba9)) 161 | 162 | ### [0.0.38](https://github.com/lapras-inc/lapras-frontend/compare/v0.0.37...v0.0.38) (2021-06-08) 163 | 164 | 165 | ### Features 166 | 167 | * **flatbutton:** 点滅するバリエーション ([317dafd](https://github.com/lapras-inc/lapras-frontend/commit/317dafd9c38bb4a12723ffe124e8b26d001d7945)) 168 | 169 | ### [0.0.37](https://github.com/lapras-inc/lapras-frontend/compare/v0.0.36...v0.0.37) (2021-06-07) 170 | 171 | 172 | ### Features 173 | 174 | * **icon:** [clean] StoryBook でアイコンを個々の Story として出力するようにした ([a7bc204](https://github.com/lapras-inc/lapras-frontend/commit/a7bc204fc2e767a57b1320d4189f0b2f63b02bb3)) 175 | * **icon:** icon ([e9caaf6](https://github.com/lapras-inc/lapras-frontend/commit/e9caaf65921207457b5fa83f186c4232f62b743d)) 176 | 177 | ### [0.0.36](https://github.com/lapras-inc/lapras-frontend/compare/v0.0.35...v0.0.36) (2021-05-07) 178 | 179 | 180 | ### Features 181 | 182 | * **flatbutton:** https://github.com/lapras-inc/scouty/issues/10806 ([7dc075d](https://github.com/lapras-inc/lapras-frontend/commit/7dc075dc53804ad111cadf5664ffd21aa23b86e1)) 183 | 184 | ### [0.0.35](https://github.com/lapras-inc/lapras-frontend/compare/v0.0.34...v0.0.35) (2021-04-27) 185 | 186 | 187 | ### Features 188 | 189 | * **protectedlink:** 別タブで開くときは rel="noopener" をつける ([054fbdd](https://github.com/lapras-inc/lapras-frontend/commit/054fbddf4311bb5a80a9b967fa10a133285e92bc)), closes [lapras-inc/scouty#10930](https://github.com/lapras-inc/scouty/issues/10930) 190 | * chromatic ([1eb4e04](https://github.com/lapras-inc/lapras-frontend/commit/1eb4e04f2889cfe726f53096b9139364b5cdc69d)) 191 | * github actions ([bafdca5](https://github.com/lapras-inc/lapras-frontend/commit/bafdca59cb4512dd70da30a8c4c030880cf09deb)) 192 | 193 | 194 | ### Bug Fixes 195 | 196 | * github actions ([4aba0cb](https://github.com/lapras-inc/lapras-frontend/commit/4aba0cb8d9ccb020ee4c24c9137a0c0bd83d3254)) 197 | 198 | ### [0.0.34](https://github.com/lapras-inc/lapras-frontend/compare/v0.0.33...v0.0.34) (2021-03-02) 199 | 200 | 201 | ### Bug Fixes 202 | 203 | * add username ([99342e1](https://github.com/lapras-inc/lapras-frontend/commit/99342e16845fb8f2e20cd9c7f030921fd5017fb1)) 204 | 205 | ### [0.0.33](https://github.com/lapras-inc/lapras-frontend/compare/v0.0.32...v0.0.33) (2021-03-02) 206 | 207 | 208 | ### Features 209 | 210 | * debug2 ([153bc52](https://github.com/lapras-inc/lapras-frontend/commit/153bc52d44b7753e3752cf4fa237eb1b1c56ac3c)) 211 | 212 | ### [0.0.32](https://github.com/lapras-inc/lapras-frontend/compare/v0.0.31...v0.0.32) (2021-03-02) 213 | 214 | 215 | ### Features 216 | 217 | * debug ([df1a56f](https://github.com/lapras-inc/lapras-frontend/commit/df1a56f1167e43c91d10129553efe01801219621)) 218 | 219 | ### [0.0.31](https://github.com/lapras-inc/lapras-frontend/compare/v0.0.30...v0.0.31) (2021-03-02) 220 | 221 | 222 | ### Features 223 | 224 | * 環境変数渡すの忘れてた ([2b98c59](https://github.com/lapras-inc/lapras-frontend/commit/2b98c59b2d9a5bc6ef6ac4d1966d3b041ae89a45)) 225 | 226 | ### [0.0.30](https://github.com/lapras-inc/lapras-frontend/compare/v0.0.29...v0.0.30) (2021-03-02) 227 | 228 | 229 | ### Bug Fixes 230 | 231 | * gh-pages の設定間違えてたので修正 ([ebfde0e](https://github.com/lapras-inc/lapras-frontend/commit/ebfde0e1a6c08c4961196193dc2bc80a567a1cd2)) 232 | 233 | ### [0.0.29](https://github.com/lapras-inc/lapras-frontend/compare/v0.0.28...v0.0.29) (2021-03-02) 234 | 235 | 236 | ### Features 237 | 238 | * ci でのリリース用のタスク追加 ([dc2a522](https://github.com/lapras-inc/lapras-frontend/commit/dc2a5225a9b5ea98dea5a9292e12d578d0a5b34f)) 239 | 240 | ### [0.0.28](https://github.com/lapras-inc/lapras-frontend/compare/v0.0.27...v0.0.28) (2021-03-02) 241 | 242 | 243 | ### Bug Fixes 244 | 245 | * build storybook assets before dploying ([a2e14ee](https://github.com/lapras-inc/lapras-frontend/commit/a2e14ee9a8bdfba8389832c588aac7e0ee8c9aa7)) 246 | 247 | ### [0.0.27](https://github.com/lapras-inc/lapras-frontend/compare/v0.0.26...v0.0.27) (2021-03-02) 248 | 249 | 250 | ### Features 251 | 252 | * package.json の version は固定にする ([1c20713](https://github.com/lapras-inc/lapras-frontend/commit/1c207136ef8c8ce5a9ca52b217bb1875cc28b63e)) 253 | * storybook をリリース時にデプロイする ([904864a](https://github.com/lapras-inc/lapras-frontend/commit/904864a1aa8adbba633316ff867c9c4d3f52b1b2)) 254 | * update version ([98235c4](https://github.com/lapras-inc/lapras-frontend/commit/98235c4ba88dd3f4329f295d848186648b56aece)) 255 | 256 | 257 | ### Bug Fixes 258 | 259 | * release 時に build して差分がないときコケないようにする ([99dfe3e](https://github.com/lapras-inc/lapras-frontend/commit/99dfe3e877d0a2a9c90f684937642c01521097fb)) 260 | 261 | ### [0.0.26](https://github.com/lapras-inc/lapras-frontend/compare/v0.0.25...v0.0.26) (2021-02-08) 262 | 263 | 264 | ### Features 265 | 266 | * **icon:** likeアイコンを追加 ([674f85b](https://github.com/lapras-inc/lapras-frontend/commit/674f85b06c6a0af1e87be9c8c6b8587cc2a0ae19)) 267 | 268 | ### [0.0.25](https://github.com/lapras-inc/lapras-frontend/compare/v0.0.24...v0.0.25) (2020-12-21) 269 | 270 | 271 | ### Features 272 | 273 | * release 20201221 ([0426f2b](https://github.com/lapras-inc/lapras-frontend/commit/0426f2b3ee92386ca7f56b600472f1c278cddb28)) 274 | 275 | 276 | ### Bug Fixes 277 | 278 | * スマホでTagを非表示にしようとしたときに出るモーダルの x ボタンが効かない(または推しにくくて押せていない) ([0485214](https://github.com/lapras-inc/lapras-frontend/commit/0485214006f118c8f8f770f620d5a0da55d309a9)) 279 | 280 | ### [0.0.24](https://github.com/lapras-inc/lapras-frontend/compare/v0.0.13...v0.0.24) (2020-12-15) 281 | 282 | 283 | ### Features 284 | 285 | * release 12/14 ([d60885f](https://github.com/lapras-inc/lapras-frontend/commit/d60885f547dfedb1385c1ab5ec440913b344bcea)) 286 | * **component:** shortModal はスマフォで大きく表示する ([c4572d2](https://github.com/lapras-inc/lapras-frontend/commit/c4572d27bb5d486db9bf639ea62c0a005bb22a7c)) 287 | * **component:** 短かめの内容向けに ShortModal を追加 ([3a15954](https://github.com/lapras-inc/lapras-frontend/commit/3a1595462ba06c79fc917e84c0cac2442ce06fe0)) 288 | 289 | 290 | ### Bug Fixes 291 | 292 | * 🐛 ciでdistをリリースに含むときのコミットメッセージを修正 ([5779bec](https://github.com/lapras-inc/lapras-frontend/commit/5779bec1683af06943103c70453896be2ec91b45)) 293 | 294 | ### [0.0.23](https://github.com/lapras-inc/lapras-frontend/compare/v0.0.22...v0.0.23) (2020-11-05) 295 | 296 | ### [0.0.22](https://github.com/lapras-inc/lapras-frontend/compare/v0.0.21...v0.0.22) (2020-11-05) 297 | 298 | ### [0.0.21](https://github.com/lapras-inc/lapras-frontend/compare/v0.0.20...v0.0.21) (2020-11-05) 299 | 300 | ### [0.0.20](https://github.com/lapras-inc/lapras-frontend/compare/v0.0.19...v0.0.20) (2020-11-05) 301 | 302 | ### [0.0.19](https://github.com/lapras-inc/lapras-frontend/compare/v0.0.18...v0.0.19) (2020-11-05) 303 | 304 | ### [0.0.18](https://github.com/lapras-inc/lapras-frontend/compare/v0.0.17...v0.0.18) (2020-11-05) 305 | 306 | ### [0.0.17](https://github.com/lapras-inc/lapras-frontend/compare/v0.0.16...v0.0.17) (2020-11-05) 307 | 308 | ### [0.0.16](https://github.com/lapras-inc/lapras-frontend/compare/v0.0.15...v0.0.16) (2020-11-05) 309 | 310 | ### [0.0.15](https://github.com/lapras-inc/lapras-frontend/compare/v0.0.14...v0.0.15) (2020-11-05) 311 | 312 | ### [0.0.14](https://github.com/lapras-inc/lapras-frontend/compare/v0.0.13...v0.0.14) (2020-11-05) 313 | 314 | ### [0.0.13](https://github.com/lapras-inc/lapras-frontend/compare/v0.0.12...v0.0.13) (2020-11-04) 315 | 316 | 317 | ### Features 318 | 319 | * **icons:** added icons ([99a4e2d](https://github.com/lapras-inc/lapras-frontend/commit/99a4e2d7ee9f3c9f81883fc8f938d607d808833c)) 320 | * add type definitions and type tests ([158578d](https://github.com/lapras-inc/lapras-frontend/commit/158578ddb24b08c0e681d1c89e1425fffd81ae59)) 321 | 322 | 323 | ### Bug Fixes 324 | 325 | * **lapras-frontend.d.ts:** 型定義ファイルがbuildする度に消されてしまうので、src配下に移動 ([54e2968](https://github.com/lapras-inc/lapras-frontend/commit/54e2968f8b73b18062bd484db774e124e1e6ebbd)) 326 | 327 | ### [0.0.12](https://github.com/lapras-inc/lapras-frontend/compare/v0.0.11...v0.0.12) (2020-06-16) 328 | 329 | ### [0.0.11](https://github.com/lapras-inc/lapras-frontend/compare/v0.0.9...v0.0.11) (2020-06-16) 330 | 331 | ### [0.0.10](https://github.com/lapras-inc/lapras-frontend/compare/v0.0.9...v0.0.10) (2020-06-16) 332 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # lapras frontend 2 | 3 | LAPRASで使用するフロントエンド関連の共通ライブラリ 4 | 5 | ## Directory 6 | 7 | ``` 8 | ─ fonts font関連を収める 9 | ─ src/components component関連を収める 10 | ``` 11 | 12 | ## Styleguide 13 | 14 | https://lapras-inc.github.io/lapras-frontend/ 15 | 16 | ## Commit Message Guide 17 | 18 | - [conventional-changelog](https://github.com/conventional-changelog/conventional-changelog)の書式を強制している 19 | - [standard-version](https://github.com/conventional-changelog/standard-version)でconventional-changelogの書式を自動で判定してversion upをしてくれる 20 | 21 | #### commit messageの作成方法 22 | 23 | yarn installでcommitizenをinstallすると 24 | 25 | ```shell 26 | $ git cz 27 | # or 28 | $ npx git-cz 29 | # or 30 | $ yarn commit 31 | ``` 32 | 33 | のいずれかを実行するとガイド付きでmessageの作成ができる 34 | 35 | また、commit -mなどを使用してもコミットメッセージを作成できるが、huskyによってフォーマットに不備があるとcommitされないようにしている 36 | 37 | ## Tips 38 | #### 新しいIconの追加方法 39 | 外部サービスの [IcoMoon](https://icomoon.io/) にアクセスし、 40 | 新規に追加したいIconのsvgをImportする
41 | 同様に既存アイコンのsvgファイル`fonts/scouty-icon.svg`アイコンを選択してImportを行う
42 | ※新規のアイコンが末尾に来るように『Move UP/Move Down』等でSetの入れ替えを行うこと 43 | 44 | アイコン登録後全てのアイコンを選択した上で、右下の『Generate Font』をクリックし、フォントを生成しダウンロード 45 | 46 | zip解凍後、``$ for f in `ls`; do mv $f ${f/icomoon/scouty-icon}; done``で 47 | ファイル名を変更して、`fonts/`ディレクトリ下に配置 48 | 49 | 最後に`src/components/Icon/iconMap.ts`にアイコン名とコード( [IcoMoon](https://icomoon.io/) にて確認出来る)を追加 50 | 51 | 52 | ## Release 53 | 1. `release`ブランチへのPRを作成する 54 | 2. [PRをマージするとGitHubでリリースされる](.github/workflows/npm-release.yml) 55 | -------------------------------------------------------------------------------- /commitlint.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { extends: ['@commitlint/config-conventional'] } 2 | -------------------------------------------------------------------------------- /eslint.config.js: -------------------------------------------------------------------------------- 1 | // @ts-check 2 | const eslint = require('@eslint/js'); 3 | const pluginVue = require('eslint-plugin-vue'); 4 | const tsEslint = require('typescript-eslint'); 5 | const vueParser = require('vue-eslint-parser'); 6 | const prettierConfig = require("eslint-plugin-prettier/recommended"); 7 | 8 | 9 | module.exports = [ 10 | eslint.configs.recommended, 11 | ...tsEslint.configs.recommended, 12 | ...pluginVue.configs['flat/essential'], 13 | prettierConfig, 14 | { 15 | languageOptions: { 16 | parser: vueParser, 17 | parserOptions: { 18 | ecmaVersion: 2020, 19 | parser: tsEslint.parser, 20 | extraFileExtensions: [".vue"], 21 | sourceType: "module", 22 | project: ["./tsconfig.json"], 23 | }, 24 | }, 25 | }, 26 | { 27 | rules: { 28 | 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', 29 | 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', 30 | 'vue/require-explicit-emits': 'error', 31 | 'vue/multi-word-component-names': 'off', 32 | }, 33 | }, 34 | ]; 35 | -------------------------------------------------------------------------------- /fonts/scouty-icon.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lapras-inc/lapras-frontend/d850c936cf86bc6efc0b45f776bcc6b418107a7a/fonts/scouty-icon.eot -------------------------------------------------------------------------------- /fonts/scouty-icon.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lapras-inc/lapras-frontend/d850c936cf86bc6efc0b45f776bcc6b418107a7a/fonts/scouty-icon.ttf -------------------------------------------------------------------------------- /fonts/scouty-icon.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lapras-inc/lapras-frontend/d850c936cf86bc6efc0b45f776bcc6b418107a7a/fonts/scouty-icon.woff -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@lapras-inc/lapras-frontend", 3 | "version": "0.3.5", 4 | "author": "nasum ", 5 | "scripts": { 6 | "build": "npm run build:types && npm run build:vue", 7 | "build:types": "vue-tsc --declaration --emitDeclarationOnly -p tsconfig.types.json && tsc-alias -p tsconfig.json", 8 | "lint": "eslint \"src/**/*.{ts,vue}\"", 9 | "build:vue": "vite build", 10 | "chromatic": "npx chromatic storybook:build --project-token $CHROMATIC_TOKEN -b storybook:build --exit-zero-on-changes", 11 | "commit": "git-cz", 12 | "lint:ci": "yarn lint && yarn lint:commit --from=origin/master", 13 | "lint:commit": "commitlint", 14 | "release": "standard-version", 15 | "storybook:build": "storybook build", 16 | "storybook:deploy": "gh-pages --nojekyll -d storybook-static", 17 | "storybook:deploy:ci": "gh-pages --nojekyll -r 'https://action:'$GITHUB_TOKEN'@github.com/lapras-inc/lapras-frontend.git' -x -d storybook-static", 18 | "test": "echo 'not implemented now'", 19 | "storybook:serve": "storybook dev -p 6006" 20 | }, 21 | "main": "dist/lapras-frontend.js", 22 | "files": [ 23 | "dist", 24 | "types" 25 | ], 26 | "dependencies": { 27 | "@popperjs/core": "^2.11.8", 28 | "body-scroll-lock": "^3.1.5", 29 | "core-js": "^3.37.1" 30 | }, 31 | "devDependencies": { 32 | "vue": "^3.4.34", 33 | "@chromatic-com/storybook": "^1.6.1", 34 | "@commitlint/cli": "^19.3.0", 35 | "@commitlint/config-conventional": "^19.2.2", 36 | "@eslint/js": "^9.8.0", 37 | "@storybook/addon-essentials": "^8.3.5", 38 | "@storybook/blocks": "^8.3.5", 39 | "@storybook/core": "^8.3.5", 40 | "@storybook/vue3-vite": "^8.3.5", 41 | "@types/body-scroll-lock": "^3.1.2", 42 | "@types/eslint__js": "^8.42.3", 43 | "@typescript-eslint/eslint-plugin": "^8.8.1", 44 | "@typescript-eslint/parser": "^8.8.1", 45 | "@vitejs/plugin-vue": "^5.1.1", 46 | "@vue/compiler-sfc": "3.4.34", 47 | "@vue/runtime-dom": "^3.4.34", 48 | "chromatic": "^11.5.6", 49 | "commitizen": "^4.3.0", 50 | "cz-conventional-changelog": "3.3.0", 51 | "eslint": "^9.8.0", 52 | "eslint-config-prettier": "^9.1.0", 53 | "eslint-plugin-prettier": "^5.2.1", 54 | "eslint-plugin-storybook": "^0.8.0", 55 | "eslint-plugin-vue": "^9.27.0", 56 | "gh-pages": "^6.1.1", 57 | "husky": "^4.2.5", 58 | "prettier": "^3.3.3", 59 | "sass": "^1.77.8", 60 | "standard-version": "^9.5.0", 61 | "storybook": "^8.3.5", 62 | "tsc-alias": "1.8.10", 63 | "typescript": "^5.5.4", 64 | "typescript-eslint": "^8.8.1", 65 | "vite": "^5.3.5", 66 | "vue-eslint-parser": "^9.4.3", 67 | "vue-tsc": "2.0.29" 68 | }, 69 | "config": { 70 | "commitizen": { 71 | "path": "./node_modules/cz-conventional-changelog" 72 | } 73 | }, 74 | "license": "UNLICENSED", 75 | "publishConfig": { 76 | "registry": "https://npm.pkg.github.com/" 77 | }, 78 | "repository": "ssh://git@github.com/lapras-inc/lapras-frontend.git", 79 | "types": "types/main.d.ts", 80 | "eslintConfig": { 81 | "extends": [ 82 | "plugin:storybook/recommended" 83 | ] 84 | }, 85 | "engines": { 86 | "node": ">=20.x <=22.x" 87 | }, 88 | "peerDependencies": { 89 | "vue": "^3.4.34" 90 | } 91 | } 92 | -------------------------------------------------------------------------------- /src/components/AvatarImg/AvatarImg.stories.ts: -------------------------------------------------------------------------------- 1 | import type { Meta, StoryObj } from '@storybook/vue3' 2 | import AvatarImg from './AvatarImg.vue' 3 | 4 | const meta: Meta = { 5 | title: 'AvatarImg', 6 | component: AvatarImg, 7 | render: (args) => ({ 8 | components: { AvatarImg }, 9 | setup() { 10 | return { args } 11 | }, 12 | template: '', 13 | }), 14 | } 15 | 16 | export default meta 17 | 18 | type Story = StoryObj 19 | 20 | export const Default: Story = { 21 | name: 'default', 22 | args: { 23 | src: '//placehold.jp/50x50.png', 24 | }, 25 | } 26 | 27 | export const NoImage: Story = { 28 | name: 'no image', 29 | args: { 30 | src: '', 31 | }, 32 | } 33 | -------------------------------------------------------------------------------- /src/components/AvatarImg/AvatarImg.vue: -------------------------------------------------------------------------------- 1 | 9 | 10 | 30 | 31 | 47 | -------------------------------------------------------------------------------- /src/components/Card/Card.stories.ts: -------------------------------------------------------------------------------- 1 | import type { Meta, StoryObj } from '@storybook/vue3' 2 | import Card from './Card.vue' 3 | 4 | const meta: Meta = { 5 | title: 'Card', 6 | component: Card, 7 | render: (args) => ({ 8 | components: { Card }, 9 | setup() { 10 | return { args } 11 | }, 12 | template: 13 | 'There is always light
behind the clouds.
', 14 | }), 15 | } 16 | 17 | export default meta 18 | 19 | type Story = StoryObj 20 | 21 | export const SkinDefault: Story = { 22 | name: 'skin: default', 23 | args: { 24 | skin: 'default', 25 | }, 26 | } 27 | 28 | export const SkinBackground: Story = { 29 | name: 'skin: background', 30 | args: { 31 | skin: 'background', 32 | }, 33 | } 34 | 35 | export const SkinBackgroundLine: Story = { 36 | name: 'skin: background line', 37 | args: { 38 | skin: 'background-line', 39 | }, 40 | } 41 | -------------------------------------------------------------------------------- /src/components/Card/Card.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 20 | 21 | 39 | -------------------------------------------------------------------------------- /src/components/CheckBox/CheckBox.stories.ts: -------------------------------------------------------------------------------- 1 | import type { Meta, StoryObj } from '@storybook/vue3' 2 | import CheckBox from './CheckBox.vue' 3 | 4 | const meta: Meta = { 5 | title: 'CheckBox', 6 | component: CheckBox, 7 | render: (args) => ({ 8 | components: { CheckBox }, 9 | setup() { 10 | return { args } 11 | }, 12 | template: ` 13 |
14 | 15 |

{{ args.modelValue ? 'on' : 'off' }}

16 |
17 | `, 18 | }), 19 | } 20 | 21 | export default meta 22 | 23 | type Story = StoryObj 24 | 25 | export const Default: Story = { 26 | name: 'default', 27 | args: { 28 | modelValue: true, 29 | disabled: false, 30 | }, 31 | } 32 | 33 | export const Disabled: Story = { 34 | name: 'disabled', 35 | args: { 36 | modelValue: true, 37 | disabled: true, 38 | }, 39 | } 40 | -------------------------------------------------------------------------------- /src/components/CheckBox/CheckBox.vue: -------------------------------------------------------------------------------- 1 | 16 | 17 | 53 | 54 | 93 | -------------------------------------------------------------------------------- /src/components/ContentLoader/ContentLoader.stories.ts: -------------------------------------------------------------------------------- 1 | import type { Meta, StoryObj } from '@storybook/vue3' 2 | import ContentLoader from './ContentLoader.vue' 3 | 4 | const meta: Meta = { 5 | title: 'ContentLoader', 6 | component: ContentLoader, 7 | argTypes: { 8 | type: { 9 | control: { type: 'select' }, 10 | options: ['PARAGRAPH', 'BULLET_LIST', 'CIRCLE'], 11 | defaultValue: 'PARAGRAPH', 12 | }, 13 | lineCount: { 14 | control: { type: 'number' }, 15 | defaultValue: 5, 16 | }, 17 | lineHeight: { 18 | control: { type: 'number' }, 19 | defaultValue: 1, 20 | }, 21 | randomLineWidth: { 22 | control: { type: 'boolean' }, 23 | defaultValue: true, 24 | }, 25 | gap: { 26 | control: { type: 'number' }, 27 | defaultValue: 0.8, 28 | }, 29 | }, 30 | render: (args) => ({ 31 | components: { ContentLoader }, 32 | setup() { 33 | return { args } 34 | }, 35 | template: ` 36 | `, 37 | }), 38 | } 39 | 40 | export default meta 41 | 42 | type Story = StoryObj 43 | 44 | export const Default: Story = { 45 | name: 'default', 46 | args: { 47 | type: 'PARAGRAPH', 48 | lineCount: 5, 49 | lineHeight: 1, 50 | randomLineWidth: true, 51 | gap: 0.8, 52 | }, 53 | } 54 | -------------------------------------------------------------------------------- /src/components/ContentLoader/ContentLoader.vue: -------------------------------------------------------------------------------- 1 | 35 | 36 | 67 | 68 | 103 | -------------------------------------------------------------------------------- /src/components/EnhancedIconButton/EnhancedIconButton.stories.ts: -------------------------------------------------------------------------------- 1 | import type { Meta, StoryObj } from '@storybook/vue3' 2 | import EnhancedIconButton from './EnhancedIconButton.vue' 3 | import Icon from '@/components/Icon/Icon.vue' 4 | 5 | const meta: Meta = { 6 | title: 'EnhancedIconButton', 7 | component: EnhancedIconButton, 8 | render: (args) => ({ 9 | components: { EnhancedIconButton, Icon }, 10 | setup() { 11 | return { args } 12 | }, 13 | template: ` 14 |
15 | 16 | 17 | 18 |
`, 19 | }), 20 | } 21 | 22 | export default meta 23 | 24 | type Story = StoryObj 25 | 26 | export const Default: Story = { 27 | name: 'default', 28 | } 29 | -------------------------------------------------------------------------------- /src/components/EnhancedIconButton/EnhancedIconButton.vue: -------------------------------------------------------------------------------- 1 | 47 | 48 | 61 | 62 | 110 | -------------------------------------------------------------------------------- /src/components/FieldGroup/FieldGroup.stories.ts: -------------------------------------------------------------------------------- 1 | import type { Meta, StoryObj } from '@storybook/vue3' 2 | import type { ComponentProps } from 'vue-component-type-helpers' 3 | import FieldGroup from './FieldGroup.vue' 4 | import TextInput from '../TextInput/TextInput.vue' 5 | 6 | type FieldGroupPropsAndCustomArgs = ComponentProps & { 7 | error?: boolean 8 | note: string 9 | } 10 | 11 | const meta: Meta = { 12 | title: 'FieldGroup', 13 | component: FieldGroup, 14 | render: (args) => ({ 15 | components: { FieldGroup, TextInput }, 16 | setup() { 17 | return { args } 18 | }, 19 | template: ` 20 | 26 | 29 | 32 | `, 33 | }), 34 | } 35 | 36 | export default meta 37 | 38 | type Story = StoryObj 39 | 40 | export const Default: Story = { 41 | name: 'default', 42 | args: { 43 | label: 'email', 44 | required: true, 45 | errorMessage: '', 46 | subLabel: '', 47 | error: false, 48 | note: '', 49 | }, 50 | } 51 | 52 | export const HasOptions: Story = { 53 | name: 'has options', 54 | args: { 55 | label: 'email', 56 | required: false, 57 | errorMessage: 'invalid email', 58 | subLabel: 'email', 59 | error: true, 60 | note: 'hogehoge', 61 | }, 62 | } 63 | -------------------------------------------------------------------------------- /src/components/FieldGroup/FieldGroup.vue: -------------------------------------------------------------------------------- 1 | 20 | 21 | 46 | 47 | 95 | -------------------------------------------------------------------------------- /src/components/FlatButton/FlatButton.stories.ts: -------------------------------------------------------------------------------- 1 | import type { Meta, StoryObj } from '@storybook/vue3' 2 | import type { ComponentProps } from 'vue-component-type-helpers' 3 | import { action } from '@storybook/addon-actions' 4 | import FlatButton from './FlatButton.vue' 5 | import Icon from '../Icon/Icon.vue' 6 | 7 | type FlatButtonPropsAndCustomArgs = ComponentProps & { 8 | label: string 9 | leftIcon?: string 10 | rightIcon?: string 11 | } 12 | const meta: Meta = { 13 | title: 'FlatButton', 14 | component: FlatButton, 15 | render: (args) => ({ 16 | components: { FlatButton, Icon }, 17 | setup() { 18 | return { args, action: action('clicked') } 19 | }, 20 | template: ` 21 | 27 | 28 | 31 | 34 | 35 | `, 36 | }), 37 | } 38 | 39 | export default meta 40 | 41 | type Story = StoryObj 42 | 43 | export const Default: Story = { 44 | name: 'default', 45 | args: { 46 | label: 'label', 47 | skin: undefined, 48 | size: undefined, 49 | enhanced: false, 50 | leftIcon: undefined, 51 | rightIcon: undefined, 52 | }, 53 | } 54 | 55 | export const SkinImportant: Story = { 56 | name: 'skin: important', 57 | args: { 58 | label: 'label', 59 | skin: 'important', 60 | }, 61 | } 62 | 63 | export const SkinPrimary: Story = { 64 | name: 'skin: primary', 65 | args: { 66 | label: 'label', 67 | skin: 'primary', 68 | }, 69 | } 70 | 71 | export const SkinPrimaryLine: Story = { 72 | name: 'skin: primary line', 73 | args: { 74 | label: 'label', 75 | skin: 'primary-line', 76 | }, 77 | } 78 | 79 | export const SkinSecondary: Story = { 80 | name: 'skin: secondary', 81 | args: { 82 | label: 'label', 83 | skin: 'secondary', 84 | }, 85 | } 86 | 87 | export const SkinTertiary: Story = { 88 | name: 'skin: tertiary', 89 | args: { 90 | label: 'label', 91 | skin: 'tertiary', 92 | }, 93 | } 94 | 95 | export const SkinMuted: Story = { 96 | name: 'skin: muted', 97 | args: { 98 | label: 'label', 99 | skin: 'muted', 100 | }, 101 | } 102 | 103 | export const SkinDisabled: Story = { 104 | name: 'skin: disabled', 105 | args: { 106 | label: 'label', 107 | skin: 'disabled', 108 | }, 109 | } 110 | 111 | export const SizeXl: Story = { 112 | name: 'size: xl', 113 | args: { 114 | label: 'label', 115 | size: 'xl', 116 | }, 117 | } 118 | 119 | export const SizeL: Story = { 120 | name: 'size: l', 121 | args: { 122 | label: 'label', 123 | size: 'l', 124 | }, 125 | } 126 | 127 | export const SizeM: Story = { 128 | name: 'size: m', 129 | args: { 130 | label: 'label', 131 | size: 'm', 132 | }, 133 | } 134 | 135 | export const SizeS: Story = { 136 | name: 'size: s', 137 | args: { 138 | label: 'label', 139 | size: 's', 140 | }, 141 | } 142 | 143 | export const SizeXs: Story = { 144 | name: 'size: xs', 145 | args: { 146 | label: 'label', 147 | size: 'xs', 148 | }, 149 | } 150 | 151 | export const HasIcons: Story = { 152 | name: 'has icons', 153 | args: { 154 | label: 'label', 155 | leftIcon: 'arrow-left', 156 | rightIcon: 'arrow-right', 157 | }, 158 | } 159 | 160 | export const HasLeftIcon: Story = { 161 | name: 'has left icon', 162 | args: { 163 | label: 'label', 164 | leftIcon: 'arrow-left', 165 | }, 166 | } 167 | 168 | export const HasRightIcon: Story = { 169 | name: 'has right icon', 170 | args: { 171 | label: 'label', 172 | rightIcon: 'arrow-right', 173 | }, 174 | } 175 | 176 | export const Inline: Story = { 177 | name: 'inline', 178 | args: { 179 | label: 'Button', 180 | leftIcon: 'cross', 181 | }, 182 | render: (args) => ({ 183 | components: { FlatButton, Icon }, 184 | setup() { 185 | return { args } 186 | }, 187 | template: ` 188 | 189 | 194 | 195 | 198 | 201 | 202 | 203 | `, 204 | }), 205 | } 206 | 207 | export const Enhanced: Story = { 208 | name: 'enhanced', 209 | args: { 210 | label: 'Button', 211 | enhanced: true, 212 | }, 213 | } 214 | -------------------------------------------------------------------------------- /src/components/FlatButton/FlatButton.vue: -------------------------------------------------------------------------------- 1 | 18 | 19 | 60 | 61 | 194 | -------------------------------------------------------------------------------- /src/components/Icon/Icon.stories.ts: -------------------------------------------------------------------------------- 1 | import type { Meta, StoryObj } from '@storybook/vue3' 2 | import Icon from './Icon.vue' 3 | import iconMap from './iconMap' 4 | 5 | const meta: Meta = { 6 | title: 'Icon', 7 | component: Icon, 8 | render: (args) => ({ 9 | components: { Icon }, 10 | setup() { 11 | return { args, iconMap } 12 | }, 13 | template: ` 14 |
15 |
16 | 17 |
{{ name }}
18 |
19 |
20 | `, 21 | }), 22 | } 23 | 24 | export default meta 25 | 26 | export type Story = StoryObj 27 | 28 | export const IconList: Story = { 29 | name: 'icon list', 30 | } 31 | -------------------------------------------------------------------------------- /src/components/Icon/Icon.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 26 | 27 | 55 | -------------------------------------------------------------------------------- /src/components/Icon/iconMap.ts: -------------------------------------------------------------------------------- 1 | // prettier-ignore 2 | export default { 3 | 'add-document': '\ue916', 4 | 'add-user': '\ue917', 5 | 'analytics': '\ue959', 6 | 'arrow-down-bold': '\ue95e', 7 | 'arrow-down': '\ue934', 8 | 'arrow-left-double': '\ue943', 9 | 'arrow-left': '\ue944', 10 | 'arrow-left2': '\ue972', 11 | 'arrow-left3': '\ue973', 12 | 'arrow-left4': '\ue974', 13 | 'arrow-right-double': '\ue945', 14 | 'arrow-right': '\ue946', 15 | 'arrow-right2': '\ue961', 16 | 'arrow-right3': '\ue968', 17 | 'arrow-right4': '\ue975', 18 | 'arrow-up': '\ue971', 19 | 'at': '\ue918', 20 | 'back-arrow': '\ue933', 21 | 'bell': '\ue91e', 22 | 'briefcase': '\ue91d', 23 | 'cake': '\ue931', 24 | 'calendar': '\ue932', 25 | 'cancel': '\ue930', 26 | 'check': '\ue92f', 27 | 'circle-add-button': '\ue936', 28 | 'circle-arrow-left': '\ue93d', 29 | 'circle-arrow-right': '\ue93e', 30 | 'circle': '\ue94c', 31 | 'clock': '\ue96a', 32 | 'close-bold': '\ue95d', 33 | 'close-circle': '\ue929', 34 | 'close': '\ue95b', 35 | 'comment': '\ue903', 36 | 'commits': '\ue93a', 37 | 'company': '\ue92e', 38 | 'contributors': '\ue939', 39 | 'cross': '\ue94d', 40 | 'danger': '\ue92c', 41 | 'delete-user': '\ue94b', 42 | 'document': '\ue900', 43 | 'double-circle': '\ue952', 44 | 'edit-window': '\ue923', 45 | 'electric-ray': '\ue928', 46 | 'emotion-frown': '\ue94f', 47 | 'emotion-normal': '\ue950', 48 | 'emotion-smile': '\ue951', 49 | 'exclamation': '\ue92a', 50 | 'external-link': '\ue92b', 51 | 'eye-close': '\ue920', 52 | 'eye': '\ue92d', 53 | 'file': '\ue969', 54 | 'forks': '\ue937', 55 | 'github': '\ue93c', 56 | 'heart-full': '\ue926', 57 | 'help': '\ue927', 58 | 'home': '\ue925', 59 | 'home2': '\ue963', 60 | 'icon-picture': '\ue919', 61 | 'info': '\ue924', 62 | 'info2': '\ue960', 63 | 'interview': '\ue948', 64 | 'job': '\ue962', 65 | 'layout': '\ue901', 66 | 'layout2': '\ue96b', 67 | 'like-fill': '\ue95f', 68 | 'like': '\ue95c', 69 | 'link': '\ue922', 70 | 'mail-line': '\ue966', 71 | 'mail': '\ue921', 72 | 'medal': '\ue908', 73 | 'memo': '\ue94a', 74 | 'menu': '\ue93f', 75 | 'money': '\ue97a', 76 | 'more-button-dots': '\ue947', 77 | 'note-edit': '\ue913', 78 | 'openmail': '\ue941', 79 | 'paper': '\ue938', 80 | 'paperclip': '\ue91a', 81 | 'paper-plane': '\ue979', 82 | 'parson': '\ue906', 83 | 'pencil-circle': '\ue90f', 84 | 'pencil': '\ue90e', 85 | 'people': '\ue910', 86 | 'people2': '\ue967', 87 | 'person-arrow': '\ue965', 88 | 'pin': '\ue911', 89 | 'placemap': '\ue91c', 90 | 'plus': '\ue955', 91 | 'minus': '\ue97b', 92 | 'profile': '\ue912', 93 | 'refresh': '\ue90a', 94 | 'replymail': '\ue949', 95 | 'report-problem': '\ue964', 96 | 'row-left-arrow': '\ue90b', 97 | 'row-right-arrow': '\ue90c', 98 | 'search': '\ue909', 99 | 'sendmail': '\ue958', 100 | 'setting': '\ue954', 101 | 'settings': '\ue91b', 102 | 'share': '\ue95a', 103 | 'sort-down': '\ue907', 104 | 'square-add-button': '\ue904', 105 | 'square-delete-button': '\ue93b', 106 | 'star-full': '\ue914', 107 | 'star-half': '\ue915', 108 | 'stock': '\ue957', 109 | 'stop': '\uea6c', 110 | 'storage-box': '\ue905', 111 | 'stylish-plus': '\ue956', 112 | 'surprised-bell': '\ue953', 113 | 'tag': '\ue902', 114 | 'task-check': '\ue91f', 115 | 'thumbs-down': '\ue976', 116 | 'thumbs-up': '\ue94e', 117 | 'tray': '\ue935', 118 | 'trush': '\ue90d', 119 | 'unopened': '\ue940', 120 | 'view': '\ue942', 121 | 'balloon': '\ue96c', 122 | 'lightbulb': '\ue96d', 123 | 'sword': '\ue96e', 124 | 'crown': '\ue96f', 125 | 'sparkle': '\ue970', 126 | 'activity': '\ue977', 127 | 'interest': '\ue978', 128 | 'remote': '\ue97c', 129 | 'upload-document': '\ue97d', 130 | } 131 | -------------------------------------------------------------------------------- /src/components/Modal/Modal.stories.ts: -------------------------------------------------------------------------------- 1 | import type { Meta, StoryObj } from '@storybook/vue3' 2 | import Modal from './Modal.vue' 3 | 4 | const meta: Meta = { 5 | title: 'Modal', 6 | component: Modal, 7 | } 8 | 9 | export default meta 10 | 11 | type Story = StoryObj 12 | 13 | export const Default: Story = { 14 | name: 'default', 15 | args: { 16 | filterBackground: 'rgba(0, 48, 137, 0.14)', 17 | hasClose: true, 18 | visible: false, 19 | panel: true, 20 | gutter: 20, 21 | zIndex: 10, 22 | }, 23 | render: (args) => ({ 24 | components: { 25 | Modal, 26 | }, 27 | setup() { 28 | const action = () => { 29 | console.log('button pressed!') 30 | } 31 | const onClose = () => { 32 | args.visible = false 33 | } 34 | return { args, action, onClose } 35 | }, 36 | template: ` 37 |
38 | 39 | 48 |
49 | link 50 |
51 |
52 | `, 53 | }), 54 | } 55 | 56 | export const Scroll: Story = { 57 | name: 'scroll', 58 | args: { 59 | filterBackground: 'rgba(0, 48, 137, 0.14)', 60 | hasClose: true, 61 | visible: false, 62 | panel: true, 63 | gutter: 20, 64 | zIndex: 10, 65 | }, 66 | render: (args) => ({ 67 | components: { 68 | Modal, 69 | }, 70 | setup() { 71 | const action = () => { 72 | console.log('button pressed!') 73 | } 74 | const onClose = () => { 75 | args.visible = false 76 | } 77 | return { args, action, onClose, longTextHtml: 'scroll
'.repeat(50) } 78 | }, 79 | template: ` 80 |
81 | 82 | 91 | 92 | 93 |
94 | `, 95 | }), 96 | } 97 | -------------------------------------------------------------------------------- /src/components/Modal/Modal.vue: -------------------------------------------------------------------------------- 1 | 36 | 37 | 97 | 98 | 166 | -------------------------------------------------------------------------------- /src/components/ProtectedLink/ProtectedLink.stories.ts: -------------------------------------------------------------------------------- 1 | import type { Meta, StoryObj } from '@storybook/vue3' 2 | import type { ComponentProps } from 'vue-component-type-helpers' 3 | import ProtectedLink from './ProtectedLink.vue' 4 | 5 | type ProtectedLinkPropsAndCustomArgs = ComponentProps & { 6 | default: string 7 | } 8 | 9 | const meta: Meta = { 10 | title: 'ProtectedLink', 11 | component: ProtectedLink, 12 | render: (args) => ({ 13 | components: { ProtectedLink }, 14 | setup() { 15 | return { args } 16 | }, 17 | template: '{{ args.default }}', 18 | }), 19 | } 20 | 21 | export default meta 22 | 23 | type Story = StoryObj 24 | 25 | export const Default: Story = { 26 | name: 'default', 27 | args: { 28 | href: '//placehold.jp/150x150.png', 29 | default: '//placehold.jp/150x150.png', 30 | }, 31 | } 32 | 33 | export const Http: Story = { 34 | name: 'http', 35 | args: { 36 | href: 'http://placehold.jp/150x150.png', 37 | default: 'http://placehold.jp/150x150.png', 38 | }, 39 | } 40 | 41 | export const Https: Story = { 42 | name: 'https', 43 | args: { 44 | href: 'https://placehold.jp/150x150.png', 45 | default: 'https://placehold.jp/150x150.png', 46 | }, 47 | } 48 | 49 | export const AbsolutePath: Story = { 50 | name: 'absolute path', 51 | args: { 52 | href: '/example', 53 | default: '/example', 54 | }, 55 | } 56 | 57 | export const RelativePath1: Story = { 58 | name: 'relative path1', 59 | args: { 60 | href: './example', 61 | default: './example', 62 | }, 63 | } 64 | 65 | export const RelativePath2: Story = { 66 | name: 'relative path2', 67 | args: { 68 | href: 'example', 69 | default: 'example', 70 | }, 71 | } 72 | 73 | export const ValidAttrsInherited: Story = { 74 | name: 'valid attrs inherited', 75 | args: { 76 | href: 'https://placehold.jp/150x150.png', 77 | default: 'https://placehold.jp/150x150.png', 78 | }, 79 | } 80 | 81 | export const XssJavascriptScheme: Story = { 82 | name: 'xss javascript scheme', 83 | args: { 84 | href: 'javascript:alert(document.domain)', 85 | default: 'javascript:alert(document.domain)', 86 | }, 87 | } 88 | 89 | export const TargetBlank: Story = { 90 | name: 'target=_blank', 91 | args: { 92 | href: 'https://en.wikipedia.org/wiki/William_Shakespeare', 93 | target: '_blank', 94 | rel: 'author', 95 | default: 'author of Hamlet', 96 | }, 97 | } 98 | 99 | export const ForcePermitAnyLink: Story = { 100 | name: 'force permit any link', 101 | args: { 102 | href: 'javascript:alert(document.domain)', 103 | force: true, 104 | default: 'javascript:alert(document.domain)', 105 | }, 106 | } 107 | -------------------------------------------------------------------------------- /src/components/ProtectedLink/ProtectedLink.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 72 | -------------------------------------------------------------------------------- /src/components/Radio/Radio.stories.ts: -------------------------------------------------------------------------------- 1 | import type { Meta, StoryObj } from '@storybook/vue3' 2 | import type { ComponentProps } from 'vue-component-type-helpers' 3 | import Radio from './Radio.vue' 4 | 5 | type RadioPropsAndCustomArgs = ComponentProps & { 6 | value?: string 7 | } 8 | 9 | const meta: Meta = { 10 | title: 'Radio', 11 | component: Radio, 12 | render: (args) => ({ 13 | components: { Radio }, 14 | setup() { 15 | return { args } 16 | }, 17 | template: ` 18 |
19 | 20 | 21 |

{{ args.value }}

22 |
23 | `, 24 | }), 25 | } 26 | 27 | export default meta 28 | 29 | type Story = StoryObj 30 | 31 | export const Default: Story = { 32 | name: 'default', 33 | args: { 34 | value: 'a', 35 | }, 36 | } 37 | 38 | export const Disabled: Story = { 39 | name: 'disabled', 40 | args: { 41 | modelValue: false, 42 | disabled: true, 43 | }, 44 | render: (args) => ({ 45 | components: { Radio }, 46 | setup() { 47 | return { args } 48 | }, 49 | template: ` 50 |
51 | 52 |

disabled

53 |
54 | `, 55 | }), 56 | } 57 | -------------------------------------------------------------------------------- /src/components/Radio/Radio.vue: -------------------------------------------------------------------------------- 1 | 14 | 15 | 47 | 48 | 89 | -------------------------------------------------------------------------------- /src/components/RatingBar/RatingBar.stories.ts: -------------------------------------------------------------------------------- 1 | import type { Meta, StoryObj } from '@storybook/vue3' 2 | import RatingBar from './RatingBar.vue' 3 | 4 | const meta: Meta = { 5 | title: 'RatingBar', 6 | component: RatingBar, 7 | render: (args) => ({ 8 | components: { RatingBar }, 9 | setup() { 10 | return { args } 11 | }, 12 | template: '', 13 | }), 14 | } 15 | 16 | export default meta 17 | 18 | type Story = StoryObj 19 | 20 | export const Default: Story = { 21 | name: 'default', 22 | args: { 23 | value: 3.5, 24 | }, 25 | } 26 | 27 | export const HighScore: Story = { 28 | name: 'high score', 29 | args: { 30 | value: 3.5, 31 | highThreshold: 3.5, 32 | }, 33 | } 34 | 35 | export const CustomColor: Story = { 36 | name: 'custom color', 37 | args: { 38 | value: 3.5, 39 | barColor: '#58ba0c', 40 | }, 41 | } 42 | -------------------------------------------------------------------------------- /src/components/RatingBar/RatingBar.vue: -------------------------------------------------------------------------------- 1 | 12 | 13 | 42 | 43 | 63 | -------------------------------------------------------------------------------- /src/components/SelectBox/SelectBox.stories.ts: -------------------------------------------------------------------------------- 1 | import type { Meta, StoryObj } from '@storybook/vue3' 2 | import type { ComponentProps } from 'vue-component-type-helpers' 3 | import SelectBox from './SelectBox.vue' 4 | 5 | type SelectBoxPropsAndCustomArgs = ComponentProps & { 6 | vale: string 7 | } 8 | 9 | const meta: Meta = { 10 | title: 'SelectBox', 11 | component: SelectBox, 12 | render: (args) => ({ 13 | components: { SelectBox }, 14 | setup() { 15 | return { args } 16 | }, 17 | template: ` 18 |
19 | 20 |
21 | `, 22 | }), 23 | } 24 | 25 | export default meta 26 | 27 | type Story = StoryObj 28 | 29 | export const Default: Story = { 30 | name: 'default', 31 | args: { 32 | options: [ 33 | { 34 | value: 'hoge key', 35 | label: 'hoge label', 36 | }, 37 | { 38 | value: 'fuga key', 39 | label: 'fuga label', 40 | }, 41 | ], 42 | placeholder: 'placeholder', 43 | }, 44 | } 45 | -------------------------------------------------------------------------------- /src/components/SelectBox/SelectBox.vue: -------------------------------------------------------------------------------- 1 | 20 | 21 | 63 | 64 | 100 | -------------------------------------------------------------------------------- /src/components/ShortModal/ShortModal.stories.ts: -------------------------------------------------------------------------------- 1 | import type { Meta, StoryObj } from '@storybook/vue3' 2 | import ShortModal from './ShortModal.vue' 3 | 4 | const meta: Meta = { 5 | title: 'ShortModal', 6 | component: ShortModal, 7 | } 8 | 9 | export default meta 10 | 11 | type Story = StoryObj 12 | 13 | export const Default: Story = { 14 | args: { 15 | visible: false, 16 | }, 17 | render: (args) => ({ 18 | components: { 19 | ShortModal, 20 | }, 21 | setup() { 22 | const action = () => { 23 | console.log('button pressed!') 24 | } 25 | return { 26 | args, 27 | action, 28 | } 29 | }, 30 | template: ` 31 |
32 | 33 | 34 |
35 | link 36 |
37 |
38 | `, 39 | }), 40 | name: 'default', 41 | } 42 | 43 | export const Scroll: Story = { 44 | args: { 45 | visible: false, 46 | }, 47 | render: (args) => ({ 48 | components: { 49 | ShortModal, 50 | }, 51 | setup() { 52 | return { 53 | args, 54 | longTextHtml: 'scroll
'.repeat(50), 55 | } 56 | }, 57 | template: ` 58 |
59 | 60 |

61 | 62 | 63 | short 64 | 65 |

66 | 67 |
68 | `, 69 | }), 70 | 71 | name: 'scroll', 72 | } 73 | -------------------------------------------------------------------------------- /src/components/ShortModal/ShortModal.vue: -------------------------------------------------------------------------------- 1 | 34 | 35 | 85 | 86 | 169 | -------------------------------------------------------------------------------- /src/components/TagLabel/TagLabel.stories.ts: -------------------------------------------------------------------------------- 1 | import type { Meta, StoryObj } from '@storybook/vue3' 2 | import type { ComponentProps } from 'vue-component-type-helpers' 3 | import TagLabel from './TagLabel.vue' 4 | import Icon from '@/components/Icon/Icon.vue' 5 | 6 | type TagLabelPropsAndCustomArgs = ComponentProps & { 7 | defaultSlot: string 8 | level: string 9 | subLabel: string | null 10 | icon: string | null 11 | } 12 | 13 | const meta: Meta = { 14 | title: 'TagLabel', 15 | component: TagLabel, 16 | } 17 | 18 | export default meta 19 | 20 | type Story = StoryObj 21 | 22 | export const Default: Story = { 23 | name: 'default', 24 | args: { 25 | defaultSlot: 'label', 26 | background: undefined, 27 | color: undefined, 28 | }, 29 | render: (args) => ({ 30 | components: { TagLabel }, 31 | setup() { 32 | return { args } 33 | }, 34 | template: ` 35 | 36 | 37 | 38 | `, 39 | }), 40 | } 41 | 42 | export const Background: Story = { 43 | name: 'background', 44 | args: { 45 | defaultSlot: 'OSS', 46 | background: '#003089', 47 | color: '#fff', 48 | }, 49 | render: (args) => ({ 50 | components: { TagLabel }, 51 | setup() { 52 | return { args } 53 | }, 54 | template: ` 55 | 56 | 57 | 58 | `, 59 | }), 60 | } 61 | 62 | export const HasLevel: Story = { 63 | name: 'has level', 64 | args: { 65 | defaultSlot: 'Python', 66 | background: undefined, 67 | color: undefined, 68 | level: '5', 69 | subLabel: '5', 70 | }, 71 | render: (args) => ({ 72 | components: { TagLabel }, 73 | setup() { 74 | return { args } 75 | }, 76 | template: ` 77 | 78 | 79 | 80 | 81 | `, 82 | }), 83 | } 84 | 85 | export const HasIcon: Story = { 86 | name: 'has icon', 87 | args: { 88 | defaultSlot: 'Python', 89 | background: undefined, 90 | color: undefined, 91 | level: '5', 92 | icon: 'eye-close', 93 | }, 94 | render: (args) => ({ 95 | components: { TagLabel, Icon }, 96 | setup() { 97 | return { args } 98 | }, 99 | template: ` 100 | 101 | 104 | 105 | 106 | `, 107 | }), 108 | } 109 | -------------------------------------------------------------------------------- /src/components/TagLabel/TagLabel.vue: -------------------------------------------------------------------------------- 1 | 15 | 16 | 33 | 34 | 64 | -------------------------------------------------------------------------------- /src/components/TextInput/TextInput.stories.ts: -------------------------------------------------------------------------------- 1 | import { Meta, StoryObj } from '@storybook/vue3' 2 | import { action } from '@storybook/addon-actions' 3 | import TextInput from './TextInput.vue' 4 | import type { ComponentProps } from 'vue-component-type-helpers' 5 | import { ref } from 'vue' 6 | 7 | type TextInputPropsAndCustomArgs = ComponentProps & { 8 | disabled: boolean 9 | placeholder: string 10 | } 11 | 12 | const meta: Meta = { 13 | title: 'TextInput', 14 | component: TextInput, 15 | args: { 16 | multiline: false, 17 | error: false, 18 | disabled: false, 19 | placeholder: 'placeholder', 20 | autoExpand: false, 21 | baseTextareaHeight: 56, 22 | }, 23 | argTypes: { 24 | type: { 25 | control: { type: 'select' }, 26 | options: ['text', 'password', 'email', 'number', 'tel', 'date'], 27 | defaultValue: 'text', 28 | }, 29 | }, 30 | render: (args) => ({ 31 | components: { TextInput }, 32 | setup() { 33 | const value = ref('') 34 | const onFocus = action('focus') 35 | return { args, value, onFocus } 36 | }, 37 | template: ` 38 | 39 | `, 40 | }), 41 | } 42 | 43 | export default meta 44 | 45 | type Story = StoryObj 46 | 47 | export const Default: Story = { 48 | name: 'default', 49 | } 50 | 51 | export const Multiline: Story = { 52 | name: 'multiline', 53 | args: { 54 | multiline: true, 55 | }, 56 | } 57 | -------------------------------------------------------------------------------- /src/components/TextInput/TextInput.vue: -------------------------------------------------------------------------------- 1 | 27 | 28 | 101 | 102 | 139 | -------------------------------------------------------------------------------- /src/components/ToggleLabelSet/ToggleLabelSet.stories.ts: -------------------------------------------------------------------------------- 1 | import type { Meta, StoryObj } from '@storybook/vue3' 2 | import ToggleLabelSet from './ToggleLabelSet.vue' 3 | import type { ComponentProps } from 'vue-component-type-helpers' 4 | import CheckBox from '@/components/CheckBox/CheckBox.vue' 5 | import ToggleSwitch from '@/components/ToggleSwitch/ToggleSwitch.vue' 6 | import { ref } from 'vue' 7 | 8 | type ToggleLabelSetPropsAndCustomArgs = ComponentProps< 9 | typeof ToggleLabelSet 10 | > & { 11 | value: boolean 12 | label: string 13 | toggleComponent: typeof CheckBox | typeof ToggleSwitch 14 | } 15 | 16 | const meta: Meta = { 17 | title: 'ToggleLabelSet', 18 | component: ToggleLabelSet, 19 | render: (args) => ({ 20 | components: { ToggleLabelSet, CheckBox, ToggleSwitch }, 21 | setup() { 22 | const value = ref(args.value) 23 | return { args, value } 24 | }, 25 | template: ` 26 |
27 | 33 | 36 | 37 | 38 |
39 | `, 40 | }), 41 | } 42 | 43 | export default meta 44 | 45 | type Story = StoryObj 46 | 47 | export const Default: Story = { 48 | name: 'default', 49 | args: { 50 | value: true, 51 | label: 'label', 52 | toggleComponent: CheckBox, 53 | disabled: false, 54 | isFlipped: false, 55 | isButton: false, 56 | }, 57 | } 58 | 59 | export const Disabled: Story = { 60 | name: 'disabled', 61 | args: { 62 | value: true, 63 | label: 'label', 64 | toggleComponent: CheckBox, 65 | disabled: true, 66 | isFlipped: false, 67 | isButton: false, 68 | }, 69 | } 70 | 71 | export const Flipped: Story = { 72 | name: 'flipped', 73 | args: { 74 | value: true, 75 | label: 'label', 76 | toggleComponent: ToggleSwitch, 77 | disabled: false, 78 | isFlipped: true, 79 | isButton: false, 80 | }, 81 | } 82 | 83 | export const Button: Story = { 84 | name: 'button', 85 | args: { 86 | value: true, 87 | label: 'label', 88 | toggleComponent: CheckBox, 89 | disabled: false, 90 | isFlipped: false, 91 | isButton: true, 92 | }, 93 | } 94 | -------------------------------------------------------------------------------- /src/components/ToggleLabelSet/ToggleLabelSet.vue: -------------------------------------------------------------------------------- 1 | 15 | 16 | 40 | 41 | 87 | -------------------------------------------------------------------------------- /src/components/ToggleSwitch/ToggleSwitch.stories.ts: -------------------------------------------------------------------------------- 1 | import type { Meta, StoryObj } from '@storybook/vue3' 2 | import type { ComponentProps } from 'vue-component-type-helpers' 3 | import ToggleSwitch from './ToggleSwitch.vue' 4 | import { ref } from 'vue' 5 | 6 | type ToggleSwitchPropsAndCustomArgs = ComponentProps & { 7 | value: boolean 8 | } 9 | 10 | const meta: Meta = { 11 | title: 'ToggleSwitch', 12 | component: ToggleSwitch, 13 | render: (args) => ({ 14 | components: { ToggleSwitch }, 15 | setup() { 16 | const value = ref(args.value) 17 | return { args, value } 18 | }, 19 | template: ` 20 |
21 | 22 |

{{ value ? 'on' : 'off' }}

23 |
24 | `, 25 | }), 26 | } 27 | 28 | export default meta 29 | 30 | type Story = StoryObj 31 | 32 | export const Default: Story = { 33 | name: 'default', 34 | args: { 35 | value: false, 36 | disabled: false, 37 | }, 38 | } 39 | 40 | export const HasLabel: Story = { 41 | name: 'has label', 42 | args: { 43 | value: false, 44 | disabled: true, 45 | }, 46 | } 47 | -------------------------------------------------------------------------------- /src/components/ToggleSwitch/ToggleSwitch.vue: -------------------------------------------------------------------------------- 1 | 16 | 17 | 47 | 48 | 94 | -------------------------------------------------------------------------------- /src/components/Tooltip/Tooltip.stories.ts: -------------------------------------------------------------------------------- 1 | import type { Meta, StoryObj } from '@storybook/vue3' 2 | import type { ComponentProps } from 'vue-component-type-helpers' 3 | import Tooltip from './Tooltip.vue' 4 | 5 | type TooltipPropsAndCustomArgs = ComponentProps & { 6 | defaultSlot: string 7 | triggerSlot: string | null 8 | scrollText: string | null 9 | } 10 | 11 | const meta: Meta = { 12 | title: 'Tooltip', 13 | component: Tooltip, 14 | } 15 | 16 | export default meta 17 | 18 | type Story = StoryObj 19 | 20 | export const Default: Story = { 21 | name: 'default', 22 | args: { 23 | defaultSlot: 24 | 'これは、長い文章です。これは、長い文章です。これは、長い文章です。これは、長い文章です。これは、長い文章です。これは、長い文章です。', 25 | options: {}, 26 | triggerSlot: null, 27 | scrollText: null, 28 | }, 29 | render: (args) => ({ 30 | components: { Tooltip }, 31 | setup() { 32 | return { args } 33 | }, 34 | template: ` 35 |
36 | 37 | 38 | 39 |
40 | `, 41 | }), 42 | } 43 | 44 | export const CustomTrigger: Story = { 45 | name: 'custom trigger', 46 | args: { 47 | defaultSlot: 'hoge', 48 | options: { placement: 'left-start' }, 49 | triggerSlot: '//placehold.jp/100x200.png', 50 | scrollText: 'scroll', 51 | }, 52 | render: (args) => ({ 53 | components: { Tooltip }, 54 | setup() { 55 | return { args } 56 | }, 57 | template: ` 58 |
59 | 60 | 61 | 64 | 65 |

{{ args.scrollText }}

66 |
67 | `, 68 | }), 69 | } 70 | -------------------------------------------------------------------------------- /src/components/Tooltip/Tooltip.vue: -------------------------------------------------------------------------------- 1 | 19 | 20 | 71 | 72 | 105 | -------------------------------------------------------------------------------- /src/main.ts: -------------------------------------------------------------------------------- 1 | export { default as AvatarImg } from '@/components/AvatarImg/AvatarImg.vue' 2 | export { default as Card } from '@/components/Card/Card.vue' 3 | export { default as CheckBox } from '@/components/CheckBox/CheckBox.vue' 4 | export { default as EnhancedIconButton } from '@/components/EnhancedIconButton/EnhancedIconButton.vue' 5 | export { default as FieldGroup } from '@/components/FieldGroup/FieldGroup.vue' 6 | export { default as FlatButton } from '@/components/FlatButton/FlatButton.vue' 7 | export { default as Icon } from '@/components/Icon/Icon.vue' 8 | export { default as ProtectedLink } from '@/components/ProtectedLink/ProtectedLink.vue' 9 | export { default as Modal } from '@/components/Modal/Modal.vue' 10 | export { default as Radio } from '@/components/Radio/Radio.vue' 11 | export { default as RatingBar } from '@/components/RatingBar/RatingBar.vue' 12 | export { default as SelectBox } from '@/components/SelectBox/SelectBox.vue' 13 | export { default as ShortModal } from '@/components/ShortModal/ShortModal.vue' 14 | export { default as TagLabel } from '@/components/TagLabel/TagLabel.vue' 15 | export { default as TextInput } from '@/components/TextInput/TextInput.vue' 16 | export { default as ToggleLabelSet } from '@/components/ToggleLabelSet/ToggleLabelSet.vue' 17 | export { default as ToggleSwitch } from '@/components/ToggleSwitch/ToggleSwitch.vue' 18 | export { default as Tooltip } from '@/components/Tooltip/Tooltip.vue' 19 | export { default as ContentLoader } from '@/components/ContentLoader/ContentLoader.vue' 20 | -------------------------------------------------------------------------------- /src/stylesheets/_index.scss: -------------------------------------------------------------------------------- 1 | @import 'variables'; 2 | @import 'mixins'; 3 | -------------------------------------------------------------------------------- /src/stylesheets/mixins/_base-hover.scss: -------------------------------------------------------------------------------- 1 | @mixin base-hover() { 2 | & { 3 | cursor: pointer; 4 | transition: all 0.4s ease; 5 | } 6 | 7 | &:hover { 8 | transition-duration: 0.2s; 9 | opacity: $hover-opacity; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/stylesheets/mixins/_index.scss: -------------------------------------------------------------------------------- 1 | @import 'base-hover'; 2 | @import 'inline-link'; 3 | -------------------------------------------------------------------------------- /src/stylesheets/mixins/_inline-link.scss: -------------------------------------------------------------------------------- 1 | @mixin inline-link() { 2 | text-decoration-skip-ink: none; 3 | color: inherit; 4 | text-decoration: underline; 5 | 6 | @include base-hover(); 7 | } 8 | -------------------------------------------------------------------------------- /src/stylesheets/variables/_index.scss: -------------------------------------------------------------------------------- 1 | // ========================================================================== 2 | // Colors 3 | // ========================================================================== 4 | 5 | $logo-gradation: linear-gradient(160deg, #1ed2e6 0%, #19b0e9 14%, #1280ee 35%, #0f6ef0 45%, #003296 100%); 6 | $cyan: #1ED2E6; 7 | $s-lapras-blue: #0F6EF0; 8 | $s-lapras-sec: #0032AA; 9 | $lapras-blue: #1E86DE; 10 | $lapras-blue-800: #4B9EE5; 11 | $lapras-blue-600: #78B6EB; 12 | $lapras-blue-400: #BDE0FD; 13 | $lapras-blue-200: #D7E6F5; 14 | $lapras-blue-100: #D7E6F5; 15 | $lapras-sec: #003089; 16 | $lapras-sec-800: #3359A1; 17 | $lapras-sec-600: #6683B8; 18 | $lapras-sec-400: #99ACD0; 19 | $lapras-sec-300: #BFCBE1; 20 | $lapras-sec-100: #DEE4F0; 21 | $blue-gray: #697A9B; 22 | $blue-gray-800: #8795AF; 23 | $blue-gray-600: #9EACC2; 24 | $blue-gray-400: #C3CAD7; 25 | $logo-black: #231815; 26 | $black: #000000; 27 | $black-900: #2C2C2C; 28 | $black-800: #424242; 29 | $black-700: #616161; 30 | $black-600: #7F7F7F; 31 | $black-500: #9E9E9E; 32 | $black-400: #C8C8C8; 33 | $black-300: #E0E0E0; 34 | $black-200: #EAEAEA; 35 | $black-100: #F5F5F5; 36 | $black-000: #FFFFFF; 37 | $blue-green: #18B0A8; 38 | $green: #18BF69; 39 | $red: #FF5A5F; 40 | $red-100: #FDEEEE; 41 | $yellow: #FFD600; 42 | $gold: #AE9301; 43 | $gold-100: #F7F4E6; 44 | $gold-50: #FBFAF2; 45 | $orange: #FFAB00; 46 | 47 | // for IVS 2024 48 | $ivs-logo-black: #231815; 49 | $ivs-black: #00081A; 50 | $ivs-black-030: #F7F8F8; 51 | $ivs-black-800: #333948; 52 | $ivs-black-100: #00081A1A; 53 | $ivs-blue: #2718A5; 54 | $ivs-yellow: #D0AF4C; 55 | 56 | $ivs-grad-start: #2D1CCD; 57 | $ivs-grad-end: #D251F3; 58 | $ivs-grad: linear-gradient(to right, $ivs-grad-start, $ivs-grad-end); 59 | 60 | // role color 61 | $text-base: $black-900; 62 | $line-color: $black-300; 63 | $line-color-light: $black-200; 64 | $background: $black-100; 65 | 66 | // ========================================================================== 67 | // Typography 68 | // ========================================================================== 69 | 70 | // `$breakpoint-up`に対応するルートフォントサイズを指定します。 71 | // `none`はメディアクエリなしで使用されるので指定必須です。 72 | $font-size: ( 73 | 'none': 14, 74 | 'md': 14, 75 | ) !default; 76 | 77 | // 注釈などに使用するフォントサイズ 78 | $font-size-secondary: 0.85em !default; 79 | 80 | // ベースになるline-height 81 | $line-height: 1.6 !default; 82 | 83 | $font-family-ja: 'Noto Sans JP', sans-serif; 84 | $font-family-en: 'Roboto', 'Noto Sans JP', sans-serif; 85 | 86 | // ========================================================================== 87 | // Media query 88 | // ========================================================================== 89 | 90 | // `sm`: iPhone6幅(ポートレート・縦) 91 | // `md`: iPad幅(ポートレート・縦) 92 | // `lg`: iPad幅(ランドスケープ・横) 93 | // `xl`: デスクトップ想定 94 | $breakpoints: ( 95 | 'sm': '300px', 96 | 'md': '768px', 97 | 'lg': '1024px', 98 | 'xl': '1440px', 99 | ) !default; 100 | 101 | @mixin mq-up($breakpoint) { 102 | @if map-has-key($breakpoints, $breakpoint) { 103 | @media print, screen and (min-width: #{map-get($breakpoints, $breakpoint)}) { 104 | @content; 105 | } 106 | } @else { 107 | @warn "Unfortunately, no value could be retrieved from `#{$breakpoint}`. " 108 | + "Please make sure it is defined in `$breakpoints` map."; 109 | } 110 | } 111 | 112 | // ========================================================================== 113 | // Layout 114 | // ========================================================================== 115 | 116 | // コンテンツの最大幅 117 | $max-width: 1080px !default; 118 | 119 | // グリッドシステムのガター幅 120 | $grid-column-gap: 15px !default; 121 | $grid-row-gap: 15px !default; 122 | $grid-column-gap-md: 30px !default; 123 | $grid-row-gap-md: 30px !default; 124 | 125 | // セクションのマージン 126 | $margin-section2: 70px !default; 127 | $margin-section3: 40px !default; 128 | $margin-section4: 30px !default; 129 | $margin-section5: 20px !default; 130 | 131 | // 見出しのマージン 132 | $margin-heading2: 20px !default; 133 | $margin-heading3: 15px !default; 134 | $margin-heading4: 10px !default; 135 | $margin-heading5: 10px !default; 136 | 137 | // ブロックとテキストのマージン 138 | $margin-block: 15px !default; 139 | $margin-lead: 25px !default; 140 | $margin-text: 15px !default; 141 | $margin-small-text: 10px !default; 142 | 143 | 144 | // ========================================================================== 145 | // Animation 146 | // ========================================================================== 147 | 148 | $opacity: 0.7 !default; 149 | $transition-duration: 0.3s !default; 150 | $transition-timing-function: ease !default; 151 | 152 | // ========================================================================== 153 | // Form 154 | // ========================================================================== 155 | 156 | $form-border: 1px solid #767676 !default; 157 | $form-boder-color: #767676 !default; 158 | $form-border-radius: 3px !default; 159 | $form-transition-duration: 0.3s !default; 160 | $form-transition-property: border-color, box-shadow, background-color !default; 161 | $form-focus-border-color: #1589EE !default; 162 | $form-focus-box-shadow: 0 0 5px #1589ee !default; 163 | $form-placeholder-color: #767676 !default; 164 | $form-disabled-cursor: not-allowed !default; 165 | $form-disabled-opacity: 0.5 !default; 166 | $form-disabled-background-color: #DDD !default; 167 | 168 | // @desc - pxをremに変換します。 169 | // @param {Number} $px - 指定したいピクセル値。 170 | // @param {String} $key [sm] - 指定するブレイクポイントを`$font-size`のキーで指定。 171 | // @example - rem(15px) => 1rem 172 | @function rem($px, $key: 'none') { 173 | $value: map-get($font-size, $key); 174 | @return ($px / $value) * 1rem; 175 | } 176 | 177 | // clearfix 178 | @mixin clearfix{ 179 | &:after { 180 | content: ""; 181 | display: block; 182 | clear: both; 183 | } 184 | } 185 | 186 | // マウスオーバーイベントをまとめて指定 187 | 188 | @mixin on-event($self: false) { 189 | @if $self { 190 | &, 191 | &:hover, 192 | &:active, 193 | &:focus { 194 | @content; 195 | } 196 | } @else { 197 | &:hover, 198 | &:active, 199 | &:focus { 200 | @content; 201 | } 202 | } 203 | } 204 | 205 | // 角R 206 | $corner-r: 4px; 207 | $corner-r-l: 10px; 208 | 209 | // ホバー時の不透明度 210 | $hover-opacity: 0.75; 211 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "esnext", 4 | "outDir": "types/", 5 | "module": "esnext", 6 | "strict": true, 7 | "importHelpers": true, 8 | "moduleResolution": "node", 9 | "esModuleInterop": true, 10 | "allowSyntheticDefaultImports": true, 11 | "sourceMap": true, 12 | "downlevelIteration": true, 13 | "baseUrl": ".", 14 | "jsx": "preserve", 15 | "types": [ 16 | "node" 17 | ], 18 | "paths": { 19 | "@/*": [ 20 | "src/*" 21 | ], 22 | "@": [ 23 | "src" 24 | ] 25 | }, 26 | "lib": [ 27 | "esnext", 28 | "dom", 29 | "dom.iterable", 30 | "scripthost" 31 | ] 32 | }, 33 | "include": [ 34 | "src/*.ts", 35 | "src/**/*.ts", 36 | "src/*.vue", 37 | "src/**/*.vue" 38 | ], 39 | "exclude": [ 40 | "node_modules" 41 | ], 42 | "noImplicitAny": false, 43 | "strictNullChecks": false, 44 | "strictFunctionTypes": false, 45 | "strictBindCallApply": false, 46 | "strictPropertyInitialization": false, 47 | "noImplicitThis": true 48 | } 49 | -------------------------------------------------------------------------------- /tsconfig.types.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "exclude": [ 4 | "src/**/*.stories.ts" 5 | ], 6 | } 7 | -------------------------------------------------------------------------------- /types/components/AvatarImg/AvatarImg.vue.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: import("vue").DefineComponent<{ 2 | src: { 3 | type: StringConstructor; 4 | }; 5 | }, { 6 | avatarDefault: string; 7 | }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly>, {}, {}>; 12 | export default _default; 13 | -------------------------------------------------------------------------------- /types/components/Card/Card.vue.d.ts: -------------------------------------------------------------------------------- 1 | import { PropType } from 'vue'; 2 | declare const _default: import("vue").DefineComponent<{ 3 | skin: { 4 | type: PropType<"default" | "background" | "background-line">; 5 | default: string; 6 | }; 7 | }, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly; 10 | default: string; 11 | }; 12 | }>>, { 13 | skin: "default" | "background" | "background-line"; 14 | }, {}>; 15 | export default _default; 16 | -------------------------------------------------------------------------------- /types/components/CheckBox/CheckBox.vue.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: import("vue").DefineComponent<{ 2 | modelValue: { 3 | type: BooleanConstructor; 4 | default: boolean; 5 | }; 6 | disabled: { 7 | type: BooleanConstructor; 8 | default: boolean; 9 | }; 10 | }, { 11 | onInput: (e: Event) => void; 12 | }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { 13 | 'update:modelValue': null; 14 | }, string, import("vue").PublicProps, Readonly> & { 24 | "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined; 25 | }, { 26 | disabled: boolean; 27 | modelValue: boolean; 28 | }, {}>; 29 | export default _default; 30 | -------------------------------------------------------------------------------- /types/components/ContentLoader/ContentLoader.vue.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToOption<{ 2 | type?: "PARAGRAPH" | "BULLET_LIST" | "CIRCLE"; 3 | lineCount?: number; 4 | lineHeight?: number; 5 | randomLineWidth?: boolean; 6 | gap?: number; 7 | }>, { 8 | type: string; 9 | lineCount: number; 10 | lineHeight: number; 11 | randomLineWidth: boolean; 12 | gap: number; 13 | }>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly, { 20 | type: string; 21 | lineCount: number; 22 | lineHeight: number; 23 | randomLineWidth: boolean; 24 | gap: number; 25 | }>>>, { 26 | type: "PARAGRAPH" | "BULLET_LIST" | "CIRCLE"; 27 | gap: number; 28 | lineHeight: number; 29 | lineCount: number; 30 | randomLineWidth: boolean; 31 | }, {}>; 32 | export default _default; 33 | type __VLS_WithDefaults = { 34 | [K in keyof Pick]: K extends keyof D ? __VLS_Prettify : P[K]; 37 | }; 38 | type __VLS_Prettify = { 39 | [K in keyof T]: T[K]; 40 | } & {}; 41 | type __VLS_NonUndefinedable = T extends undefined ? never : T; 42 | type __VLS_TypePropsToOption = { 43 | [K in keyof T]-?: {} extends Pick ? { 44 | type: import('vue').PropType<__VLS_NonUndefinedable>; 45 | } : { 46 | type: import('vue').PropType; 47 | required: true; 48 | }; 49 | }; 50 | -------------------------------------------------------------------------------- /types/components/EnhancedIconButton/EnhancedIconButton.vue.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: import("vue").DefineComponent<{ 2 | tag: { 3 | type: StringConstructor; 4 | default: string; 5 | }; 6 | }, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly>, { 12 | tag: string; 13 | }, {}>; 14 | export default _default; 15 | -------------------------------------------------------------------------------- /types/components/FieldGroup/FieldGroup.vue.d.ts: -------------------------------------------------------------------------------- 1 | import { PropType } from 'vue'; 2 | declare const _default: import("vue").DefineComponent<{ 3 | label: { 4 | type: StringConstructor; 5 | default: string; 6 | }; 7 | subLabel: { 8 | type: StringConstructor; 9 | default: string; 10 | }; 11 | errorMessage: { 12 | type: StringConstructor; 13 | default: string; 14 | }; 15 | required: { 16 | type: PropType; 17 | default: null; 18 | }; 19 | }, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly; 34 | default: null; 35 | }; 36 | }>>, { 37 | required: boolean | null; 38 | label: string; 39 | subLabel: string; 40 | errorMessage: string; 41 | }, {}>; 42 | export default _default; 43 | -------------------------------------------------------------------------------- /types/components/FlatButton/FlatButton.vue.d.ts: -------------------------------------------------------------------------------- 1 | import { PropType } from 'vue'; 2 | declare const _default: import("vue").DefineComponent<{ 3 | skin: { 4 | type: PropType<"important" | "primary" | "primary-line" | "secondary" | "tertiary" | "muted" | "disabled">; 5 | default: string; 6 | }; 7 | size: { 8 | type: PropType<"xl" | "l" | "m" | "s" | "xs">; 9 | default: string; 10 | }; 11 | disabled: { 12 | type: BooleanConstructor; 13 | default: undefined; 14 | }; 15 | enhanced: { 16 | type: BooleanConstructor; 17 | default: boolean; 18 | }; 19 | tag: { 20 | type: StringConstructor; 21 | default: string; 22 | }; 23 | }, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly; 26 | default: string; 27 | }; 28 | size: { 29 | type: PropType<"xl" | "l" | "m" | "s" | "xs">; 30 | default: string; 31 | }; 32 | disabled: { 33 | type: BooleanConstructor; 34 | default: undefined; 35 | }; 36 | enhanced: { 37 | type: BooleanConstructor; 38 | default: boolean; 39 | }; 40 | tag: { 41 | type: StringConstructor; 42 | default: string; 43 | }; 44 | }>>, { 45 | disabled: boolean; 46 | size: "s" | "m" | "xl" | "l" | "xs"; 47 | tag: string; 48 | skin: "disabled" | "muted" | "important" | "primary" | "primary-line" | "secondary" | "tertiary"; 49 | enhanced: boolean; 50 | }, {}>; 51 | export default _default; 52 | -------------------------------------------------------------------------------- /types/components/Icon/Icon.vue.d.ts: -------------------------------------------------------------------------------- 1 | import { PropType } from 'vue'; 2 | import iconMap from './iconMap'; 3 | type IconKey = keyof typeof iconMap; 4 | declare const _default: import("vue").DefineComponent<{ 5 | name: { 6 | type: PropType; 7 | required: true; 8 | }; 9 | }, { 10 | iconMap: { 11 | 'add-document': string; 12 | 'add-user': string; 13 | analytics: string; 14 | 'arrow-down-bold': string; 15 | 'arrow-down': string; 16 | 'arrow-left-double': string; 17 | 'arrow-left': string; 18 | 'arrow-left2': string; 19 | 'arrow-left3': string; 20 | 'arrow-left4': string; 21 | 'arrow-right-double': string; 22 | 'arrow-right': string; 23 | 'arrow-right2': string; 24 | 'arrow-right3': string; 25 | 'arrow-right4': string; 26 | 'arrow-up': string; 27 | at: string; 28 | 'back-arrow': string; 29 | bell: string; 30 | briefcase: string; 31 | cake: string; 32 | calendar: string; 33 | cancel: string; 34 | check: string; 35 | 'circle-add-button': string; 36 | 'circle-arrow-left': string; 37 | 'circle-arrow-right': string; 38 | circle: string; 39 | clock: string; 40 | 'close-bold': string; 41 | 'close-circle': string; 42 | close: string; 43 | comment: string; 44 | commits: string; 45 | company: string; 46 | contributors: string; 47 | cross: string; 48 | danger: string; 49 | 'delete-user': string; 50 | document: string; 51 | 'double-circle': string; 52 | 'edit-window': string; 53 | 'electric-ray': string; 54 | 'emotion-frown': string; 55 | 'emotion-normal': string; 56 | 'emotion-smile': string; 57 | exclamation: string; 58 | 'external-link': string; 59 | 'eye-close': string; 60 | eye: string; 61 | file: string; 62 | forks: string; 63 | github: string; 64 | 'heart-full': string; 65 | help: string; 66 | home: string; 67 | home2: string; 68 | 'icon-picture': string; 69 | info: string; 70 | info2: string; 71 | interview: string; 72 | job: string; 73 | layout: string; 74 | layout2: string; 75 | 'like-fill': string; 76 | like: string; 77 | link: string; 78 | 'mail-line': string; 79 | mail: string; 80 | medal: string; 81 | memo: string; 82 | menu: string; 83 | money: string; 84 | 'more-button-dots': string; 85 | 'note-edit': string; 86 | openmail: string; 87 | paper: string; 88 | paperclip: string; 89 | 'paper-plane': string; 90 | parson: string; 91 | 'pencil-circle': string; 92 | pencil: string; 93 | people: string; 94 | people2: string; 95 | 'person-arrow': string; 96 | pin: string; 97 | placemap: string; 98 | plus: string; 99 | minus: string; 100 | profile: string; 101 | refresh: string; 102 | replymail: string; 103 | 'report-problem': string; 104 | 'row-left-arrow': string; 105 | 'row-right-arrow': string; 106 | search: string; 107 | sendmail: string; 108 | setting: string; 109 | settings: string; 110 | share: string; 111 | 'sort-down': string; 112 | 'square-add-button': string; 113 | 'square-delete-button': string; 114 | 'star-full': string; 115 | 'star-half': string; 116 | stock: string; 117 | stop: string; 118 | 'storage-box': string; 119 | 'stylish-plus': string; 120 | 'surprised-bell': string; 121 | tag: string; 122 | 'task-check': string; 123 | 'thumbs-down': string; 124 | 'thumbs-up': string; 125 | tray: string; 126 | trush: string; 127 | unopened: string; 128 | view: string; 129 | balloon: string; 130 | lightbulb: string; 131 | sword: string; 132 | crown: string; 133 | sparkle: string; 134 | activity: string; 135 | interest: string; 136 | remote: string; 137 | 'upload-document': string; 138 | }; 139 | }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly; 142 | required: true; 143 | }; 144 | }>>, {}, {}>; 145 | export default _default; 146 | -------------------------------------------------------------------------------- /types/components/Icon/iconMap.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: { 2 | 'add-document': string; 3 | 'add-user': string; 4 | analytics: string; 5 | 'arrow-down-bold': string; 6 | 'arrow-down': string; 7 | 'arrow-left-double': string; 8 | 'arrow-left': string; 9 | 'arrow-left2': string; 10 | 'arrow-left3': string; 11 | 'arrow-left4': string; 12 | 'arrow-right-double': string; 13 | 'arrow-right': string; 14 | 'arrow-right2': string; 15 | 'arrow-right3': string; 16 | 'arrow-right4': string; 17 | 'arrow-up': string; 18 | at: string; 19 | 'back-arrow': string; 20 | bell: string; 21 | briefcase: string; 22 | cake: string; 23 | calendar: string; 24 | cancel: string; 25 | check: string; 26 | 'circle-add-button': string; 27 | 'circle-arrow-left': string; 28 | 'circle-arrow-right': string; 29 | circle: string; 30 | clock: string; 31 | 'close-bold': string; 32 | 'close-circle': string; 33 | close: string; 34 | comment: string; 35 | commits: string; 36 | company: string; 37 | contributors: string; 38 | cross: string; 39 | danger: string; 40 | 'delete-user': string; 41 | document: string; 42 | 'double-circle': string; 43 | 'edit-window': string; 44 | 'electric-ray': string; 45 | 'emotion-frown': string; 46 | 'emotion-normal': string; 47 | 'emotion-smile': string; 48 | exclamation: string; 49 | 'external-link': string; 50 | 'eye-close': string; 51 | eye: string; 52 | file: string; 53 | forks: string; 54 | github: string; 55 | 'heart-full': string; 56 | help: string; 57 | home: string; 58 | home2: string; 59 | 'icon-picture': string; 60 | info: string; 61 | info2: string; 62 | interview: string; 63 | job: string; 64 | layout: string; 65 | layout2: string; 66 | 'like-fill': string; 67 | like: string; 68 | link: string; 69 | 'mail-line': string; 70 | mail: string; 71 | medal: string; 72 | memo: string; 73 | menu: string; 74 | money: string; 75 | 'more-button-dots': string; 76 | 'note-edit': string; 77 | openmail: string; 78 | paper: string; 79 | paperclip: string; 80 | 'paper-plane': string; 81 | parson: string; 82 | 'pencil-circle': string; 83 | pencil: string; 84 | people: string; 85 | people2: string; 86 | 'person-arrow': string; 87 | pin: string; 88 | placemap: string; 89 | plus: string; 90 | minus: string; 91 | profile: string; 92 | refresh: string; 93 | replymail: string; 94 | 'report-problem': string; 95 | 'row-left-arrow': string; 96 | 'row-right-arrow': string; 97 | search: string; 98 | sendmail: string; 99 | setting: string; 100 | settings: string; 101 | share: string; 102 | 'sort-down': string; 103 | 'square-add-button': string; 104 | 'square-delete-button': string; 105 | 'star-full': string; 106 | 'star-half': string; 107 | stock: string; 108 | stop: string; 109 | 'storage-box': string; 110 | 'stylish-plus': string; 111 | 'surprised-bell': string; 112 | tag: string; 113 | 'task-check': string; 114 | 'thumbs-down': string; 115 | 'thumbs-up': string; 116 | tray: string; 117 | trush: string; 118 | unopened: string; 119 | view: string; 120 | balloon: string; 121 | lightbulb: string; 122 | sword: string; 123 | crown: string; 124 | sparkle: string; 125 | activity: string; 126 | interest: string; 127 | remote: string; 128 | 'upload-document': string; 129 | }; 130 | export default _default; 131 | -------------------------------------------------------------------------------- /types/components/Modal/Modal.vue.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: import("vue").DefineComponent<{ 2 | filterBackground: { 3 | type: StringConstructor; 4 | default: string; 5 | }; 6 | hasClose: { 7 | type: BooleanConstructor; 8 | default: boolean; 9 | }; 10 | visible: { 11 | type: BooleanConstructor; 12 | default: boolean; 13 | }; 14 | panel: { 15 | type: BooleanConstructor; 16 | default: boolean; 17 | }; 18 | gutter: { 19 | type: NumberConstructor; 20 | default: number; 21 | }; 22 | zIndex: { 23 | type: NumberConstructor; 24 | default: number; 25 | }; 26 | }, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { 27 | close: null; 28 | }, string, import("vue").PublicProps, Readonly> & { 54 | onClose?: ((...args: any[]) => any) | undefined; 55 | }, { 56 | zIndex: number; 57 | visible: boolean; 58 | filterBackground: string; 59 | hasClose: boolean; 60 | panel: boolean; 61 | gutter: number; 62 | }, {}>; 63 | export default _default; 64 | -------------------------------------------------------------------------------- /types/components/ProtectedLink/ProtectedLink.vue.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: import("vue").DefineComponent<{ 2 | href: { 3 | type: StringConstructor; 4 | validator(value: string): boolean; 5 | }; 6 | force: { 7 | type: BooleanConstructor; 8 | default: boolean; 9 | }; 10 | target: { 11 | type: StringConstructor; 12 | }; 13 | rel: { 14 | type: StringConstructor; 15 | }; 16 | }, { 17 | escapedHref: import("vue").ComputedRef; 18 | formattedRel: import("vue").ComputedRef; 19 | }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly>, { 35 | force: boolean; 36 | }, {}>; 37 | export default _default; 38 | -------------------------------------------------------------------------------- /types/components/Radio/Radio.vue.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: import("vue").DefineComponent<{ 2 | modelValue: { 3 | type: BooleanConstructor; 4 | default: boolean; 5 | }; 6 | disabled: { 7 | type: BooleanConstructor; 8 | default: boolean; 9 | }; 10 | }, { 11 | onInput: (e: Event) => void; 12 | }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { 13 | 'update:modelValue': null; 14 | }, string, import("vue").PublicProps, Readonly> & { 24 | "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined; 25 | }, { 26 | disabled: boolean; 27 | modelValue: boolean; 28 | }, {}>; 29 | export default _default; 30 | -------------------------------------------------------------------------------- /types/components/RatingBar/RatingBar.vue.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: import("vue").DefineComponent<{ 2 | max: { 3 | type: NumberConstructor; 4 | default: number; 5 | }; 6 | value: { 7 | type: NumberConstructor; 8 | default: number; 9 | }; 10 | barColor: { 11 | type: StringConstructor; 12 | default: string; 13 | }; 14 | highThreshold: { 15 | type: NumberConstructor; 16 | default: number; 17 | }; 18 | highBarColor: { 19 | type: StringConstructor; 20 | default: string; 21 | }; 22 | }, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly>, { 44 | max: number; 45 | value: number; 46 | barColor: string; 47 | highThreshold: number; 48 | highBarColor: string; 49 | }, {}>; 50 | export default _default; 51 | -------------------------------------------------------------------------------- /types/components/SelectBox/SelectBox.vue.d.ts: -------------------------------------------------------------------------------- 1 | import { PropType } from 'vue'; 2 | export interface SelectBoxOption { 3 | value: string | number; 4 | label: string; 5 | } 6 | declare const _default: import("vue").DefineComponent<{ 7 | options: { 8 | type: PropType; 9 | default: () => never[]; 10 | }; 11 | placeholder: { 12 | type: StringConstructor; 13 | default: string; 14 | }; 15 | modelValue: { 16 | type: StringConstructor; 17 | default: string; 18 | }; 19 | }, { 20 | context: { 21 | attrs: { 22 | [x: string]: unknown; 23 | }; 24 | slots: Readonly<{ 25 | [name: string]: import("vue").Slot | undefined; 26 | }>; 27 | emit: (event: "update:modelValue", ...args: any[]) => void; 28 | expose: = Record>(exposed?: Exposed) => void; 29 | }; 30 | onInput: (e: Event) => void; 31 | }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { 32 | 'update:modelValue': null; 33 | }, string, import("vue").PublicProps, Readonly; 36 | default: () => never[]; 37 | }; 38 | placeholder: { 39 | type: StringConstructor; 40 | default: string; 41 | }; 42 | modelValue: { 43 | type: StringConstructor; 44 | default: string; 45 | }; 46 | }>> & { 47 | "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined; 48 | }, { 49 | options: SelectBoxOption[]; 50 | placeholder: string; 51 | modelValue: string; 52 | }, {}>; 53 | export default _default; 54 | -------------------------------------------------------------------------------- /types/components/ShortModal/ShortModal.vue.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: import("vue").DefineComponent<{ 2 | filterBackground: { 3 | type: StringConstructor; 4 | default: string; 5 | }; 6 | hasClose: { 7 | type: BooleanConstructor; 8 | default: boolean; 9 | }; 10 | visible: { 11 | type: BooleanConstructor; 12 | default: boolean; 13 | }; 14 | panel: { 15 | type: BooleanConstructor; 16 | default: boolean; 17 | }; 18 | gutter: { 19 | type: NumberConstructor; 20 | default: number; 21 | }; 22 | zIndex: { 23 | type: NumberConstructor; 24 | default: number; 25 | }; 26 | outerClose: { 27 | type: BooleanConstructor; 28 | default: boolean; 29 | }; 30 | }, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { 31 | close: null; 32 | }, string, import("vue").PublicProps, Readonly> & { 62 | onClose?: ((...args: any[]) => any) | undefined; 63 | }, { 64 | zIndex: number; 65 | visible: boolean; 66 | filterBackground: string; 67 | hasClose: boolean; 68 | panel: boolean; 69 | gutter: number; 70 | outerClose: boolean; 71 | }, {}>; 72 | export default _default; 73 | -------------------------------------------------------------------------------- /types/components/TagLabel/TagLabel.vue.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: import("vue").DefineComponent<{ 2 | background: { 3 | type: StringConstructor; 4 | default: string; 5 | }; 6 | color: { 7 | type: StringConstructor; 8 | default: string; 9 | }; 10 | }, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly>, { 20 | background: string; 21 | color: string; 22 | }, {}>; 23 | export default _default; 24 | -------------------------------------------------------------------------------- /types/components/TextInput/TextInput.vue.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: import("vue").DefineComponent<{ 2 | multiline: { 3 | type: BooleanConstructor; 4 | default: boolean; 5 | }; 6 | modelValue: { 7 | type: StringConstructor; 8 | default: string; 9 | }; 10 | error: { 11 | type: BooleanConstructor; 12 | default: boolean; 13 | }; 14 | autoExpand: { 15 | type: BooleanConstructor; 16 | default: boolean; 17 | }; 18 | baseTextareaHeight: { 19 | type: NumberConstructor; 20 | default: number; 21 | }; 22 | type: { 23 | type: StringConstructor; 24 | default: string; 25 | }; 26 | disabled: { 27 | type: BooleanConstructor; 28 | default: boolean; 29 | }; 30 | }, { 31 | textarea: import("vue").Ref; 32 | onInput: (e: Event) => void; 33 | }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { 34 | 'update:modelValue': null; 35 | blur: null; 36 | focus: null; 37 | }, string, import("vue").PublicProps, Readonly> & { 67 | onFocus?: ((...args: any[]) => any) | undefined; 68 | onBlur?: ((...args: any[]) => any) | undefined; 69 | "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined; 70 | }, { 71 | type: string; 72 | error: boolean; 73 | disabled: boolean; 74 | multiline: boolean; 75 | modelValue: string; 76 | autoExpand: boolean; 77 | baseTextareaHeight: number; 78 | }, {}>; 79 | export default _default; 80 | -------------------------------------------------------------------------------- /types/components/ToggleLabelSet/ToggleLabelSet.vue.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: import("vue").DefineComponent<{ 2 | isActive: { 3 | type: BooleanConstructor; 4 | default: boolean; 5 | }; 6 | isButton: { 7 | type: BooleanConstructor; 8 | default: boolean; 9 | }; 10 | disabled: { 11 | type: BooleanConstructor; 12 | default: boolean; 13 | }; 14 | isFlipped: { 15 | type: BooleanConstructor; 16 | default: boolean; 17 | }; 18 | }, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly>, { 36 | disabled: boolean; 37 | isActive: boolean; 38 | isButton: boolean; 39 | isFlipped: boolean; 40 | }, {}>; 41 | export default _default; 42 | -------------------------------------------------------------------------------- /types/components/ToggleSwitch/ToggleSwitch.vue.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: import("vue").DefineComponent<{ 2 | modelValue: { 3 | type: BooleanConstructor; 4 | default: boolean; 5 | }; 6 | disabled: { 7 | type: BooleanConstructor; 8 | default: undefined; 9 | }; 10 | }, { 11 | onInput: (e: Event) => void; 12 | }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { 13 | 'update:modelValue': null; 14 | }, string, import("vue").PublicProps, Readonly> & { 24 | "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined; 25 | }, { 26 | disabled: boolean; 27 | modelValue: boolean; 28 | }, {}>; 29 | export default _default; 30 | -------------------------------------------------------------------------------- /types/components/Tooltip/Tooltip.vue.d.ts: -------------------------------------------------------------------------------- 1 | import { Options as PopperOptions } from '@popperjs/core'; 2 | import { PropType } from 'vue'; 3 | declare const _default: import("vue").DefineComponent<{ 4 | options: { 5 | type: PropType>; 6 | default: () => {}; 7 | }; 8 | skeleton: { 9 | type: BooleanConstructor; 10 | default: boolean; 11 | }; 12 | maxWidth: { 13 | type: NumberConstructor; 14 | default: number; 15 | }; 16 | }, { 17 | hoverEvent: () => void; 18 | trigger: import("vue").Ref; 19 | container: import("vue").Ref; 20 | }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly>; 23 | default: () => {}; 24 | }; 25 | skeleton: { 26 | type: BooleanConstructor; 27 | default: boolean; 28 | }; 29 | maxWidth: { 30 | type: NumberConstructor; 31 | default: number; 32 | }; 33 | }>>, { 34 | maxWidth: number; 35 | options: Partial; 36 | skeleton: boolean; 37 | }, {}>; 38 | export default _default; 39 | -------------------------------------------------------------------------------- /types/main.d.ts: -------------------------------------------------------------------------------- 1 | export { default as AvatarImg } from './components/AvatarImg/AvatarImg.vue'; 2 | export { default as Card } from './components/Card/Card.vue'; 3 | export { default as CheckBox } from './components/CheckBox/CheckBox.vue'; 4 | export { default as EnhancedIconButton } from './components/EnhancedIconButton/EnhancedIconButton.vue'; 5 | export { default as FieldGroup } from './components/FieldGroup/FieldGroup.vue'; 6 | export { default as FlatButton } from './components/FlatButton/FlatButton.vue'; 7 | export { default as Icon } from './components/Icon/Icon.vue'; 8 | export { default as ProtectedLink } from './components/ProtectedLink/ProtectedLink.vue'; 9 | export { default as Modal } from './components/Modal/Modal.vue'; 10 | export { default as Radio } from './components/Radio/Radio.vue'; 11 | export { default as RatingBar } from './components/RatingBar/RatingBar.vue'; 12 | export { default as SelectBox } from './components/SelectBox/SelectBox.vue'; 13 | export { default as ShortModal } from './components/ShortModal/ShortModal.vue'; 14 | export { default as TagLabel } from './components/TagLabel/TagLabel.vue'; 15 | export { default as TextInput } from './components/TextInput/TextInput.vue'; 16 | export { default as ToggleLabelSet } from './components/ToggleLabelSet/ToggleLabelSet.vue'; 17 | export { default as ToggleSwitch } from './components/ToggleSwitch/ToggleSwitch.vue'; 18 | export { default as Tooltip } from './components/Tooltip/Tooltip.vue'; 19 | export { default as ContentLoader } from './components/ContentLoader/ContentLoader.vue'; 20 | -------------------------------------------------------------------------------- /vite.config.mts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from "vite"; 2 | import { resolve } from "path"; 3 | import vue from "@vitejs/plugin-vue"; 4 | 5 | export default defineConfig({ 6 | plugins: [vue()], 7 | css: { 8 | preprocessorOptions: { 9 | scss: { 10 | // componentのscssで共通でimportするstyleの指定 11 | additionalData: `@import "@/stylesheets";` 12 | } 13 | } 14 | }, 15 | resolve: { 16 | alias: { 17 | '@': resolve(__dirname, 'src') 18 | } 19 | }, 20 | build: { 21 | // library mode でビルド 22 | lib: { 23 | entry: resolve(__dirname, "src/main.ts"), 24 | name: "lapras-frontend", 25 | fileName: "lapras-frontend", 26 | formats: ['es', 'umd', 'cjs'] 27 | }, 28 | rollupOptions: { 29 | external: ["vue"], 30 | output: { 31 | globals: { 32 | vue: "Vue", 33 | }, 34 | assetFileNames: (assetInfo) => { 35 | // vue-cliでのbuild時の命名に合わせる 36 | if (assetInfo.name === 'style.css') return 'lapras-frontend.css'; 37 | return assetInfo.name ?? ''; 38 | } 39 | }, 40 | }, 41 | }, 42 | }); 43 | --------------------------------------------------------------------------------