├── .gitignore
├── svg
├── sample.png
├── db.svg
├── cimb.svg
├── smbc.svg
├── lhb.svg
├── jpm.svg
├── hsbc.svg
├── mufg.svg
├── uob.svg
├── pp.svg
├── bbl.svg
├── tbank.svg
├── citi.svg
├── ibank.svg
├── mb.svg
├── boa.svg
├── kk.svg
├── scb.svg
├── tmb.svg
├── rbs.svg
├── icbc.svg
├── baac.svg
├── ttb.svg
├── sc.svg
├── ghb.svg
├── cacib.svg
├── mega.svg
├── bay.svg
├── tcrb.svg
├── bnp.svg
├── tisco.svg
├── ktb.svg
├── kbank.svg
├── tmn.svg
└── gsb.svg
├── tsconfig.json
├── package.json
├── LICENSE
├── src
└── index.ts
├── README.md
├── release.sh
├── yarn.lock
├── banks.css
└── banks.json
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | yarn-error.log
3 | dist
--------------------------------------------------------------------------------
/svg/sample.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AomDEV/css-finances/HEAD/svg/sample.png
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "resolveJsonModule": true,
4 | "sourceMap": true,
5 | "declaration": true,
6 | "outDir": "dist",
7 | },
8 | "include": ["./src/**/*"]
9 | }
--------------------------------------------------------------------------------
/svg/db.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
11 |
--------------------------------------------------------------------------------
/svg/cimb.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
11 |
--------------------------------------------------------------------------------
/svg/smbc.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
12 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "css-finances",
3 | "version": "1.0.0",
4 | "description": "Thai Banks icon",
5 | "main": "release/src/index.js",
6 | "scripts": {
7 | "build": "tsc -p ."
8 | },
9 | "repository": {
10 | "type": "git",
11 | "url": "git+https://github.com/AomDEV/css-finances.git"
12 | },
13 | "keywords": [
14 | "css",
15 | "finances",
16 | "bank",
17 | "icon",
18 | "payment"
19 | ],
20 | "author": "Aom DeFi ",
21 | "license": "MIT",
22 | "bugs": {
23 | "url": "https://github.com/AomDEV/css-finances/issues"
24 | },
25 | "homepage": "https://github.com/AomDEV/css-finances#readme",
26 | "devDependencies": {
27 | "@types/node": "^22.5.0",
28 | "@types/sharp": "^0.32.0",
29 | "typescript": "^5.5.4"
30 | },
31 | "dependencies": {
32 | "sharp": "^0.33.5"
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/svg/lhb.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
13 |
--------------------------------------------------------------------------------
/svg/jpm.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
13 |
--------------------------------------------------------------------------------
/svg/hsbc.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
13 |
--------------------------------------------------------------------------------
/svg/mufg.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
13 |
--------------------------------------------------------------------------------
/svg/uob.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
12 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2021 Aom Siriwat
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/svg/pp.svg:
--------------------------------------------------------------------------------
1 |
29 |
--------------------------------------------------------------------------------
/svg/bbl.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
14 |
--------------------------------------------------------------------------------
/svg/tbank.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
17 |
--------------------------------------------------------------------------------
/svg/citi.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
20 |
--------------------------------------------------------------------------------
/svg/ibank.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
16 |
--------------------------------------------------------------------------------
/svg/mb.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
20 |
--------------------------------------------------------------------------------
/svg/boa.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
21 |
--------------------------------------------------------------------------------
/svg/kk.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
18 |
--------------------------------------------------------------------------------
/svg/scb.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
17 |
--------------------------------------------------------------------------------
/svg/tmb.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
20 |
--------------------------------------------------------------------------------
/svg/rbs.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
21 |
--------------------------------------------------------------------------------
/svg/icbc.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
18 |
--------------------------------------------------------------------------------
/svg/baac.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
20 |
--------------------------------------------------------------------------------
/svg/ttb.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/svg/sc.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
26 |
--------------------------------------------------------------------------------
/src/index.ts:
--------------------------------------------------------------------------------
1 | import { join } from "path";
2 | import * as dataJson from "../banks.json";
3 | import { readFile } from "fs/promises";
4 | import * as sharp from "sharp";
5 |
6 | export type Icon = keyof typeof dataJson.th | (string & {});
7 | export type Dataset = Record;
14 | export function getDataset() {
15 | return dataJson.th;
16 | }
17 | export class IconHelper {
18 | private constructor() { }
19 |
20 | public static getFilePath(icon: Icon) {
21 | return join(__dirname, "..", "svg", `${String(icon)}.svg`);
22 | }
23 |
24 | public static getRawBuffer(icon: Icon) {
25 | if (!this.hasIcon(icon)) return null;
26 | return readFile(this.getFilePath(icon))
27 | }
28 |
29 | public static hasIcon (icon: Icon) {
30 | const keys = Object.keys(getDataset());
31 | if (!keys.find(key => key === icon)) return false;
32 | return true;
33 | }
34 |
35 | public static async getBuffer(icon: Icon, options?: {
36 | readonly width?: number;
37 | readonly height?: number;
38 | readonly format?: keyof sharp.FormatEnum;
39 | readonly buffer?: Buffer;
40 | }) {
41 | if (!this.hasIcon(icon)) return null;
42 |
43 | const width = Number(options?.width || 256)
44 | const height = Number(options?.height || 256)
45 |
46 | const svgRawBuffer = options.buffer ? options.buffer : await this.getRawBuffer(icon);
47 | const iconBuffer = await sharp(svgRawBuffer).resize(Number(width / 2)).toBuffer();
48 | const canvas = sharp({
49 | create: {
50 | width,
51 | height,
52 | channels: 4,
53 | background: getDataset()[icon].color
54 | }
55 | });
56 | canvas.composite([{
57 | input: iconBuffer,
58 | blend: "over",
59 | }])
60 |
61 | return canvas.toFormat(options?.format || "png").toBuffer();
62 | }
63 | }
--------------------------------------------------------------------------------
/svg/ghb.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
24 |
--------------------------------------------------------------------------------
/svg/cacib.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
25 |
--------------------------------------------------------------------------------
/svg/mega.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
33 |
--------------------------------------------------------------------------------
/svg/bay.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
27 |
--------------------------------------------------------------------------------
/svg/tcrb.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
30 |
--------------------------------------------------------------------------------
/svg/bnp.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
24 |
--------------------------------------------------------------------------------
/svg/tisco.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
31 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Finances Icon
2 | [](https://www.buymeacoffee.com/aomdev)
3 | Special thanks Omise
4 |
5 | ## UI
6 | 
7 | You can check the icon from [Vercel](https://vercel-thai-banks-icon.vercel.app/)
8 |
9 | ## Usage
10 | Usage:
11 | ```html
12 |
13 | ```
14 |
15 | ## Bank List
16 | 
17 | - **bank-bbl** - Bangkok Bank
18 | - **bank-kbank** - Kasikornbank
19 | - **bank-rbs** - Royal Bank of Scotland
20 | - **bank-ktb** - Krungthai Bank
21 | - **bank-jpm** - J.P. Morgan
22 | - **bank-mufg** - Bank of Tokyo-Mitsubishi UFJ
23 | - **bank-tmb** - TMB Bank
24 | - **bank-scb** - Siam Commercial Bank
25 | - **bank-citi** - Citibank
26 | - **bank-smbc** - Sumitomo Mitsui Banking Corporation
27 | - **bank-sc** - Standard Chartered (Thai)
28 | - **bank-cimb** - CIMB Thai Bank
29 | - **bank-uob** - United Overseas Bank (Thai)
30 | - **bank-bay** - Bank of Ayudhya (Krungsri)
31 | - **bank-mega** - Mega International Commercial Bank
32 | - **bank-boa** - Bank of America
33 | - **bank-cacib** - Crédit Agricole
34 | - **bank-gsb** - Government Savings Bank
35 | - **bank-hsbc** - Hongkong and Shanghai Banking Corporation
36 | - **bank-db** - Deutsche Bank
37 | - **bank-ghb** - Government Housing Bank
38 | - **bank-baac** - Bank for Agriculture and Agricultural Cooperatives
39 | - **bank-mb** - Mizuho Bank
40 | - **bank-bnp** - BNP Paribas
41 | - **bank-tbank** - Thanachart Bank
42 | - **bank-ibank** - Islamic Bank of Thailand
43 | - **bank-tisco** - Tisco Bank
44 | - **bank-kk** - Kiatnakin Bank
45 | - **bank-icbc** - Industrial and Commercial Bank of China (Thai)
46 | - **bank-tcrb** - Thai Credit Retail Bank
47 | - **bank-lhb** - Land and Houses Bank
48 | - **bank-tmn** - TrueMoney Wallet
49 | - **bank-pp** - PromptPay
50 |
51 | ### Example
52 | Basic Use:
53 | ```html
54 |
55 | ```
56 | with Size:
57 | ```html
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 | ```
66 | with Shape:
67 | ```html
68 |
69 |
70 | ```
71 | with Shadow
72 | ```html
73 |
74 | ```
75 | Perfect combination:
76 | ```html
77 |
78 | ```
79 |
--------------------------------------------------------------------------------
/svg/ktb.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
33 |
--------------------------------------------------------------------------------
/release.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # Ensure the script stops on the first error
4 | set -e
5 |
6 | # Function to check if jq is installed
7 | check_jq_installed() {
8 | if ! command -v jq &> /dev/null; then
9 | echo "jq is not installed. Installing jq..."
10 | if [[ "$OSTYPE" == "linux-gnu"* ]]; then
11 | sudo apt-get update && sudo apt-get install -y jq
12 | elif [[ "$OSTYPE" == "darwin"* ]]; then
13 | brew install jq
14 | else
15 | echo "Unsupported OS. Please install jq manually."
16 | exit 1
17 | fi
18 | else
19 | echo "jq is already installed."
20 | fi
21 | }
22 |
23 | # Function to check for pending commits in the workspace
24 | check_pending_commits() {
25 | if [[ -n $(git status --porcelain) ]]; then
26 | echo "There are uncommitted changes in the workspace. Please commit or stash them before proceeding."
27 | exit 1
28 | fi
29 | }
30 |
31 | # Function to set the new version in package.json
32 | set_new_version() {
33 | echo "Enter the new version:"
34 | read NEW_VERSION
35 |
36 | # Validate the version format (simple regex for semver)
37 | if [[ ! $NEW_VERSION =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
38 | echo "Invalid version format. Please use semantic versioning (e.g., 1.2.3)."
39 | exit 1
40 | fi
41 |
42 | # Update the version in package.json
43 | jq --arg new_version "$NEW_VERSION" '.version = $new_version' package.json > temp.json && mv temp.json package.json
44 | echo "Updated version in package.json to $NEW_VERSION."
45 | }
46 |
47 | # Function to check if node_modules exists
48 | check_node_modules() {
49 | echo "Installing dependencies..."
50 | if [ -d "node_modules" ]; then
51 | rm -rf node_modules/ dist/
52 | fi
53 | yarn
54 | }
55 |
56 | # Run jq check
57 | check_jq_installed
58 |
59 | # Check for pending commits
60 | check_pending_commits
61 |
62 | # Define branch names
63 | RELEASE_BRANCH="release"
64 | MAIN_BRANCH="main"
65 |
66 | # Fetch all branches
67 | git fetch
68 |
69 | # Check if the release branch exists
70 | if git show-ref --verify --quiet refs/heads/$RELEASE_BRANCH; then
71 | echo "Branch '$RELEASE_BRANCH' already exists."
72 | else
73 | echo "Creating new branch '$RELEASE_BRANCH'."
74 | git checkout -b $RELEASE_BRANCH
75 | git push -u origin $RELEASE_BRANCH
76 | fi
77 | git checkout $MAIN_BRANCH
78 |
79 | # Set new version in package.json
80 | set_new_version
81 |
82 | # Get the new version number from package.json
83 | VERSION=$(jq -r '.version' package.json)
84 |
85 | # Commit and push the version bump
86 | git add package.json
87 | git commit -m "release: v$VERSION"
88 | git push origin $MAIN_BRANCH
89 |
90 | # Merge the main branch into the release branch with the new version in the commit message
91 | git checkout $RELEASE_BRANCH
92 | git merge $MAIN_BRANCH --strategy-option theirs --no-ff -m "Merge branch '$MAIN_BRANCH' into '$RELEASE_BRANCH' - v$VERSION"
93 |
94 | # Check for node_modules and install if not found
95 | check_node_modules
96 |
97 | # Run the build process
98 | yarn build
99 |
100 | # Remove the 'src' folder
101 | rm -rf src tsconfig.json
102 |
103 | # Check 'release' folder and remove folder
104 | if [ -d "release" ]; then
105 | rm -rf release
106 | fi
107 |
108 | # Create directory
109 | mkdir release
110 |
111 | # Move the 'dist' folder to 'release' directory
112 | mv dist/* release/
113 |
114 | # Commit all changes with the version in the commit message
115 | git add .
116 | git commit -m "Release v$VERSION"
117 |
118 | # Push the changes to the remote repository
119 | git push origin $RELEASE_BRANCH
120 |
121 | # Switch back to the main branch
122 | git checkout $MAIN_BRANCH
123 |
124 | echo "Release process completed successfully."
125 |
--------------------------------------------------------------------------------
/svg/kbank.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
52 |
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@img/sharp-darwin-arm64@0.33.5":
6 | version "0.33.5"
7 | resolved "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.5.tgz"
8 | integrity sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==
9 | optionalDependencies:
10 | "@img/sharp-libvips-darwin-arm64" "1.0.4"
11 |
12 | "@img/sharp-libvips-darwin-arm64@1.0.4":
13 | version "1.0.4"
14 | resolved "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.4.tgz"
15 | integrity sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==
16 |
17 | "@types/node@^22.5.0":
18 | version "22.5.0"
19 | resolved "https://registry.npmjs.org/@types/node/-/node-22.5.0.tgz"
20 | integrity sha512-DkFrJOe+rfdHTqqMg0bSNlGlQ85hSoh2TPzZyhHsXnMtligRWpxUySiyw8FY14ITt24HVCiQPWxS3KO/QlGmWg==
21 | dependencies:
22 | undici-types "~6.19.2"
23 |
24 | "@types/sharp@^0.32.0":
25 | version "0.32.0"
26 | resolved "https://registry.npmjs.org/@types/sharp/-/sharp-0.32.0.tgz"
27 | integrity sha512-OOi3kL+FZDnPhVzsfD37J88FNeZh6gQsGcLc95NbeURRGvmSjeXiDcyWzF2o3yh/gQAUn2uhh/e+CPCa5nwAxw==
28 | dependencies:
29 | sharp "*"
30 |
31 | color-convert@^2.0.1:
32 | version "2.0.1"
33 | resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz"
34 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
35 | dependencies:
36 | color-name "~1.1.4"
37 |
38 | color-name@^1.0.0, color-name@~1.1.4:
39 | version "1.1.4"
40 | resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
41 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
42 |
43 | color-string@^1.9.0:
44 | version "1.9.1"
45 | resolved "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz"
46 | integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==
47 | dependencies:
48 | color-name "^1.0.0"
49 | simple-swizzle "^0.2.2"
50 |
51 | color@^4.2.3:
52 | version "4.2.3"
53 | resolved "https://registry.npmjs.org/color/-/color-4.2.3.tgz"
54 | integrity sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==
55 | dependencies:
56 | color-convert "^2.0.1"
57 | color-string "^1.9.0"
58 |
59 | detect-libc@^2.0.3:
60 | version "2.0.3"
61 | resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz"
62 | integrity sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==
63 |
64 | is-arrayish@^0.3.1:
65 | version "0.3.2"
66 | resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz"
67 | integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==
68 |
69 | semver@^7.6.3:
70 | version "7.6.3"
71 | resolved "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz"
72 | integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==
73 |
74 | sharp@*, sharp@^0.33.5:
75 | version "0.33.5"
76 | resolved "https://registry.npmjs.org/sharp/-/sharp-0.33.5.tgz"
77 | integrity sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==
78 | dependencies:
79 | color "^4.2.3"
80 | detect-libc "^2.0.3"
81 | semver "^7.6.3"
82 | optionalDependencies:
83 | "@img/sharp-darwin-arm64" "0.33.5"
84 | "@img/sharp-darwin-x64" "0.33.5"
85 | "@img/sharp-libvips-darwin-arm64" "1.0.4"
86 | "@img/sharp-libvips-darwin-x64" "1.0.4"
87 | "@img/sharp-libvips-linux-arm" "1.0.5"
88 | "@img/sharp-libvips-linux-arm64" "1.0.4"
89 | "@img/sharp-libvips-linux-s390x" "1.0.4"
90 | "@img/sharp-libvips-linux-x64" "1.0.4"
91 | "@img/sharp-libvips-linuxmusl-arm64" "1.0.4"
92 | "@img/sharp-libvips-linuxmusl-x64" "1.0.4"
93 | "@img/sharp-linux-arm" "0.33.5"
94 | "@img/sharp-linux-arm64" "0.33.5"
95 | "@img/sharp-linux-s390x" "0.33.5"
96 | "@img/sharp-linux-x64" "0.33.5"
97 | "@img/sharp-linuxmusl-arm64" "0.33.5"
98 | "@img/sharp-linuxmusl-x64" "0.33.5"
99 | "@img/sharp-wasm32" "0.33.5"
100 | "@img/sharp-win32-ia32" "0.33.5"
101 | "@img/sharp-win32-x64" "0.33.5"
102 |
103 | simple-swizzle@^0.2.2:
104 | version "0.2.2"
105 | resolved "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz"
106 | integrity sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==
107 | dependencies:
108 | is-arrayish "^0.3.1"
109 |
110 | typescript@^5.5.4:
111 | version "5.5.4"
112 | resolved "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz"
113 | integrity sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==
114 |
115 | undici-types@~6.19.2:
116 | version "6.19.8"
117 | resolved "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz"
118 | integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==
119 |
--------------------------------------------------------------------------------
/banks.css:
--------------------------------------------------------------------------------
1 | /****************************************************/
2 | /** Author: @AOM **/
3 | /** Github: https://github.com/AomDEV/css-finances **/
4 | /****************************************************/
5 |
6 | i.bank{
7 | display: inline-block;
8 | border-radius:20%;
9 | background-color:grey;
10 | vertical-align: middle;
11 | width: 14px;
12 | height: 14px;
13 | padding: 0.1em;
14 | background-repeat: no-repeat;
15 | background-size: 75%;
16 | background-position: center;
17 | background-origin: content-box;
18 | overflow:hidden;
19 | vertical-align: -0.23em;
20 | }
21 | i.bank.round{
22 | border-radius: 50%;
23 | }
24 | i.bank.shadow{
25 | box-shadow: 0px 0px 5px grey;
26 | }
27 | i.bank.huge{
28 | width: 64px;
29 | height: 64px;
30 | }
31 | h1>i.bank,i.bank.xxxl{
32 | width: 32px;
33 | height: 32px;
34 | }
35 | h2>i.bank,i.bank.xxl{
36 | width: 22px;
37 | height: 22px;
38 | }
39 | h3>i.bank,i.bank.xl{
40 | width: 18px;
41 | height: 18px;
42 | }
43 | h4>i.bank,i.bank.l{
44 | width: 16px;
45 | height: 16px;
46 | }
47 | h5>i.bank,i.bank.s{
48 | width: 12px;
49 | height: 12px;
50 | }
51 | h6>i.bank,i.bank.xs{
52 | width: 10px;
53 | height: 10px;
54 | }
55 | i.credit{ /**@AOM / https://github.com/AomDEV/css-finances **/ }
56 | i.bank.bank-bbl{
57 | background-color: #1e4598;
58 | background-image: url('svg/bbl.svg');
59 | }
60 | i.bank.bank-kbank{
61 | background-color: #138f2d;
62 | background-image: url('svg/kbank.svg');
63 | }
64 | i.bank.bank-rbs{
65 | background-color: #032952;
66 | background-image: url('svg/rbs.svg');
67 | }
68 | i.bank.bank-ktb{
69 | background-color: #1ba5e1;
70 | background-image: url('svg/ktb.svg');
71 | }
72 | i.bank.bank-jpm{
73 | background-color: #321c10;
74 | background-image: url('svg/jpm.svg');
75 | }
76 | i.bank.bank-mufg{
77 | background-color: #d61323;
78 | background-image: url('svg/mufg.svg');
79 | }
80 | i.bank.bank-tmb{
81 | background-color: #1279be;
82 | background-image: url('svg/tmb.svg');
83 | }
84 | i.bank.bank-scb{
85 | background-color: #4e2e7f;
86 | background-image: url('svg/scb.svg');
87 | }
88 | i.bank.bank-citi{
89 | background-color: #1583c7;
90 | background-image: url('svg/citi.svg');
91 | }
92 | i.bank.bank-smbc{
93 | background-color: #a0d235;
94 | background-image: url('svg/smbc.svg');
95 | }
96 | i.bank.bank-sc{
97 | background-color: #0f6ea1;
98 | background-image: url('svg/sc.svg');
99 | }
100 | i.bank.bank-cimb{
101 | background-color: #7e2f36;
102 | background-image: url('svg/cimb.svg');
103 | }
104 | i.bank.bank-uob{
105 | background-color: #0b3979;
106 | background-image: url('svg/uob.svg');
107 | }
108 | i.bank.bank-uob{
109 | background-color: #0b3979;
110 | background-image: url('svg/uob.svg');
111 | }
112 | i.bank.bank-bay{
113 | background-color: #fec43b;
114 | background-image: url('svg/bay.svg');
115 | }
116 | i.bank.bank-mega{
117 | background-color: #815e3b;
118 | background-image: url('svg/mega.svg');
119 | }
120 | i.bank.bank-boa{
121 | background-color: #e11e3c;
122 | background-image: url('svg/boa.svg');
123 | }
124 | i.bank.bank-cacib{
125 | background-color: #0e765b;
126 | background-image: url('svg/cacib.svg');
127 | }
128 | i.bank.bank-gsb{
129 | background-color: #eb198d;
130 | background-image: url('svg/gsb.svg');
131 | }
132 | i.bank.bank-hsbc{
133 | background-color: #fd0d1b;
134 | background-image: url('svg/hsbc.svg');
135 | }
136 | i.bank.bank-db{
137 | background-color: #0522a5;
138 | background-image: url('svg/db.svg');
139 | }
140 | i.bank.bank-ghb{
141 | background-color: #f57d23;
142 | background-image: url('svg/ghb.svg');
143 | }
144 | i.bank.bank-baac{
145 | background-color: #4b9b1d;
146 | background-image: url('svg/baac.svg');
147 | }
148 | i.bank.bank-mb{
149 | background-color: #150b78;
150 | background-image: url('svg/mb.svg');
151 | }
152 | i.bank.bank-bnp{
153 | background-color: #14925e;
154 | background-image: url('svg/bnp.svg');
155 | }
156 | i.bank.bank-tbank{
157 | background-color: #fc4f1f;
158 | background-image: url('svg/tbank.svg');
159 | }
160 | i.bank.bank-ibank{
161 | background-color: #184615;
162 | background-image: url('svg/ibank.svg');
163 | }
164 | i.bank.bank-tisco{
165 | background-color: #12549f;
166 | background-image: url('svg/tisco.svg');
167 | }
168 | i.bank.bank-kk{
169 | background-color: #199cc5;
170 | background-image: url('svg/kk.svg');
171 | }
172 | i.bank.bank-icbc{
173 | background-color: #c50f1c;
174 | background-image: url('svg/icbc.svg');
175 | }
176 | i.bank.bank-tcrb{
177 | background-color: #0a4ab3;
178 | background-image: url('svg/tcrb.svg');
179 | }
180 | i.bank.bank-lhb{
181 | background-color: #6d6e71;
182 | background-image: url('svg/lhb.svg');
183 | }
184 | i.bank.bank-ttb{
185 | background-color: #ecf0f1;
186 | background-image: url('svg/ttb.svg');
187 | }
188 | i.bank.bank-tmn{
189 | background-color: #ecf0f1;
190 | background-image: url('svg/tmn.svg');
191 | }
192 | i.bank.bank-pp{
193 | background-color: #00427a;
194 | background-image: url('svg/pp.svg');
195 | }
196 |
--------------------------------------------------------------------------------
/banks.json:
--------------------------------------------------------------------------------
1 | {
2 | "th": {
3 | "bbl": { "code": "002", "color": "#1e4598", "official_name": "BANGKOK BANK PUBLIC COMPANY LTD.", "thai_name": "ธนาคารกรุงเทพ", "nice_name": "Bangkok Bank" },
4 | "kbank": { "code": "004", "color": "#138f2d", "official_name": "KASIKORNBANK PUBLIC COMPANY LTD.", "thai_name": "ธนาคารกสิกรไทย", "nice_name": "Kasikornbank" },
5 | "rbs": { "code": "005", "color": "#032952", "official_name": "THE ROYAL BANK OF SCOTLAND PLC", "thai_name": "ธนาคาร เดอะรอยัลแบงค์อ๊อฟสกอตแลนด์", "nice_name": "Royal Bank of Scotland" },
6 | "ktb": { "code": "006", "color": "#1ba5e1", "official_name": "KRUNG THAI BANK PUBLIC COMPANY LTD.", "thai_name": "ธนาคารกรุงไทย", "nice_name": "Krungthai Bank" },
7 | "jpm": { "code": "008", "color": "#321c10", "official_name": "JPMORGAN CHASE BANK, NATIONAL ASSOCIATION", "thai_name": "เจพีมอร์แกนเชส", "nice_name": "J.P. Morgan" },
8 | "mufg": { "code": "010", "color": "#d61323", "official_name": "THE BANK OF TOKYO-MITSUBISHI UFJ, LTD.", "thai_name": "ธนาคารแห่งโตเกียว-มิตซูบิชิ ยูเอฟเจ", "nice_name": "Bank of Tokyo-Mitsubishi UFJ" },
9 | "tmb": { "code": "011", "color": "#1279be", "official_name": "TMB BANK PUBLIC COMPANY LIMITED.", "thai_name": "ธนาคารทหารไทย", "nice_name": "TMB Bank" },
10 | "scb": { "code": "014", "color": "#4e2e7f", "official_name": "SIAM COMMERCIAL BANK PUBLIC COMPANY LTD.", "thai_name": "ธนาคารไทยพาณิชย์", "nice_name": "Siam Commercial Bank" },
11 | "citi": { "code": "017", "color": "#1583c7", "official_name": "CITIBANK, N.A.", "thai_name": "ธนาคารซิตี้แบงค์", "nice_name": "Citibank" },
12 | "smbc": { "code": "018", "color": "#a0d235", "official_name": "SUMITOMO MITSUI BANKING CORPORATION", "thai_name": "ธนาคารซูมิโตโม มิตซุย แบงค์กิ้ง คอร์ปอเรชั่น", "nice_name": "Sumitomo Mitsui Banking Corporation" },
13 | "sc": { "code": "020", "color": "#0f6ea1", "official_name": "STANDARD CHARTERED BANK (THAI) PUBLIC COMPANY LIMITED", "thai_name": "สแตนดาร์ดชาร์เตอร์ด ประเทศไทย", "nice_name": "Standard Chartered (Thai)" },
14 | "cimb": { "code": "022", "color": "#7e2f36", "official_name": "CIMB THAI BANK PUPBLIC COMPANY LTD.", "thai_name": "ธนาคารซีไอเอ็มบีไทย", "nice_name": "CIMB Thai Bank" },
15 | "uob": { "code": "024", "color": "#0b3979", "official_name": "UNITED OVERSEAS BANK (THAI) PUBLIC COMPANY LIMITED", "thai_name": "ธนาคารยูโอบี", "nice_name": "United Overseas Bank (Thai)" },
16 | "bay": { "code": "025", "color": "#fec43b", "official_name": "BANK OF AYUDHYA PUBLIC COMPANY LTD.", "thai_name": "ธนาคารกรุงศรีอยุธยา", "nice_name": "Bank of Ayudhya (Krungsri)" },
17 | "mega": { "code": "026", "color": "#815e3b", "official_name": "MEGA INTERNATIONAL COMMERCIAL BANK PUBLIC COMPANY LIMITED", "thai_name": "ธนาคาร เมกะ สากลพาณิชย์", "nice_name": "Mega International Commercial Bank" },
18 | "boa": { "code": "027", "color": "#e11e3c", "official_name": "BANK OF AMERICA, NATIONAL ASSOCIATION", "thai_name": "แบงก์ออฟอเมริกาคอร์ปอเรชั่น", "nice_name": "Bank of America" },
19 | "cacib": { "code": "028", "color": "#0e765b", "official_name": "CREDIT AGRICOLE CORPORATE AND INVESTMENT BANK", "thai_name": "ธนาคารเครดิต อะกริโคล", "nice_name": "Crédit Agricole" },
20 | "gsb": { "code": "030", "color": "#eb198d", "official_name": "THE GOVERNMENT SAVINGS BANK", "thai_name": "ธนาคารออมสิน", "nice_name": "Government Savings Bank" },
21 | "hsbc": { "code": "031", "color": "#fd0d1b", "official_name": "THE HONGKONG AND SHANGHAI BANKING CORPORATION LTD.", "thai_name": "ฮ่องกงและเซี่ยงไฮ้แบงกิ้งคอร์ปอเรชั่น", "nice_name": "Hongkong and Shanghai Banking Corporation" },
22 | "db": { "code": "032", "color": "#0522a5", "official_name": "DEUTSCHE BANK AG.", "thai_name": "ธนาคารดอยช์แบงก์", "nice_name": "Deutsche Bank" },
23 | "ghb": { "code": "033", "color": "#f57d23", "official_name": "THE GOVERNMENT HOUSING BANK", "thai_name": "ธนาคารอาคารสงเคราะห์", "nice_name": "Government Housing Bank" },
24 | "baac": { "code": "034", "color": "#4b9b1d", "official_name": "BANK FOR AGRICULTURE AND AGRICULTURAL COOPERATIVES", "thai_name": "ธนาคารเพื่อการเกษตรและสหกรณ์การเกษตร", "nice_name": "Bank for Agriculture and Agricultural Cooperatives" },
25 | "mb": { "code": "039", "color": "#150b78", "official_name": "MIZUHO BANK, LTD.", "thai_name": "ธนาคารมิซูโฮ", "nice_name": "Mizuho Bank" },
26 | "bnp": { "code": "045", "color": "#14925e", "official_name": "BNP PARIBAS", "thai_name": "บีเอ็นพี พารีบาส์", "nice_name": "BNP Paribas" },
27 | "tbank": { "code": "065", "color": "#fc4f1f", "official_name": "THANACHART BANK PUBLIC COMPANY LTD.", "thai_name": "ธนาคารธนชาต", "nice_name": "Thanachart Bank" },
28 | "ibank": { "code": "066", "color": "#184615", "official_name": "ISLAMIC BANK OF THAILAND", "thai_name": "ธนาคารอิสลามแห่งประเทศไทย", "nice_name": "Islamic Bank of Thailand" },
29 | "tisco": { "code": "067", "color": "#12549f", "official_name": "TISCO BANK PUBLIC COMPANY LIMITED", "thai_name": "ธนาคารทิสโก้", "nice_name": "Tisco Bank" },
30 | "kk": { "code": "069", "color": "#199cc5", "official_name": "KIATNAKIN BANK PUBLIC COMPANY LIMITED", "thai_name": "ธนาคารเกียรตินาคินภัทร", "nice_name": "Kiatnakin Bank" },
31 | "icbc": { "code": "070", "color": "#c50f1c", "official_name": "INDUSTRIAL AND COMMERCIAL BANK OF CHINA (THAI) PUBLIC COMPANY LIMITED", "thai_name": "ธนาคารสินเอเซีย จำกัด (มหาชน)", "nice_name": "Industrial and Commercial Bank of China (Thai)" },
32 | "tcrb": { "code": "071", "color": "#0a4ab3", "official_name": "THE THAI CREDIT RETAIL BANK PUBLIC COMPANY LIMITED", "thai_name": "ธนาคารไทยเครดิต เพื่อรายย่อย", "nice_name": "Thai Credit Retail Bank" },
33 | "lhb": { "code": "073", "color": "#6d6e71", "official_name": "LAND AND HOUSES BANK PUBLIC COMPANY LIMITED", "thai_name": "ธนาคารแลนด์ แอนด์ เฮ้าส์", "nice_name": "Land and Houses Bank" },
34 | "tmn": { "code": "074", "color": "#ecf0f1", "official_name": "TRUE MONEY WALLET", "thai_name": "ทรูมันนี่ วอลเล็ท", "nice_name": "TrueMoney Wallet" },
35 | "pp": { "code": "075", "color": "#00427a", "official_name": "PROMPTPAY", "thai_name": "พร้อมเพย์", "nice_name": "PromptPay" },
36 | "ttb": { "code": "076", "color": "#ecf0f1", "official_name": "TMBTHANACHART BANK PUBLIC COMPANY LIMITED", "thai_name": "ธนาคารทหารไทยธนชาต", "nice_name": "TMBThanachart Bankk" }
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/svg/tmn.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/svg/gsb.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
906 |
--------------------------------------------------------------------------------