Compare commits
176 Commits
v1.0.0-bet
...
36008d1b6d
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
36008d1b6d | ||
|
|
3c843d3d6a | ||
|
|
ad5cdc920b | ||
|
|
74ba9b640c | ||
|
|
d6a6f003a5 | ||
|
|
682eaa88a8 | ||
|
|
e0443c0ca5 | ||
|
|
cfadd50231 | ||
|
|
55a85becb4 | ||
|
|
f2a0c55b8a | ||
|
|
1a87abe736 | ||
|
|
4b4b4f6a82 | ||
|
|
cb4a6813a0 | ||
|
|
02d6287f6b | ||
|
|
b9ad4979f7 | ||
|
|
1587905795 | ||
|
|
2f5fad67ca | ||
|
|
45c83ac785 | ||
|
|
3f2e735098 | ||
|
|
53d23a16db | ||
|
|
1ab403459f | ||
|
|
56b8751bf2 | ||
|
|
38dc148995 | ||
|
|
03c8358cf5 | ||
|
|
d7e9a0bec6 | ||
|
|
2424ecfd25 | ||
|
|
c40ca30394 | ||
|
|
30b854b3ac | ||
|
|
5158a24557 | ||
|
|
49460df510 | ||
|
|
08926ed5fe | ||
|
|
5d1643d9dc | ||
|
|
f8f55f5f5c | ||
|
|
13027f2050 | ||
|
|
5ca1214c9f | ||
|
|
f4b960ff05 | ||
|
|
a2a1e51ac3 | ||
|
|
c535d4bed2 | ||
|
|
ba30f88a23 | ||
|
|
80de80bd4b | ||
|
|
72b72d94c6 | ||
|
|
e050776d73 | ||
|
|
ddd00452b8 | ||
|
|
a299c002b3 | ||
|
|
1b59fbd537 | ||
|
|
6a477a07ed | ||
|
|
a4b48ac868 | ||
|
|
09f3383f2d | ||
|
|
80f5732d1a | ||
|
|
4dada97651 | ||
|
|
dd7547a9a9 | ||
|
|
1d24683563 | ||
|
|
7a138cf02e | ||
|
|
9500a0a0b0 | ||
|
|
274f6433d0 | ||
|
|
4a4fc50127 | ||
|
|
b09d280fbe | ||
|
|
efea7e0f7c | ||
|
|
9ea00ed58b | ||
|
|
981d69baec | ||
|
|
69449024e8 | ||
|
|
6975ab5956 | ||
|
|
b203b9c1a4 | ||
|
|
77c5127446 | ||
|
|
1831c45d88 | ||
|
|
e6e5ffc544 | ||
|
|
e639a20353 | ||
|
|
1c78a7d705 | ||
|
|
4da52d719e | ||
|
|
f3cfcc4fc1 | ||
|
|
9fb40197b9 | ||
|
|
f2e182dedf | ||
|
|
2d0b051e26 | ||
|
|
c462b74773 | ||
|
|
dfbef814cd | ||
|
|
5a2123fa6c | ||
|
|
2931c72341 | ||
|
|
ec345edd9d | ||
|
|
93d9718c33 | ||
|
|
ab20ab4bd9 | ||
|
|
1709f71cf3 | ||
|
|
68e9a376d5 | ||
|
|
f708aec4e5 | ||
|
|
76aedb8365 | ||
|
|
e973b025d6 | ||
|
|
23e9e86043 | ||
|
|
ec462ca4c3 | ||
|
|
ae6a4992fc | ||
|
|
d56e10b01d | ||
|
|
d32f242ffe | ||
|
|
5c7d622a15 | ||
|
|
3678cbfef5 | ||
|
|
60e67a8026 | ||
|
|
0749a5ea76 | ||
|
|
3d24cf4bde | ||
|
|
036b411e7a | ||
|
|
5aaf8b6815 | ||
|
|
619a54e584 | ||
|
|
e652fce3b9 | ||
|
|
b2617c102f | ||
|
|
de9c7d3f00 | ||
|
|
e3eee16180 | ||
|
|
5f3ffbcc23 | ||
|
|
7cf0c316c6 | ||
|
|
5356f10471 | ||
|
|
fd48cc5c47 | ||
|
|
1354c6d899 | ||
|
|
49a5b9d9f7 | ||
|
|
c9dd5c658c | ||
|
|
bfe0e887af | ||
|
|
165ba862a9 | ||
|
|
ff5dd7d462 | ||
|
|
e210294146 | ||
|
|
3ff30bc667 | ||
|
|
95786fb71c | ||
|
|
f32a366051 | ||
|
|
16a580661f | ||
|
|
7066a5e337 | ||
|
|
4f13a9bd52 | ||
|
|
a0f8af4535 | ||
|
|
6131568385 | ||
|
|
213278bd96 | ||
|
|
fbfc301f20 | ||
|
|
06579ec91d | ||
|
|
77ae29acef | ||
|
|
569a4b5913 | ||
|
|
11d5507729 | ||
|
|
7fe30a178f | ||
|
|
f77c712015 | ||
|
|
b8858520fa | ||
|
|
cc82dbf88e | ||
|
|
aba771f23d | ||
|
|
d04657040c | ||
|
|
3f516ea9d8 | ||
|
|
7896562d2b | ||
|
|
fb659d4897 | ||
|
|
c276a8b4d1 | ||
|
|
1ca1274595 | ||
|
|
0625f5f1c1 | ||
|
|
c6aec6f444 | ||
|
|
9020c26c0f | ||
|
|
fd6195c0bc | ||
|
|
6bc8d6aa54 | ||
|
|
fc91e6ae8c | ||
|
|
d9e00b2c53 | ||
|
|
4ff077a33f | ||
|
|
028ad6f433 | ||
|
|
571f3f5b4b | ||
|
|
2e5620dfa0 | ||
|
|
080c746140 | ||
|
|
547e85f548 | ||
|
|
4878d397a8 | ||
|
|
4c2aa3d548 | ||
|
|
f0d7d326d0 | ||
|
|
4c8848147a | ||
|
|
5ec7f05f94 | ||
|
|
b3812738df | ||
|
|
47cd6c135a | ||
|
|
f6ff9d3fb6 | ||
|
|
00446acebb | ||
|
|
3c274840de | ||
|
|
48bf597fe2 | ||
|
|
1cb61974ad | ||
|
|
be67ab60db | ||
|
|
5a036434d1 | ||
|
|
f624fc1bb0 | ||
|
|
a766a172f5 | ||
|
|
9801824732 | ||
|
|
89c623491a | ||
|
|
72f868b617 | ||
|
|
53a5117d56 | ||
|
|
4de166dba2 | ||
|
|
6471d089ef | ||
|
|
be146073b9 | ||
|
|
0f129b1fce | ||
|
|
fd0935a9e0 |
20
.build/banner.mjs
Normal file
@@ -0,0 +1,20 @@
|
||||
import fs from 'node:fs/promises'
|
||||
import path from 'node:path'
|
||||
import { fileURLToPath } from 'node:url'
|
||||
|
||||
const __dirname = path.dirname(fileURLToPath(import.meta.url))
|
||||
|
||||
const pkgJson = path.join(__dirname, '../package.json')
|
||||
const pkg = JSON.parse(await fs.readFile(pkgJson, 'utf8'))
|
||||
|
||||
const year = new Date().getFullYear()
|
||||
|
||||
function getBanner(pluginFilename) {
|
||||
return `/*!
|
||||
* Tabler${pluginFilename ? ` ${pluginFilename}` : ''} v${pkg.version} (${pkg.homepage})
|
||||
* Copyright 2011-${year} ${pkg.author}
|
||||
* Licensed under MIT (https://github.com/tabler/tabler/blob/main/LICENSE)
|
||||
*/`
|
||||
}
|
||||
|
||||
export default getBanner
|
||||
106
.build/change-version.mjs
Normal file
@@ -0,0 +1,106 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
'use strict'
|
||||
|
||||
import { execFile } from 'node:child_process'
|
||||
import fs from 'node:fs/promises'
|
||||
import process from 'node:process'
|
||||
|
||||
const VERBOSE = process.argv.includes('--verbose')
|
||||
const DRY_RUN = process.argv.includes('--dry') || process.argv.includes('--dry-run')
|
||||
|
||||
const FILES = [
|
||||
'README.md',
|
||||
'test.md',
|
||||
'preview/_config.yml',
|
||||
'core/scss/_banner.scss',
|
||||
'core/js/base.js'
|
||||
]
|
||||
|
||||
function regExpQuote(string) {
|
||||
return string.replace(/[$()*+-.?[\\\]^{|}]/g, '\\$&')
|
||||
}
|
||||
|
||||
function regExpQuoteReplacement(string) {
|
||||
return string.replace(/\$/g, '$$')
|
||||
}
|
||||
|
||||
async function replaceRecursively(file, oldVersion, newVersion) {
|
||||
const originalString = await fs.readFile(file, 'utf8')
|
||||
const newString = originalString
|
||||
.replace(
|
||||
new RegExp(regExpQuote(oldVersion), 'g'),
|
||||
regExpQuoteReplacement(newVersion)
|
||||
)
|
||||
// Also replace the version used by the rubygem,
|
||||
// which is using periods (`.`) instead of hyphens (`-`)
|
||||
.replace(
|
||||
new RegExp(regExpQuote(oldVersion.replace(/-/g, '.')), 'g'),
|
||||
regExpQuoteReplacement(newVersion.replace(/-/g, '.'))
|
||||
)
|
||||
|
||||
// No need to move any further if the strings are identical
|
||||
if (originalString === newString) {
|
||||
return
|
||||
}
|
||||
|
||||
if (VERBOSE) {
|
||||
console.log(`Found ${oldVersion} in ${file}`)
|
||||
}
|
||||
|
||||
if (DRY_RUN) {
|
||||
return
|
||||
}
|
||||
|
||||
await fs.writeFile(file, newString, 'utf8')
|
||||
}
|
||||
|
||||
function showUsage(args) {
|
||||
console.error('USAGE: change-version old_version new_version [--verbose] [--dry[-run]]')
|
||||
console.error('Got arguments:', args)
|
||||
process.exit(1)
|
||||
}
|
||||
|
||||
function bumpPnpmVersion(newVersion) {
|
||||
if (DRY_RUN) {
|
||||
return
|
||||
}
|
||||
|
||||
if (process.env.npm_package_version !== newVersion) {
|
||||
execFile('pnpm', ['version', '-r', newVersion, '--no-git-tag'], { shell: true }, error => {
|
||||
if (error) {
|
||||
console.error(error)
|
||||
process.exit(1)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
async function main(args) {
|
||||
let [oldVersion, newVersion] = args
|
||||
|
||||
if (!oldVersion || !newVersion) {
|
||||
showUsage(args)
|
||||
}
|
||||
|
||||
[oldVersion, newVersion] = [oldVersion, newVersion].map(arg => {
|
||||
return arg.startsWith('v') ? arg.slice(1) : arg
|
||||
})
|
||||
|
||||
if (oldVersion === newVersion) {
|
||||
showUsage(args)
|
||||
}
|
||||
|
||||
bumpPnpmVersion(newVersion)
|
||||
|
||||
try {
|
||||
await Promise.all(
|
||||
FILES.map(file => replaceRecursively(file, oldVersion, newVersion))
|
||||
)
|
||||
} catch (error) {
|
||||
console.error(error)
|
||||
process.exit(1)
|
||||
}
|
||||
}
|
||||
|
||||
main(process.argv.slice(2))
|
||||
27
.build/changelog.mjs
Normal file
@@ -0,0 +1,27 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
'use strict'
|
||||
|
||||
const content = YAML.parse(fs.readFileSync(path.join(__dirname, '../preview/pages/_data/changelog.yml', 'utf8'))).reverse()
|
||||
|
||||
let readme = `# Changelog
|
||||
|
||||
All notable changes to this project will be documented in this file.\n`
|
||||
|
||||
content.forEach((change) => {
|
||||
readme += `\n\n## \`${change.version}\` - ${change.date}\n\n`
|
||||
|
||||
if (change.description) {
|
||||
readme += `**${change.description}**\n\n`
|
||||
}
|
||||
|
||||
change.changes.forEach((line) => {
|
||||
readme += `- ${line}\n`
|
||||
})
|
||||
|
||||
console.log(change.version);
|
||||
})
|
||||
|
||||
console.log(readme);
|
||||
|
||||
// fs.writeFileSync('CHANGELOG.md', readme)
|
||||
61
.build/download-images.mjs
Normal file
@@ -0,0 +1,61 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
'use strict'
|
||||
|
||||
import YAML from 'yaml'
|
||||
import fs from 'node:fs'
|
||||
import path from 'node:path'
|
||||
import request from 'request'
|
||||
import { fileURLToPath } from 'node:url'
|
||||
|
||||
const __dirname = path.dirname(fileURLToPath(import.meta.url))
|
||||
|
||||
const filePath = path.join(__dirname, '../preview/pages/_data/photos.yml')
|
||||
const photos = YAML.parse(fs.readFileSync(filePath, 'utf8'))
|
||||
|
||||
const urlTitle = (str) => {
|
||||
str = str
|
||||
.toLowerCase()
|
||||
.replaceAll('&', 'and')
|
||||
.replace(/[^[a-z0-9-]/g, '-')
|
||||
.replace(/-+/g, '-')
|
||||
|
||||
return str
|
||||
}
|
||||
|
||||
const download = function(uri, filename, callback, error) {
|
||||
request.head(uri, function(err, res, body) {
|
||||
request(uri).pipe(fs.createWriteStream(filename))
|
||||
.on('close', callback)
|
||||
.on('error', error)
|
||||
})
|
||||
}
|
||||
|
||||
async function downloadPhotos() {
|
||||
for (const key in photos) {
|
||||
const photo = photos[key]
|
||||
|
||||
let filename, i = 1;
|
||||
|
||||
do {
|
||||
filename = `${urlTitle(photo['title'])}${i > 1 ? `-${i}` : ''}.jpg`
|
||||
i++
|
||||
} while (fs.existsSync(path.join(__dirname, `../src/static/photos/${filename}`)))
|
||||
|
||||
await new Promise((resolve, reject) => {
|
||||
download(photo['path'], path.join(__dirname, `../src/static/photos/${filename}`), function(){
|
||||
resolve()
|
||||
}, function() {
|
||||
reject()
|
||||
});
|
||||
})
|
||||
|
||||
photos[key]['file'] = filename
|
||||
photos[key]['horizontal'] = photo['width'] > photo['height']
|
||||
}
|
||||
|
||||
fs.writeFileSync(filePath, YAML.stringify(photos))
|
||||
}
|
||||
|
||||
downloadPhotos();
|
||||
|
||||
66
.build/generate-sri.mjs
Normal file
@@ -0,0 +1,66 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
'use strict'
|
||||
|
||||
import crypto from 'crypto'
|
||||
import { readFileSync, write, writeFileSync } from 'fs'
|
||||
import path from 'path'
|
||||
import { fileURLToPath } from 'node:url'
|
||||
|
||||
const __dirname = path.dirname(fileURLToPath(import.meta.url))
|
||||
|
||||
const configFile = path.join(__dirname, '../preview/_config.yml')
|
||||
|
||||
const files = [
|
||||
{
|
||||
file: 'dist/css/tabler.min.css',
|
||||
configPropertyName: 'css_hash'
|
||||
},
|
||||
{
|
||||
file: 'dist/css/tabler.rtl.min.css',
|
||||
configPropertyName: 'css_rtl_hash'
|
||||
},
|
||||
{
|
||||
file: 'dist/css/tabler-flags.min.css',
|
||||
configPropertyName: 'css_flags_hash'
|
||||
},
|
||||
{
|
||||
file: 'dist/css/tabler-payments.min.css',
|
||||
configPropertyName: 'css_payments_hash'
|
||||
},
|
||||
{
|
||||
file: 'dist/css/tabler-social.min.css',
|
||||
configPropertyName: 'css_social_hash'
|
||||
},
|
||||
{
|
||||
file: 'dist/css/tabler-vendors.min.css',
|
||||
configPropertyName: 'css_vendors_hash'
|
||||
},
|
||||
{
|
||||
file: 'dist/js/tabler.min.js',
|
||||
configPropertyName: 'js_hash'
|
||||
},
|
||||
{
|
||||
file: 'dist/js/tabler.bundle.min.js',
|
||||
configPropertyName: 'js_bundle_hash'
|
||||
}
|
||||
]
|
||||
|
||||
files.forEach((file) => {
|
||||
const data = readFileSync(path.join(__dirname, '../core', file.file), 'utf8')
|
||||
|
||||
const algo = 'sha384'
|
||||
const hash = crypto.createHash(algo).update(data, 'utf8').digest('base64')
|
||||
const integrity = `${algo}-${hash}`
|
||||
|
||||
console.log(`${file.configPropertyName}: ${integrity}`)
|
||||
|
||||
let config = readFileSync(configFile, 'utf8')
|
||||
|
||||
const regex = new RegExp(`${file.configPropertyName}\\:\\s+("|')(\\S+)(\\1)`, 'gm')
|
||||
config = config.replace(regex, function() {
|
||||
return `${file.configPropertyName}: ${arguments[1]}${integrity}${arguments[3]}`
|
||||
})
|
||||
|
||||
writeFileSync(configFile, config, 'utf8')
|
||||
})
|
||||
50
.build/import-icons.mjs
Normal file
@@ -0,0 +1,50 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
'use strict'
|
||||
|
||||
import { fileURLToPath } from 'node:url'
|
||||
import { readFileSync, writeFileSync } from 'node:fs'
|
||||
import path from 'node:path'
|
||||
|
||||
import iconsTags from '../node_modules/@tabler/icons/tags.json' assert { type: "json" }
|
||||
import iconsPkg from '../node_modules/@tabler/icons/package.json' assert { type: "json" }
|
||||
|
||||
const __dirname = path.dirname(fileURLToPath(import.meta.url))
|
||||
|
||||
const prepareSvgFile = (svg) => {
|
||||
return svg.replace(/\n/g, '').replace(/>\s+</g, '><')
|
||||
}
|
||||
|
||||
let svgList = {}
|
||||
for (let iconName in iconsTags) {
|
||||
let iconData = iconsTags[iconName]
|
||||
svgList[iconName] = {
|
||||
name: iconName,
|
||||
version: iconData.version,
|
||||
category: iconData.category,
|
||||
tags: iconData.tags,
|
||||
unicode: iconData.unicode,
|
||||
svg: prepareSvgFile(
|
||||
readFileSync(
|
||||
path.join(
|
||||
__dirname,
|
||||
`../node_modules/@tabler/icons/icons/${iconName}.svg`
|
||||
)
|
||||
)
|
||||
.toString())
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
writeFileSync(
|
||||
path.join(__dirname, `../preview/pages/_data/icons-info.json`),
|
||||
JSON.stringify({
|
||||
version: iconsPkg.version,
|
||||
count: Object.keys(svgList).length,
|
||||
})
|
||||
)
|
||||
|
||||
writeFileSync(
|
||||
path.join(__dirname, `../preview/pages/_data/icons.json`),
|
||||
JSON.stringify(svgList)
|
||||
)
|
||||
5
.changeset/beige-hats-prove.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tabler/core": patch
|
||||
---
|
||||
|
||||
Updated link to icons documentation
|
||||
5
.changeset/clean-carrots-sort.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tabler/core": minor
|
||||
---
|
||||
|
||||
Add new `Tag` component
|
||||
5
.changeset/curvy-mails-burn.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tabler/core": patch
|
||||
---
|
||||
|
||||
Dependencies update
|
||||
5
.changeset/eight-pumas-fry.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tabler/core": patch
|
||||
---
|
||||
|
||||
Update Tabler Icons to version 2.21 with 18 new icons added
|
||||
5
.changeset/flags.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tabler/core": minor
|
||||
---
|
||||
|
||||
Add `flags.html` page with list of all flags
|
||||
5
.changeset/fluffy-insects-lay.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tabler/core": patch
|
||||
---
|
||||
|
||||
Adding Two-Step Verification Pages
|
||||
5
.changeset/gorgeous-windows-study.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tabler/core": minor
|
||||
---
|
||||
|
||||
Update CSS class from `text-muted` to `text-secondary` for better Bootstrap compatibility
|
||||
5
.changeset/healthy-bikes-cry.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tabler/core": patch
|
||||
---
|
||||
|
||||
`Dockerfile` fix
|
||||
5
.changeset/heavy-chicken-cover.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tabler/core": patch
|
||||
---
|
||||
|
||||
Update Tabler Icons to version 2.20 with 37 new icons added
|
||||
5
.changeset/heavy-ladybugs-grab.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tabler/core": patch
|
||||
---
|
||||
|
||||
Add Tabler Illustrations
|
||||
5
.changeset/hip-jobs-double.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tabler/core": minor
|
||||
---
|
||||
|
||||
Adding `alerts.html` page with example of alerts.
|
||||
5
.changeset/itchy-bottles-cheat.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tabler/core": patch
|
||||
---
|
||||
|
||||
Unify size of avatar, flag and payment components
|
||||
5
.changeset/khaki-gorillas-push.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tabler/core": patch
|
||||
---
|
||||
|
||||
Update icons to v2.42.0
|
||||
5
.changeset/khaki-wasps-provide.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tabler/core": patch
|
||||
---
|
||||
|
||||
Update Bootstrap to v5.3.0
|
||||
5
.changeset/late-zoos-sparkle.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tabler/core": patch
|
||||
---
|
||||
|
||||
Fix `rgba` color values in `_variables.scss`
|
||||
5
.changeset/long-eggs-work.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tabler/core": patch
|
||||
---
|
||||
|
||||
Resolve map page issues
|
||||
5
.changeset/mighty-mirrors-drum.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tabler/core": patch
|
||||
---
|
||||
|
||||
Update `_navbar.scss` with disabled dropdown menu items color
|
||||
5
.changeset/ninety-dancers-doubt.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tabler/core": patch
|
||||
---
|
||||
|
||||
Adding punctuation to `SECURITY.md`
|
||||
5
.changeset/olive-cars-admire.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tabler/core": minor
|
||||
---
|
||||
|
||||
Change primary color value to new Tabler branding
|
||||
5
.changeset/orange-donuts-cough.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tabler/core": patch
|
||||
---
|
||||
|
||||
Unified Box Shadows with Bootstrap Compatibility
|
||||
5
.changeset/red-vans-doubt.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tabler/core": patch
|
||||
---
|
||||
|
||||
Update Tabler Icons to version 2.22 with 18 new icons added
|
||||
5
.changeset/sharp-colts-grab.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tabler/core": patch
|
||||
---
|
||||
|
||||
Resolved light dropdown issue on dark theme
|
||||
5
.changeset/shiny-dolls-shop.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tabler/core": minor
|
||||
---
|
||||
|
||||
New Chat component
|
||||
5
.changeset/shy-rockets-deliver.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tabler/core": patch
|
||||
---
|
||||
|
||||
Update Tabler Icons to version 2.19 with 18 new icons added
|
||||
5
.changeset/silver-drinks-yell.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tabler/core": minor
|
||||
---
|
||||
|
||||
Adjusting form element sizes for enhanced mobile devices compatibility
|
||||
5
.changeset/soft-mangos-tie.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tabler/core": patch
|
||||
---
|
||||
|
||||
Add variable to configure `avatar-list` spacing
|
||||
5
.changeset/spotty-avocados-doubt.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tabler/core": patch
|
||||
---
|
||||
|
||||
Fix table default background color
|
||||
5
.changeset/stupid-dingos-train.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tabler/core": patch
|
||||
---
|
||||
|
||||
Avoid SCSS color dependency on `:focus`
|
||||
5
.changeset/thick-poems-battle.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tabler/core": patch
|
||||
---
|
||||
|
||||
Update Tabler Icons to version 2.25 with 48 new icons added
|
||||
5
.changeset/thin-eagles-mix.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tabler/core": minor
|
||||
---
|
||||
|
||||
Add new color picker component using `coloris.js` library
|
||||
5
.changeset/thirty-tomatoes-end.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tabler/core": patch
|
||||
---
|
||||
|
||||
Fix responsiveness issue in Settings menu
|
||||
5
.changeset/unlucky-eels-vanish.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tabler/core": patch
|
||||
---
|
||||
|
||||
Update `bootstrap` to v5.3.1
|
||||
5
.changeset/violet-moles-sparkle.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tabler/core": minor
|
||||
---
|
||||
|
||||
Update Tabler Icons to version 2.23 with 18 new icons added
|
||||
30
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@@ -1,30 +0,0 @@
|
||||
---
|
||||
name: Bug report
|
||||
about: Create a report to help us improve
|
||||
title: "[BUG] "
|
||||
labels: bug
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Describe the bug**
|
||||
|
||||
A clear and concise description of what the bug is.
|
||||
|
||||
**Device**
|
||||
|
||||
- Browser [e.g. Chrome ver.22, Safari ver.10]
|
||||
- OS: [e.g. Windows 10]
|
||||
- Screen size [e.g. 800x600]
|
||||
|
||||
**To reproduce**
|
||||
|
||||
Steps to reproduce the behavior:
|
||||
1. Go to '...'
|
||||
2. Click on '...'
|
||||
3. Scroll down to '...'
|
||||
4. See error
|
||||
|
||||
**Screenshots**
|
||||
|
||||
If applicable, add screenshots to help explain this problem.
|
||||
72
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
Normal file
@@ -0,0 +1,72 @@
|
||||
name: Bug report
|
||||
description: Create a report to help us improve
|
||||
title: "[BUG] "
|
||||
labels: ["bug"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: "## Thank you for making a bug report!"
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Thanks for taking the time to fill out this bug! It's really important to fill this form out completely as
|
||||
not filling it out will make the bug reports hard to replicate.
|
||||
- type: input
|
||||
id: browser
|
||||
attributes:
|
||||
label: Browser
|
||||
description: "What browser and version did this bug occur on?"
|
||||
placeholder: "e.g. Chrome ver.22, Safari ver.10"
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: os
|
||||
attributes:
|
||||
label: OS
|
||||
description: "What is the operating system of your device?"
|
||||
placeholder: "e.g. Windows 10, iOS 14, Ubuntu 23.04"
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: screen_size
|
||||
attributes:
|
||||
label: Screen size
|
||||
description: "What is the screen size of your device?"
|
||||
placeholder: "e.g. 800x600, 1920x1080"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Describe the bug
|
||||
description: "A clear and concise description of what the bug is."
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: reproduce
|
||||
attributes:
|
||||
label: How to reproduce
|
||||
description: "How do you trigger this bug? Please walk us through it step by step."
|
||||
value: |
|
||||
1. Go to '...'
|
||||
2. Click on '...'
|
||||
3. Scroll down to '...'
|
||||
4. See error
|
||||
...
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: screenshots
|
||||
attributes:
|
||||
label: Screenshots
|
||||
description: "If applicable, add screenshots here to help explain this problem. This helps us understand whats happening better."
|
||||
validations:
|
||||
required: false
|
||||
- type: input
|
||||
id: jsfiddle
|
||||
attributes:
|
||||
label: JSFiddle
|
||||
description: "Please add a jsFiddle replicating the bug. Without the jsFiddle most bug reports cannot be solved and will be closed."
|
||||
validations:
|
||||
required: false
|
||||
---
|
||||
10
.github/workflows/bundlewatch.yml
vendored
@@ -17,20 +17,22 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Clone repository
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Set up Node.js
|
||||
uses: actions/setup-node@v3
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: "${{ env.NODE }}"
|
||||
|
||||
- name: Install PNPM
|
||||
run: npm i -g pnpm
|
||||
uses: pnpm/action-setup@v2
|
||||
with:
|
||||
version: 8
|
||||
|
||||
- name: Set up Bundler
|
||||
uses: ruby/setup-ruby@v1
|
||||
with:
|
||||
ruby-version: 2.6
|
||||
ruby-version: 3.2
|
||||
bundler-cache: true
|
||||
|
||||
- name: Install pnpm dependencies
|
||||
|
||||
@@ -16,7 +16,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
|
||||
2
.github/workflows/close_inactive.yml
vendored
@@ -11,7 +11,7 @@ jobs:
|
||||
pull-requests: write
|
||||
issues: write
|
||||
steps:
|
||||
- uses: actions/stale@v8
|
||||
- uses: actions/stale@v9
|
||||
with:
|
||||
days-before-issue-stale: 360
|
||||
days-before-issue-close: 14
|
||||
|
||||
33
.github/workflows/lockfiles.yaml
vendored
@@ -1,26 +1,21 @@
|
||||
name: Changed lock files
|
||||
on:
|
||||
pull_request: null
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- dev
|
||||
pull_request: null
|
||||
|
||||
permissions:
|
||||
pull-requests: read
|
||||
pull-requests: read
|
||||
|
||||
jobs:
|
||||
lockfiles:
|
||||
runs-on: ubuntu-latest
|
||||
name: Verify lock file integrity
|
||||
steps:
|
||||
lockfiles:
|
||||
runs-on: ubuntu-latest
|
||||
name: Verify lock file integrity
|
||||
steps:
|
||||
- name: Clone Tabler
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Clone Tabler
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Prevent lock file change
|
||||
uses: xalvarez/prevent-file-change-action@v1
|
||||
with:
|
||||
githubToken: ${{ secrets.GITHUB_TOKEN }}
|
||||
pattern: Gemfile.lock|pnpm-lock.json
|
||||
trustedAuthors: codecalm, dependabot
|
||||
- name: Prevent lock file change
|
||||
uses: xalvarez/prevent-file-change-action@v1
|
||||
with:
|
||||
githubToken: ${{ secrets.GITHUB_TOKEN }}
|
||||
pattern: Gemfile.lock|pnpm-lock.json
|
||||
trustedAuthors: codecalm, dependabot
|
||||
|
||||
24
.github/workflows/release.yml
vendored
@@ -13,17 +13,33 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Node.js 18
|
||||
uses: actions/setup-node@v3
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 18
|
||||
|
||||
- name: Install PNPM
|
||||
uses: pnpm/action-setup@v2
|
||||
with:
|
||||
version: 8
|
||||
|
||||
- name: Install Dependencies
|
||||
run: yarn
|
||||
run: pnpm install
|
||||
|
||||
- name: Creating .npmrc
|
||||
run: |
|
||||
cat << EOF > "$HOME/.npmrc"
|
||||
//registry.npmjs.org/:_authToken=$NPM_TOKEN
|
||||
EOF
|
||||
env:
|
||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
|
||||
- name: Create Release Pull Request
|
||||
uses: changesets/action@v1
|
||||
with:
|
||||
publish: pnpm release
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
12
.github/workflows/test.yml
vendored
@@ -15,18 +15,22 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Clone repository
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Set up Node.js
|
||||
uses: actions/setup-node@v3
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: "${{ env.NODE }}"
|
||||
cache: pnpm
|
||||
|
||||
- name: Install PNPM
|
||||
uses: pnpm/action-setup@v2
|
||||
with:
|
||||
version: 8
|
||||
|
||||
- name: Set up Ruby
|
||||
uses: ruby/setup-ruby@v1
|
||||
with:
|
||||
ruby-version: 2.6
|
||||
ruby-version: 3.2
|
||||
bundler-cache: true
|
||||
|
||||
- run: ruby --version
|
||||
|
||||
4
.gitignore
vendored
@@ -30,4 +30,6 @@ node_modules/
|
||||
.yarn
|
||||
.next
|
||||
.vercel
|
||||
package-lock.json
|
||||
package-lock.json
|
||||
|
||||
.turbo
|
||||
@@ -1,3 +0,0 @@
|
||||
version: 1
|
||||
snapshot:
|
||||
widths: [1440]
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"bracketSpacing": true,
|
||||
"jsxSingleQuote": false,
|
||||
"printWidth": 80,
|
||||
"printWidth": 240,
|
||||
"proseWrap": "always",
|
||||
"semi": false,
|
||||
"singleQuote": false,
|
||||
|
||||
28
CHANGELOG.md
@@ -2,6 +2,32 @@
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
## `1.0.0-beta20` - 2023-08-24
|
||||
|
||||
- Update `bootstrap` to v5.3.1
|
||||
- Add new `Chat` component
|
||||
- Add new `Tag` component
|
||||
- Add customizable Star Ratings component using `star-rating.js` library
|
||||
- Add new color picker component using `coloris.js` library
|
||||
- Add `alerts.html` page with example of alerts.
|
||||
- Add `flags.html` page with list of all flags
|
||||
- Add Two-Step Verification Pages
|
||||
- Add variable to configure `avatar-list` spacing
|
||||
- Unify dark mode with latest Bootstrap API and improve dark mode elements
|
||||
- Unify Box Shadows with Bootstrap Compatibility
|
||||
- Avoid SCSS color dependency on `:focus`
|
||||
- Update CSS class from `text-muted` to `text-secondary` for better Bootstrap compatibility
|
||||
- Fix text color in dark version of navbar
|
||||
- Adjusting form element sizes for enhanced mobile devices compatibility
|
||||
- Resolved light dropdown issue on dark theme
|
||||
- Update Tabler Icons to version 2.32 with 48 new icons added
|
||||
- Fix table default background color
|
||||
- Fix responsiveness issue in Settings menu
|
||||
- Update required Node.js version to 18 and add `.nvmrc` file
|
||||
- Add support for changeset tool for more efficient and organized code changes
|
||||
- `Dockerfile` fix
|
||||
- Switch from `npm` to `pnpm` for faster package installation
|
||||
|
||||
|
||||
## `1.0.0-beta19` - 2023-05-15
|
||||
|
||||
@@ -83,7 +109,7 @@ All notable changes to this project will be documented in this file.
|
||||
- exclude `playgrounds` from build
|
||||
- update jekyll to v4.3.1
|
||||
- fix: facebook color update
|
||||
- navbar aria atributes fixes
|
||||
- navbar aria attributes fixes
|
||||
- fix #808 - `navbar-menu` and `sidebar-menu` has the same `id`
|
||||
- fix #1335 - missing color variables usage in `alert` and `btn-ghost-*`
|
||||
- move border style to CSS variables
|
||||
|
||||
22
Dockerfile
@@ -1,27 +1,23 @@
|
||||
FROM ruby:2.7-alpine
|
||||
|
||||
RUN apk add --no-cache nodejs pnpm && \
|
||||
apk add --no-cache --virtual build-dependencies build-base
|
||||
FROM ruby:3.2-alpine
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
ADD package.json /app/
|
||||
ADD package-lock.json /app/
|
||||
ADD package.json /app/
|
||||
ADD _config.yml /app/
|
||||
ADD _config_prod.yml /app/
|
||||
ADD Gemfile /app/
|
||||
ADD Gemfile.lock /app/
|
||||
ADD _config.yml /app/
|
||||
ADD package.json /app/
|
||||
ADD pnpm-lock.yaml /app/
|
||||
ADD gulpfile.js /app/
|
||||
|
||||
# RUN apk update && apk add --virtual build-dependencies build-base
|
||||
RUN apk add --virtual build-dependencies build-base npm
|
||||
RUN apk upgrade
|
||||
RUN npm i -g pnpm
|
||||
RUN pnpm install
|
||||
RUN bundle config --global silence_root_warning 1 && bundler install --verbose
|
||||
|
||||
# website
|
||||
EXPOSE 3000
|
||||
|
||||
# website management (browser auto reload)
|
||||
EXPOSE 3001
|
||||
|
||||
# run tabler
|
||||
ENTRYPOINT [ "pnpm", "run", "start-plugins" ]
|
||||
ENTRYPOINT [ "pnpm", "run", "start-plugins" ]
|
||||
|
||||
86
Gemfile.lock
@@ -1,86 +0,0 @@
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
addressable (2.8.1)
|
||||
public_suffix (>= 2.0.2, < 6.0)
|
||||
colorator (1.1.0)
|
||||
concurrent-ruby (1.1.10)
|
||||
em-websocket (0.5.3)
|
||||
eventmachine (>= 0.12.9)
|
||||
http_parser.rb (~> 0)
|
||||
eventmachine (1.2.7)
|
||||
ffi (1.15.5)
|
||||
forwardable-extended (2.6.0)
|
||||
htmlbeautifier (1.4.2)
|
||||
htmlcompressor (0.4.0)
|
||||
http_parser.rb (0.8.0)
|
||||
i18n (1.12.0)
|
||||
concurrent-ruby (~> 1.0)
|
||||
jekyll (4.3.1)
|
||||
addressable (~> 2.4)
|
||||
colorator (~> 1.0)
|
||||
em-websocket (~> 0.5)
|
||||
i18n (~> 1.0)
|
||||
jekyll-sass-converter (>= 2.0, < 4.0)
|
||||
jekyll-watch (~> 2.0)
|
||||
kramdown (~> 2.3, >= 2.3.1)
|
||||
kramdown-parser-gfm (~> 1.0)
|
||||
liquid (~> 4.0)
|
||||
mercenary (>= 0.3.6, < 0.5)
|
||||
pathutil (~> 0.9)
|
||||
rouge (>= 3.0, < 5.0)
|
||||
safe_yaml (~> 1.0)
|
||||
terminal-table (>= 1.8, < 4.0)
|
||||
webrick (~> 1.7)
|
||||
jekyll-random (0.1)
|
||||
jekyll (>= 3.3, < 5.0)
|
||||
jekyll-redirect-from (0.16.0)
|
||||
jekyll (>= 3.3, < 5.0)
|
||||
jekyll-sass-converter (2.2.0)
|
||||
sassc (> 2.0.1, < 3.0)
|
||||
jekyll-tidy (0.2.2)
|
||||
htmlbeautifier
|
||||
htmlcompressor
|
||||
jekyll
|
||||
jekyll-timeago (0.14.0)
|
||||
mini_i18n (>= 0.8.0)
|
||||
jekyll-watch (2.2.1)
|
||||
listen (~> 3.0)
|
||||
kramdown (2.4.0)
|
||||
rexml
|
||||
kramdown-parser-gfm (1.1.0)
|
||||
kramdown (~> 2.0)
|
||||
liquid (4.0.3)
|
||||
listen (3.7.1)
|
||||
rb-fsevent (~> 0.10, >= 0.10.3)
|
||||
rb-inotify (~> 0.9, >= 0.9.10)
|
||||
mercenary (0.4.0)
|
||||
mini_i18n (0.8.0)
|
||||
pathutil (0.16.2)
|
||||
forwardable-extended (~> 2.6)
|
||||
public_suffix (5.0.0)
|
||||
rb-fsevent (0.11.2)
|
||||
rb-inotify (0.10.1)
|
||||
ffi (~> 1.0)
|
||||
rexml (3.2.5)
|
||||
rouge (3.30.0)
|
||||
safe_yaml (1.0.5)
|
||||
sassc (2.4.0)
|
||||
ffi (~> 1.9)
|
||||
terminal-table (3.0.2)
|
||||
unicode-display_width (>= 1.1.1, < 3)
|
||||
unicode-display_width (2.3.0)
|
||||
webrick (1.7.0)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
|
||||
DEPENDENCIES
|
||||
jekyll (= 4.3.1)
|
||||
jekyll-random
|
||||
jekyll-redirect-from
|
||||
jekyll-tidy
|
||||
jekyll-timeago
|
||||
|
||||
BUNDLED WITH
|
||||
2.1.4
|
||||
15
README.md
@@ -1,7 +1,4 @@
|
||||
<p align="center">
|
||||
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
|
||||
[](#contributors-)
|
||||
<!-- ALL-CONTRIBUTORS-BADGE:END -->
|
||||
<a href="https://github.com/tabler/tabler"><img src="https://raw.githubusercontent.com/tabler/tabler/dev/src/static/logo.svg" alt="A premium and open source dashboard template with a responsive and high-quality UI." width="300"></a><br><br>
|
||||
A premium and open source dashboard template with a responsive and high-quality UI.
|
||||
</p>
|
||||
@@ -35,7 +32,7 @@ Tabler is fully responsive and compatible with all modern browsers. Thanks to it
|
||||
We've created this admin panel for everyone who wants to create templates based on our pre-made components. Our mission is to deliver a user-friendly, clear and easy administration panel that can be used by both simple websites and sophisticated systems. The only requirement is basic HTML and CSS (and some [Liquid](https://github.com/Shopify/liquid/wiki)) knowledge — as a reward, you'll be able to manage and visualize different types of data in the easiest possible way!
|
||||
|
||||
* **Responsive:** With the support for mobile, tablet and desktop displays, it doesn’t matter what device you’re using. Tabler is responsive in all major browsers.
|
||||
* **Cross Browser:** Our theme works perfectly with the latest Chrome, Firefox+, Safari, Opera, Edge and mobile browsers. We work hard to to provide continuous support for them.
|
||||
* **Cross Browser:** Our theme works perfectly with the latest Chrome, Firefox+, Safari, Opera, Edge and mobile browsers. We work hard to provide continuous support for them.
|
||||
* **HTML5 & CSS3:** We use only modern web technologies, such as HTML5 and CSS3. Our theme includes some subtle CSS3 animations, which will help you attract attention.
|
||||
* **Clean Code:** We followed Bootstrap’s guidelines carefully to make your integration as easy as possible. All code is handwritten and W3C valid.
|
||||
* **Demo pages**: Tabler features over 20 individual pages using various components, which gives you the freedom to choose and combine. All components can vary in color and styling that you can easily modify using Sass. Sky is the limit!
|
||||
@@ -45,6 +42,8 @@ We've created this admin panel for everyone who wants to create templates based
|
||||
|
||||
Documentation is available as a part of Tabler preview: https://tabler.io/docs/
|
||||
|
||||
To run the documentation site locally, follow instructions in the [Documentation README](https://github.com/tabler/tabler/blob/dev/site/README.md).
|
||||
|
||||
## 🪴 Project Activity
|
||||
|
||||

|
||||
@@ -196,12 +195,6 @@ Thank you to all our backers! 🙏 [Become a backer](https://opencollective.com/
|
||||
|
||||
<a href="https://opencollective.com/tabler#backers" target="_blank"><img src="https://opencollective.com/tabler/tiers/backer.svg?width=890&button=false" /></a>
|
||||
|
||||
## ❤️ Thanks
|
||||
|
||||
<a href="https://www.chromatic.com/"><img src="https://user-images.githubusercontent.com/321738/84662277-e3db4f80-af1b-11ea-88f5-91d67a5e59f6.png" width="153" height="30" alt="Chromatic" /></a>
|
||||
|
||||
Thanks to [Chromatic](https://www.chromatic.com/) for providing the visual testing platform that helps us review UI changes and catch visual regressions.
|
||||
|
||||
## License
|
||||
|
||||
See the [LICENSE](https://github.com/tabler/tabler/blob/master/LICENSE) file.
|
||||
@@ -217,4 +210,4 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
|
||||
<!-- prettier-ignore-end -->
|
||||
<!-- ALL-CONTRIBUTORS-LIST:END -->
|
||||
|
||||
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
|
||||
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
|
||||
|
||||
@@ -11,6 +11,6 @@ We take security very seriously and ask that you follow the following process.
|
||||
|
||||
## Reporting a Vulnerability
|
||||
|
||||
If you think you may have found a security bug we ask that you privately send the details to support@tabler.io.
|
||||
If you think you may have found a security bug, We ask that you privately send the details to support@tabler.io.
|
||||
Please make sure to use a descriptive title in the email.
|
||||
|
||||
|
||||
224
_config.yml
@@ -1,224 +0,0 @@
|
||||
source: src/pages
|
||||
destination: tmp
|
||||
|
||||
keep_files:
|
||||
- css
|
||||
- js
|
||||
- img
|
||||
- dist
|
||||
- static
|
||||
- playground.html
|
||||
|
||||
use-iconfont: false
|
||||
rtl: false
|
||||
|
||||
title: Tabler
|
||||
description: Premium and Open Source dashboard template with responsive and high quality UI.
|
||||
|
||||
email: support@tabler.io
|
||||
homepage: https://tabler.io
|
||||
github-url: https://github.com/tabler/tabler
|
||||
github-sponsors-url: https://github.com/sponsors/codecalm
|
||||
changelog-url: https://github.com/tabler/tabler/releases
|
||||
sponsor-url: https://github.com/sponsors/codecalm
|
||||
preview-url: https://preview.tabler.io
|
||||
docs-url: https://tabler.io/docs
|
||||
|
||||
mapbox-key: pk.eyJ1IjoiY29kZWNhbG0iLCJhIjoiSzRiOVJvQSJ9.BUVkTT6IYs83xSUs4H7bjQ
|
||||
google-maps-key: AIzaSyAr5mRB4U1KRkVznIrDWEvZjroYcD202DI
|
||||
google-maps-dev-key: AIzaSyCL-BY8-sq12m0S9H-S_yMqDmcun3A9znw
|
||||
npm-package: "@tabler/core"
|
||||
|
||||
random-date-from: "2018-01-01"
|
||||
random-date-to: "2022-01-01"
|
||||
|
||||
debug: false
|
||||
|
||||
layout-dark: false
|
||||
|
||||
plugins:
|
||||
- jekyll-random
|
||||
- jekyll-tidy
|
||||
- jekyll-timeago
|
||||
- jekyll-redirect-from
|
||||
|
||||
tabler-css-plugins:
|
||||
- tabler-flags
|
||||
- tabler-payments
|
||||
- tabler-vendors
|
||||
|
||||
exclude:
|
||||
- .jekyll-cache
|
||||
- redirects.json
|
||||
|
||||
markdown: kramdown
|
||||
kramdown:
|
||||
input: GFM
|
||||
syntax_highlighter: rouge
|
||||
|
||||
jekyll_tidy:
|
||||
compress_html: false
|
||||
ignore_env: development
|
||||
|
||||
defaults:
|
||||
- scope:
|
||||
type: "pages"
|
||||
path: "*.md"
|
||||
values:
|
||||
layout: markdown
|
||||
- scope:
|
||||
type: "pages"
|
||||
values:
|
||||
layout: default
|
||||
|
||||
colors:
|
||||
blue:
|
||||
class: blue
|
||||
hex: '#206bc4'
|
||||
title: Blue
|
||||
azure:
|
||||
class: azure
|
||||
hex: '#45aaf2'
|
||||
title: Azure
|
||||
indigo:
|
||||
class: indigo
|
||||
hex: '#6574cd'
|
||||
title: Indigo
|
||||
purple:
|
||||
class: purple
|
||||
hex: '#a55eea'
|
||||
title: Purple
|
||||
pink:
|
||||
class: pink
|
||||
hex: '#f66d9b'
|
||||
title: Pink
|
||||
red:
|
||||
class: red
|
||||
hex: '#fa4654'
|
||||
title: Red
|
||||
orange:
|
||||
class: orange
|
||||
hex: '#fd9644'
|
||||
title: Orange
|
||||
yellow:
|
||||
class: yellow
|
||||
hex: '#f1c40f'
|
||||
title: Yellow
|
||||
lime:
|
||||
class: lime
|
||||
hex: '#7bd235'
|
||||
title: Lime
|
||||
green:
|
||||
class: green
|
||||
hex: '#5eba00'
|
||||
title: Green
|
||||
teal:
|
||||
class: teal
|
||||
hex: '#2bcbba'
|
||||
title: Teal
|
||||
cyan:
|
||||
class: cyan
|
||||
hex: '#17a2b8'
|
||||
title: Cyan
|
||||
|
||||
colors-extra:
|
||||
white:
|
||||
hex: '#ffffff'
|
||||
title: White
|
||||
dark:
|
||||
hex: '#303645'
|
||||
title: Dark
|
||||
gray:
|
||||
hex: '#868e96'
|
||||
title: Gray
|
||||
|
||||
variants:
|
||||
- name: success
|
||||
icon: check
|
||||
- name: info
|
||||
icon: info-circle
|
||||
- name: warning
|
||||
icon: alert-triangle
|
||||
- name: danger
|
||||
icon: alert-circle
|
||||
|
||||
theme-colors:
|
||||
primary:
|
||||
class: primary
|
||||
title: Primary
|
||||
secondary:
|
||||
class: secondary
|
||||
title: Secondary
|
||||
success:
|
||||
class: success
|
||||
title: Success
|
||||
warning:
|
||||
class: warning
|
||||
title: Warning
|
||||
danger:
|
||||
class: danger
|
||||
title: Danger
|
||||
info:
|
||||
class: info
|
||||
title: Info
|
||||
dark:
|
||||
class: dark
|
||||
title: Dark
|
||||
light:
|
||||
class: light
|
||||
title: Light
|
||||
|
||||
button-states:
|
||||
- class:
|
||||
title: Normal
|
||||
- class: active
|
||||
title: Active state
|
||||
- class: disabled
|
||||
title: Disabled
|
||||
|
||||
socials:
|
||||
facebook:
|
||||
icon: brand-facebook
|
||||
title: Facebook
|
||||
twitter:
|
||||
icon: brand-twitter
|
||||
title: Twitter
|
||||
google:
|
||||
icon: brand-google
|
||||
title: Google
|
||||
youtube:
|
||||
icon: brand-youtube
|
||||
title: Youtube
|
||||
vimeo:
|
||||
icon: brand-vimeo
|
||||
title: Vimeo
|
||||
dribbble:
|
||||
icon: brand-dribbble
|
||||
title: Dribbble
|
||||
github:
|
||||
icon: brand-github
|
||||
title: Github
|
||||
instagram:
|
||||
icon: brand-instagram
|
||||
title: Instagram
|
||||
pinterest:
|
||||
icon: brand-pinterest
|
||||
title: Pinterest
|
||||
vk:
|
||||
icon: brand-vk
|
||||
title: VK
|
||||
rss:
|
||||
icon: rss
|
||||
title: RSS
|
||||
flickr:
|
||||
icon: brand-flickr
|
||||
title: Flickr
|
||||
bitbucket:
|
||||
icon: brand-bitbucket
|
||||
title: Bitbucket
|
||||
tabler:
|
||||
icon: brand-tabler
|
||||
title: Tabler
|
||||
|
||||
months-short: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
|
||||
months-long: ['January', 'Febuary', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
|
||||
@@ -1,58 +0,0 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
'use strict'
|
||||
|
||||
const YAML = require('yaml')
|
||||
const fs = require('node:fs')
|
||||
const path = require('node:path')
|
||||
const request = require('request')
|
||||
const filePath = path.join(__dirname, '../src/pages/_data/photos.yml')
|
||||
|
||||
const photos = YAML.parse(fs.readFileSync(filePath, 'utf8'))
|
||||
|
||||
const urlTitle = (str) => {
|
||||
str = str
|
||||
.toLowerCase()
|
||||
.replaceAll('&', 'and')
|
||||
.replace(/[^[a-z0-9-]/g, '-')
|
||||
.replace(/-+/g, '-')
|
||||
|
||||
return str
|
||||
}
|
||||
|
||||
const download = function(uri, filename, callback, error) {
|
||||
request.head(uri, function(err, res, body) {
|
||||
request(uri).pipe(fs.createWriteStream(filename))
|
||||
.on('close', callback)
|
||||
.on('error', error)
|
||||
})
|
||||
}
|
||||
|
||||
async function downloadPhotos() {
|
||||
for (const key in photos) {
|
||||
const photo = photos[key]
|
||||
|
||||
let filename, i = 1;
|
||||
|
||||
do {
|
||||
filename = `${urlTitle(photo['title'])}${i > 1 ? `-${i}` : ''}.jpg`
|
||||
i++
|
||||
} while (fs.existsSync(path.join(__dirname, `../src/static/photos/${filename}`)))
|
||||
|
||||
await new Promise((resolve, reject) => {
|
||||
download(photo['path'], path.join(__dirname, `../src/static/photos/${filename}`), function(){
|
||||
resolve()
|
||||
}, function() {
|
||||
reject()
|
||||
});
|
||||
})
|
||||
|
||||
photos[key]['file'] = filename
|
||||
photos[key]['horizontal'] = photo['width'] > photo['height']
|
||||
}
|
||||
|
||||
fs.writeFileSync(filePath, YAML.stringify(photos))
|
||||
}
|
||||
|
||||
downloadPhotos();
|
||||
|
||||
17
core/.build/postcss.config.mjs
Normal file
@@ -0,0 +1,17 @@
|
||||
const mapConfig = {
|
||||
inline: false,
|
||||
annotation: true,
|
||||
sourcesContent: true
|
||||
}
|
||||
|
||||
export default context => {
|
||||
return {
|
||||
map: mapConfig,
|
||||
plugins: {
|
||||
autoprefixer: {
|
||||
cascade: false
|
||||
},
|
||||
rtlcss: context.env === 'RTL'
|
||||
}
|
||||
}
|
||||
}
|
||||
59
core/.build/rollup.config.mjs
Normal file
@@ -0,0 +1,59 @@
|
||||
import path from 'node:path'
|
||||
import process from 'node:process'
|
||||
import { fileURLToPath } from 'node:url'
|
||||
import { babel } from '@rollup/plugin-babel'
|
||||
import { nodeResolve } from '@rollup/plugin-node-resolve'
|
||||
import replace from '@rollup/plugin-replace'
|
||||
import banner from '../../.build/banner.mjs'
|
||||
|
||||
const __dirname = path.dirname(fileURLToPath(import.meta.url))
|
||||
|
||||
const BUNDLE = process.env.BUNDLE === 'true'
|
||||
const ESM = process.env.ESM === 'true'
|
||||
|
||||
let destinationFile = `tabler${ESM ? '.esm' : ''}`
|
||||
const external = ['@popperjs/core', 'bootstrap']
|
||||
const plugins = [
|
||||
babel({
|
||||
exclude: 'node_modules/**',
|
||||
babelHelpers: 'bundled'
|
||||
})
|
||||
]
|
||||
const globals = {
|
||||
'@popperjs/core': 'Popper',
|
||||
'bootstrap': 'Bootstrap',
|
||||
}
|
||||
|
||||
if (BUNDLE) {
|
||||
destinationFile += '.bundle'
|
||||
external.pop()
|
||||
external.pop()
|
||||
delete globals['@popperjs/core']
|
||||
delete globals['bootstrap']
|
||||
plugins.push(
|
||||
replace({
|
||||
'process.env.NODE_ENV': '"production"',
|
||||
preventAssignment: true
|
||||
}),
|
||||
nodeResolve()
|
||||
)
|
||||
}
|
||||
|
||||
const rollupConfig = {
|
||||
input: path.resolve(__dirname, `../js/index.${ESM ? 'esm' : 'umd'}.js`),
|
||||
output: {
|
||||
banner: banner(),
|
||||
file: path.resolve(__dirname, `../dist/js/${destinationFile}.js`),
|
||||
format: ESM ? 'esm' : 'umd',
|
||||
globals,
|
||||
generatedCode: 'es2015'
|
||||
},
|
||||
external,
|
||||
plugins
|
||||
}
|
||||
|
||||
if (!ESM) {
|
||||
rollupConfig.output.name = 'tabler'
|
||||
}
|
||||
|
||||
export default rollupConfig
|
||||
1
core/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
dist
|
||||
1
core/img/flags/ad.svg
Normal file
|
After Width: | Height: | Size: 6.2 KiB |
1
core/img/flags/ae.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="15" fill="none"><mask id="a" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" d="M0 0h20v15H0z"/></mask><g mask="url(#a)"><path fill="#F7FCFF" fill-rule="evenodd" d="M0 0h20v15H0V0z" clip-rule="evenodd"/><path fill="#5EAA22" fill-rule="evenodd" d="M0 0v5h20V0H0z" clip-rule="evenodd"/><path fill="#272727" fill-rule="evenodd" d="M0 10v5h20v-5H0z" clip-rule="evenodd"/><path fill="#E31D1C" d="M0 0h6v15H0z"/></g></svg>
|
||||
|
After Width: | Height: | Size: 507 B |
1
core/img/flags/af.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="15" fill="none"><mask id="a" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" d="M0 0h20v15H0z"/></mask><g mask="url(#a)"><path fill="#67BD38" fill-rule="evenodd" d="M14 0h6v15h-6V0z" clip-rule="evenodd"/><path fill="#D51700" fill-rule="evenodd" d="M6 0h8v15H6V0z" clip-rule="evenodd"/><path fill="#272727" fill-rule="evenodd" d="M0 0h6v15H0V0z" clip-rule="evenodd"/><path fill="#F7FCFF" fill-rule="evenodd" d="m7.705 4.986.216.135c-.36.607-.602 1.163-.728 1.668a.59.59 0 0 1 .12.15c.098.17.18.334.247.494l-.287.122a3.813 3.813 0 0 0-.16-.333c-.029.246-.027.48.006.698a.586.586 0 0 1 .148.036c.184.066.352.14.506.219l-.142.278a3.968 3.968 0 0 0-.431-.19l.003.01c.134.404.338.775.614 1.115a.595.595 0 0 1 .13-.013c.196 0 .38.011.55.033l-.037.31a3.82 3.82 0 0 0-.37-.028c.247.248.538.476.873.686l-.132.222a5.033 5.033 0 0 1-1.058-.869 4.134 4.134 0 0 0-.143.06l-.022.01c.254.266.554.51.9.734l-.134.22a5.095 5.095 0 0 1-1.029-.86.678.678 0 0 1-.384-.005l.083-.3c.02.006.04.01.06.013a3.883 3.883 0 0 1-.597-1.151 2.486 2.486 0 0 1-.061-.224.666.666 0 0 1-.282-.125l.182-.254a.424.424 0 0 0 .047.03 3.56 3.56 0 0 1 .134-1.24.667.667 0 0 1-.151-.295l.265-.069c.143-.405.346-.834.607-1.286l.218.133a7.228 7.228 0 0 0-.634 1.382c.039.035.086.073.144.116.138-.504.382-1.048.729-1.632zm-.806 1.963a4.984 4.984 0 0 0-.16-.12 3.138 3.138 0 0 0-.086 1.102c.047 0 .1-.002.16-.006l.05-.003A3.035 3.035 0 0 1 6.9 6.95zm-.072 1.287.098-.005c.012.042.024.085.038.126.134.405.334.78.6 1.122l-.052.023c-.044.02-.084.036-.12.05a3.637 3.637 0 0 1-.68-1.31l.116-.006zm5.26-3.25-.216.135c.36.607.602 1.163.727 1.668a.59.59 0 0 0-.12.15 4.33 4.33 0 0 0-.246.494l.287.122a3.79 3.79 0 0 1 .16-.333c.029.246.027.48-.006.698a.586.586 0 0 0-.148.036 4.18 4.18 0 0 0-.506.219l.141.278c.131-.067.275-.13.432-.19l-.003.01a3.494 3.494 0 0 1-.614 1.115.595.595 0 0 0-.13-.013c-.196 0-.38.011-.55.033l.037.31a3.82 3.82 0 0 1 .37-.028 4.92 4.92 0 0 1-.873.686l.132.222c.414-.26.767-.55 1.058-.869l.143.06.022.01a4.97 4.97 0 0 1-.9.734l.134.22c.4-.258.744-.544 1.028-.86.136.035.25.035.385-.005l-.084-.3a.42.42 0 0 1-.06.013c.265-.352.464-.736.598-1.151a2.51 2.51 0 0 0 .06-.224.667.667 0 0 0 .282-.125l-.18-.254a.423.423 0 0 1-.049.03 3.56 3.56 0 0 0-.133-1.24.668.668 0 0 0 .15-.295l-.265-.069a7.762 7.762 0 0 0-.606-1.286l-.218.133c.285.493.496.954.634 1.382a1.893 1.893 0 0 1-.144.116c-.139-.504-.382-1.048-.73-1.632zm.806 1.963a4.821 4.821 0 0 1 .16-.12c.096.398.124.765.085 1.102-.046 0-.099-.002-.16-.006l-.05-.003c.042-.304.03-.628-.035-.973zm.072 1.287a6.322 6.322 0 0 0-.098-.005 3.745 3.745 0 0 1-.637 1.249l.05.022c.045.02.085.036.122.05a3.638 3.638 0 0 0 .679-1.31 3.261 3.261 0 0 1-.116-.006z" clip-rule="evenodd"/><path fill="#F7FCFF" fill-rule="evenodd" d="m8.808 10.165-.698.69s.602.369 1.736.369 1.794-.369 1.794-.369l-.53-.69s-.723.28-1.235.28c-.511 0-1.067-.28-1.067-.28z" clip-rule="evenodd"/><path stroke="#C00001" stroke-width=".5" d="M8.823 10.606s.59.139 1.043.139c.453 0 1.044-.14 1.044-.14"/><path fill="#F7FCFF" fill-rule="evenodd" d="M10.457 5.911c0 .274-.25.495-.557.495-.308 0-.557-.221-.557-.495 0-.273.25-.494.557-.494.308 0 .557.221.557.494zm-.557.495h-.6l-.165.127h-.033v-.99h-.304v.99h-.266v.169h.266v1.786c-.036.285-.12.446-.236.502l-.62.298h3.735l-.268-.268c-.236-.236-.349-.417-.349-.522V6.702h.107v-.17h-.107v-.99h-.304v.99h-.098l-.196-.126H9.9zm-.798.296h1.654v1.796c0 .145.069.302.202.478H8.977a1.44 1.44 0 0 0 .125-.469V6.702zm.849.798h-.66v1.302h1.319L9.95 7.5zm.68-3.652.001.001-.001-.001zm.963.338v.006-.006zm.187.023.001-.003v.003zm-.757.384h.004-.004z" clip-rule="evenodd"/><path fill="#F7FCFF" fill-rule="evenodd" d="m8.02 6.668-.124.09.128.188c-.11.04-.286.14-.286.374 0 .34-.12.62-.12.62l.357.23s.038-.398.135-.624a.365.365 0 0 1 .189-.198l.555.816.125-.09-.958-1.406zm3.8 0 .124.09-.128.188c.11.04.286.14.286.374 0 .34.12.62.12.62l-.357.23s-.038-.398-.135-.624a.365.365 0 0 0-.189-.198l-.555.816-.125-.09.958-1.406z" clip-rule="evenodd"/></g></svg>
|
||||
|
After Width: | Height: | Size: 4.0 KiB |
1
core/img/flags/afrun.svg
Normal file
|
After Width: | Height: | Size: 12 KiB |
1
core/img/flags/ag.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="15" fill="none"><mask id="a" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" d="M0 0h20v15H0z"/></mask><g mask="url(#a)"><path fill="#1B1B1B" fill-rule="evenodd" d="M0 0h20v15H0V0z" clip-rule="evenodd"/><path fill="#F9D313" fill-rule="evenodd" d="m10 8.75-1.39 2.375.034-2.623-2.54 1.657 1.453-2.35-3.188.61 2.584-1.613L3.75 6.25l3.203-.556L4.37 4.08l3.188.61-1.454-2.35 2.541 1.657-.035-2.623L10 3.75l1.39-2.375-.034 2.623 2.54-1.657-1.453 2.35 3.188-.61-2.584 1.613 3.203.556-3.203.556L15.63 8.42l-3.188-.61 1.454 2.35-2.541-1.657.035 2.623L10 8.75z" clip-rule="evenodd"/><path fill="#F1F9FF" d="M3.75 8.75h12.5V15H3.75z"/><path fill="#4A80E8" d="M1.25 6.25h17.5v2.5H1.25z"/><path fill="#E31D1C" fill-rule="evenodd" d="M0 3.75 10 15 20 3.75V15H0V3.75z" clip-rule="evenodd"/></g></svg>
|
||||
|
After Width: | Height: | Size: 877 B |
1
core/img/flags/ai.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="15" fill="none"><mask id="a" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" d="M0 0h20v15H0z"/></mask><g mask="url(#a)"><path fill="#2E42A5" fill-rule="evenodd" d="M0 0v15h20V0H0z" clip-rule="evenodd"/><mask id="b" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" fill-rule="evenodd" d="M0 0v15h20V0H0z" clip-rule="evenodd"/></mask><g mask="url(#b)"><path fill="#fff" stroke="#E6E617" stroke-width=".5" d="M16.219 13.477c-.628 0-1.052-.148-1.35-.394-.298-.249-.5-.624-.632-1.14-.132-.52-.186-1.158-.207-1.907a55.84 55.84 0 0 1-.009-1.711l.002-.555h4.453c.079 1.475.1 2.891-.184 3.953-.149.555-.375.99-.7 1.286-.32.291-.758.468-1.373.468z"/><path fill="#82E5FF" fill-rule="evenodd" d="M14.246 12.696c.373.834 1.027 1.25 1.96 1.25.928 0 1.583-.41 1.967-1.233l-3.927-.017z" clip-rule="evenodd"/><path fill="#E18600" fill-rule="evenodd" d="M14.653 9.75c0 .83.675 1.5 1.506 1.5s1.507-.67 1.507-1.5-.676-1.5-1.507-1.5c-.83 0-1.506.67-1.506 1.5zm2.388 0a.878.878 0 0 1-.882.875.878.878 0 0 1-.88-.875c0-.483.394-.875.88-.875.487 0 .882.392.882.875z" clip-rule="evenodd"/><path fill="#E18600" fill-rule="evenodd" d="M15.905 8.041s-.548.249-.429.716c.119.467.253.534.253.534s.194-1.012.976-1.012l-.8-.238zm-.997 2.521s.457.392.83.086c.373-.305.377-.455.377-.455s-1 .252-1.33-.456l.123.825zm2.742-.052s.017-.602-.455-.7c-.472-.098-.591-.007-.591-.007s.824.618.482 1.32l.564-.614z" clip-rule="evenodd"/><path fill="#2E42A5" d="M0 0h11v9H0z"/><mask id="c" width="11" height="9" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" d="M0 0h11v9H0z"/></mask><g mask="url(#c)"><path fill="#F7FCFF" d="M-1.253 8.125 1.223 9.21l10.083-8.03 1.306-1.614-2.647-.363-4.113 3.46-3.31 2.332-3.795 3.129z"/><path fill="#F50100" d="m-.914 8.886 1.261.63L12.143-.583h-1.77L-.915 8.886z"/><path fill="#F7FCFF" d="M12.503 8.125 10.306 9.52-.056 1.18-1.362-.434l2.647-.363 4.113 3.46 3.31 2.332 3.795 3.129z"/><path fill="#F50100" d="m12.418 8.67-1.261.63-5.023-4.323-1.489-.483-6.133-4.921H.283l6.13 4.804 1.628.58 4.377 3.714z"/><mask id="d" width="13" height="11" x="-1" y="-1" fill="#000" maskUnits="userSpaceOnUse"><path fill="#fff" d="M-1-1h13v11H-1z"/><path fill-rule="evenodd" d="M6 0H5v4H0v1h5v4h1V5h5V4H6V0z" clip-rule="evenodd"/></mask><path fill="#F50100" fill-rule="evenodd" d="M6 0H5v4H0v1h5v4h1V5h5V4H6V0z" clip-rule="evenodd"/><path fill="#F7FCFF" d="M5 0v-.938h-.938V0H5zm1 0h.938v-.938H6V0zM5 4v.938h.938V4H5zM0 4v-.938h-.938V4H0zm0 1h-.938v.938H0V5zm5 0h.938v-.938H5V5zm0 4h-.938v.938H5V9zm1 0v.938h.938V9H6zm0-4v-.938h-.938V5H6zm5 0v.938h.938V5H11zm0-1h.938v-.938H11V4zM6 4h-.938v.938H6V4zM5 .937h1V-.938H5V.938zM5.938 4V0H4.063v4h1.875zM0 4.938h5V3.063H0v1.874zM.938 5V4H-.938v1H.938zM5 4.062H0v1.875h5V4.063zM5.938 9V5H4.063v4h1.875zM6 8.062H5v1.876h1V8.062zM5.062 5v4h1.875V5H5.063zM11 4.062H6v1.875h5V4.063zM10.062 4v1h1.876V4h-1.876zM6 4.938h5V3.063H6v1.874zM5.062 0v4h1.875V0H5.063z" mask="url(#d)"/></g></g></g></svg>
|
||||
|
After Width: | Height: | Size: 3.0 KiB |
1
core/img/flags/al.svg
Normal file
|
After Width: | Height: | Size: 6.3 KiB |
1
core/img/flags/am.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="15" fill="none"><mask id="a" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" d="M0 0h20v15H0z"/></mask><g mask="url(#a)"><path fill="#2E42A5" fill-rule="evenodd" d="M0 0v15h20V0H0z" clip-rule="evenodd"/><mask id="b" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" fill-rule="evenodd" d="M0 0v15h20V0H0z" clip-rule="evenodd"/></mask><g fill-rule="evenodd" clip-rule="evenodd" mask="url(#b)"><path fill="#E31D1C" d="M0 0v5h20V0H0z"/><path fill="#FECA00" d="M0 10v5h20v-5H0z"/></g></g></svg>
|
||||
|
After Width: | Height: | Size: 611 B |
1
core/img/flags/ao.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="15" fill="none"><mask id="a" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" d="M0 0h20v15H0z"/></mask><g mask="url(#a)"><path fill="#1D1D1D" fill-rule="evenodd" d="M0 0v15h20V0H0z" clip-rule="evenodd"/><mask id="b" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" fill-rule="evenodd" d="M0 0v15h20V0H0z" clip-rule="evenodd"/></mask><g fill-rule="evenodd" clip-rule="evenodd" mask="url(#b)"><path fill="#F50100" d="M0 0v7.5h20V0H0z"/><g filter="url(#c)"><path fill="#FCFF01" d="M9.719 8.37c.484-.599.636-1.373.636-1.856 0-2.573-3.211-3.997-3.211-3.997 2.208 0 4.666 1.79 4.666 3.997 0 .935-.32 1.802-.858 2.492.984.49 1.817.874 1.817.874.309.202.395.742.192 1.052a.67.67 0 0 1-.926.192s-.79-.467-1.271-.783a20.846 20.846 0 0 0-.748-.462 3.932 3.932 0 0 1-2.203.675s-2.936-.36-2.852-1.865c0 0 .71.543 2.802.543.332 0 .625-.046.881-.128-.905-.494-1.673-.886-1.673-.886-.31-.202-1.113-1.23-.91-1.538.202-.31 1.427.04 1.736.242 0 0 .43.59 1.036.951.268.16.57.328.886.497zM8.238 6.127l-.631.42.201-.72-.463-.46.627-.025.266-.712.265.712h.626l-.462.485.232.678-.661-.378z"/><path fill="#FFEA42" d="M9.719 8.37c.484-.599.636-1.373.636-1.856 0-2.573-3.211-3.997-3.211-3.997 2.208 0 4.666 1.79 4.666 3.997 0 .935-.32 1.802-.858 2.492.984.49 1.817.874 1.817.874.309.202.395.742.192 1.052a.67.67 0 0 1-.926.192s-.79-.467-1.271-.783a20.846 20.846 0 0 0-.748-.462 3.932 3.932 0 0 1-2.203.675s-2.936-.36-2.852-1.865c0 0 .71.543 2.802.543.332 0 .625-.046.881-.128-.905-.494-1.673-.886-1.673-.886-.31-.202-1.113-1.23-.91-1.538.202-.31 1.427.04 1.736.242 0 0 .43.59 1.036.951.268.16.57.328.886.497zM8.238 6.127l-.631.42.201-.72-.463-.46.627-.025.266-.712.265.712h.626l-.462.485.232.678-.661-.378z"/></g></g></g><defs><filter id="c" width="8.111" height="8.717" x="4.959" y="2.517" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/><feOffset/><feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0"/><feBlend in2="BackgroundImageFix" result="effect1_dropShadow"/><feBlend in="SourceGraphic" in2="effect1_dropShadow" result="shape"/></filter></defs></svg>
|
||||
|
After Width: | Height: | Size: 2.3 KiB |
1
core/img/flags/aq.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="15" fill="none"><mask id="a" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" d="M0 0h20v15H0z"/></mask><g mask="url(#a)"><path fill="#5196ED" fill-rule="evenodd" d="M0 0v15h20V0H0z" clip-rule="evenodd"/><mask id="c" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" fill-rule="evenodd" d="M0 0v15h20V0H0z" clip-rule="evenodd"/></mask><g fill-rule="evenodd" clip-rule="evenodd" filter="url(#b)" mask="url(#c)"><path fill="#fff" d="M5.448 4.934s1.29.707 1.47.903c.18.196.467.915.915.508.448-.406.897-.09.897-.738 0-.647.67-2.15 1.64-1.773.972.376 1.77.14 1.995.291.224.151.762.899 1.18.899.419 0 .628.436.658 1.069.03.633-.135.693.254.768.388.076.538.362.344.738-.195.377-.18.211-.15.603.03.391-.388 2.7-1.674 2.927-1.285.225-2.504.105-2.175-.332.33-.437.784-.94.112-1.045-.673-.105-1.097-.195-1.77-.014-.672.18-1.374.467-1.793-.075-.418-.543-.328-.934-.672-1.19-.344-.256-.763-.211-.419-.708.344-.497.628-.311.344-.703-.284-.392-1.356-.562-1.356-.954 0-.391-.681-1.25.2-1.174z"/><path fill="#F5F8FB" d="M5.448 4.934s1.29.707 1.47.903c.18.196.467.915.915.508.448-.406.897-.09.897-.738 0-.647.67-2.15 1.64-1.773.972.376 1.77.14 1.995.291.224.151.762.899 1.18.899.419 0 .628.436.658 1.069.03.633-.135.693.254.768.388.076.538.362.344.738-.195.377-.18.211-.15.603.03.391-.388 2.7-1.674 2.927-1.285.225-2.504.105-2.175-.332.33-.437.784-.94.112-1.045-.673-.105-1.097-.195-1.77-.014-.672.18-1.374.467-1.793-.075-.418-.543-.328-.934-.672-1.19-.344-.256-.763-.211-.419-.708.344-.497.628-.311.344-.703-.284-.392-1.356-.562-1.356-.954 0-.391-.681-1.25.2-1.174z"/></g></g><defs><filter id="b" width="11.889" height="9.466" x="3.997" y="2.774" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/><feOffset/><feGaussianBlur stdDeviation=".5"/><feColorMatrix values="0 0 0 0 0.0941176 0 0 0 0 0.32549 0 0 0 0 0.639216 0 0 0 0.43 0"/><feBlend in2="BackgroundImageFix" result="effect1_dropShadow"/><feBlend in="SourceGraphic" in2="effect1_dropShadow" result="shape"/></filter></defs></svg>
|
||||
|
After Width: | Height: | Size: 2.2 KiB |
1
core/img/flags/ar.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="15" fill="none"><mask id="a" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" d="M0 0h20v15H0z"/></mask><g mask="url(#a)"><path fill="#F7FCFF" fill-rule="evenodd" d="M0 0v15h20V0H0z" clip-rule="evenodd"/><mask id="b" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" fill-rule="evenodd" d="M0 0v15h20V0H0z" clip-rule="evenodd"/></mask><g fill-rule="evenodd" clip-rule="evenodd" mask="url(#b)"><path fill="#58A5FF" d="M0 0v5h20V0H0zm0 10v5h20v-5H0z"/><path fill="#FFD018" stroke="#F19900" stroke-opacity=".98" stroke-width=".5" d="M10.345 9.054s-.638 1.325-1.2 1.596c.243-.607.332-1.846.332-1.846s-1.458.577-1.97.472c.616-.43 1.47-1.226 1.47-1.226s-1.887-.617-1.84-.879c.851.153 2.022-.014 2.022-.014S7.836 5.57 7.97 5.452c.202.196 1.788 1.025 1.788 1.025s.115-1.412.456-1.888c.041.336.52 1.857.52 1.857s.963-.963 1.498-.963c-.235.29-.791 1.57-.791 1.57s1.385-.022 1.912.237c-.638.09-1.756.652-1.756.652s1.456 1.104 1.324 1.334c-.782-.382-1.686-.51-1.686-.51s.25 1.537.048 1.884c-.197-.511-.938-1.596-.938-1.596z"/><path fill="#FFD018" stroke="#F19900" stroke-opacity=".98" stroke-width=".5" d="M10.262 8.339a.625.625 0 1 0 0-1.25.625.625 0 0 0 0 1.25z"/></g></g></svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
1
core/img/flags/as.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="15" fill="none"><mask id="a" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" d="M0 0h20v15H0z"/></mask><g mask="url(#a)"><path fill="#F7FCFF" fill-rule="evenodd" d="M0 0h20v15H0V0z" clip-rule="evenodd"/><path fill="#3547A0" stroke="#E31D1C" stroke-width="1.25" d="M0-.625h-.625v7.692L-1.78 7.5l1.155.433v7.692H20l.22-1.21L1.78 7.5 20.22.585 20-.625H0z"/><path fill="#C44800" fill-rule="evenodd" d="M17.556 3.767s-5.04 1.309-5.04 1.51c0 .201-.453.84-.36 1.006.093.166.334.387.532.277.198-.11.668-.554.51-.277-.157.277.85.598.425 1.21 0 0 .51-.294.263 1.377l1.213.346s1.356-.355.737-1.372h.718s-.297-1.318.143-1.561c.44-.244-.449-.429-.449-.429 1.878-1.069 1.308-2.087 1.308-2.087z" clip-rule="evenodd"/><path fill="#FFC221" fill-rule="evenodd" d="m16.722 9.357-3.042-.515-.399-.533-1.727.348 1.516.859.51-.275 3.142.502v-.386z" clip-rule="evenodd"/><path fill="#FFC221" fill-rule="evenodd" d="M17.189 9.824v-.301l-3.41-.208s-.207-.19-.714-.19-.565.398-.565.398.29.58.855.58c.564 0 1.441.135 1.679.414.237.279 1.222-.143 1.222-.143s-.421-.724-.96-.497c-.54.226-1.518-.11-1.518-.232 0-.122 3.411.18 3.411.18zm-5.761-2.44s-.33.709-.21.977c.528.551 1.488-.328 1.488-.328l-1.278-.65z" clip-rule="evenodd"/><path fill="#979797" fill-rule="evenodd" d="M16.642 7.722c.351-.18.53-.515.53-.95 0-.336-.08-.602-.256-.771v-.229l-.31-.003c-2.774-.025-4.336.25-4.789.936-.458.695-.418 1.288.205 1.576l.276-.007c1.347-.702 2.717-.877 4.126-.527l.218-.025zm-4.564-.845c.366-.554 1.874-.82 4.525-.795v.079c.171.082.257.285.257.61s-.12.55-.36.673c-1.484-.369-2.933-.184-4.347.553-.415-.192-.44-.565-.075-1.12z" clip-rule="evenodd"/><path fill="#F7FCFF" d="M16.603 6.082c-2.651-.024-4.16.24-4.525.795-.365.555-.34.928.075 1.12 1.414-.737 2.863-.922 4.346-.553.24-.123.36-.348.36-.673 0-.325-.085-.528-.256-.61v-.08z"/></g></svg>
|
||||
|
After Width: | Height: | Size: 1.9 KiB |
1
core/img/flags/at.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="15" fill="none"><mask id="a" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" d="M0 0h20v15H0z"/></mask><g mask="url(#a)"><path fill="#F7FCFF" fill-rule="evenodd" d="M0 0v15h20V0H0z" clip-rule="evenodd"/><mask id="b" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" fill-rule="evenodd" d="M0 0v15h20V0H0z" clip-rule="evenodd"/></mask><g fill="#C51918" fill-rule="evenodd" clip-rule="evenodd" mask="url(#b)"><path d="M0 0v5h20V0H0zm0 10v5h20v-5H0z"/></g></g></svg>
|
||||
|
After Width: | Height: | Size: 584 B |
1
core/img/flags/au.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="15" fill="none"><mask id="a" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" d="M0 0h20v15H0z"/></mask><g mask="url(#a)"><path fill="#2E42A5" fill-rule="evenodd" d="M0 0h20v15H0V0z" clip-rule="evenodd"/><path fill="#2E42A5" d="M0 0h11v9H0z"/><mask id="b" width="11" height="9" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" d="M0 0h11v9H0z"/></mask><g mask="url(#b)"><path fill="#F7FCFF" d="M-1.253 8.125 1.223 9.21l10.083-8.03 1.306-1.614-2.647-.363-4.113 3.46-3.31 2.332-3.795 3.129z"/><path fill="#F50100" d="m-.914 8.886 1.261.63L12.143-.583h-1.77L-.915 8.886z"/><path fill="#F7FCFF" d="M12.503 8.125 10.306 9.52-.056 1.18-1.362-.434l2.647-.363 4.113 3.46 3.31 2.332 3.795 3.129z"/><path fill="#F50100" d="m12.418 8.67-1.261.63-5.023-4.323-1.489-.483-6.133-4.921H.283l6.13 4.804 1.628.58 4.377 3.714z"/><mask id="c" width="13" height="11" x="-1" y="-1" fill="#000" maskUnits="userSpaceOnUse"><path fill="#fff" d="M-1-1h13v11H-1z"/><path fill-rule="evenodd" d="M6 0H5v4H0v1h5v4h1V5h5V4H6V0z" clip-rule="evenodd"/></mask><path fill="#F50100" fill-rule="evenodd" d="M6 0H5v4H0v1h5v4h1V5h5V4H6V0z" clip-rule="evenodd"/><path fill="#F7FCFF" d="M5 0v-.938h-.938V0H5zm1 0h.938v-.938H6V0zM5 4v.938h.938V4H5zM0 4v-.938h-.938V4H0zm0 1h-.938v.938H0V5zm5 0h.938v-.938H5V5zm0 4h-.938v.938H5V9zm1 0v.938h.938V9H6zm0-4v-.938h-.938V5H6zm5 0v.938h.938V5H11zm0-1h.938v-.938H11V4zM6 4h-.938v.938H6V4zM5 .937h1V-.938H5V.938zM5.938 4V0H4.063v4h1.875zM0 4.938h5V3.063H0v1.874zM.938 5V4H-.938v1H.938zM5 4.062H0v1.875h5V4.063zM5.938 9V5H4.063v4h1.875zM6 8.062H5v1.876h1V8.062zM5.062 5v4h1.875V5H5.063zM11 4.062H6v1.875h5V4.063zM10.062 4v1h1.876V4h-1.876zM6 4.938h5V3.063H6v1.874zM5.062 0v4h1.875V0H5.063z" mask="url(#c)"/></g></g><path fill="#F7FCFF" d="m5.92 12.278-.82.758.081-1.113-1.104-.17.922-.63-.557-.968 1.068.327.41-1.039.41 1.039 1.068-.327-.557.968.922.63-1.104.17.081 1.113-.82-.758zm7.32-3.981-.547.505.054-.743-.735-.112.614-.42-.371-.646.712.218.273-.692.273.692.712-.218-.37.645.613.421-.735.112.054.743-.547-.505zm1.28-5.334-.547.506.054-.743-.735-.112.614-.42-.371-.646.712.218.273-.693.273.693.712-.218-.37.645.613.42-.735.113.054.743-.547-.506zm3.2 2.667-.547.505.054-.742-.735-.113.614-.42-.371-.646.712.218.273-.692.273.692.712-.218-.37.646.613.42-.735.113.054.742-.547-.505zm-2.56 7.667-.547.505.054-.742-.735-.113.614-.42-.371-.646.712.218.273-.692.273.692.712-.218-.37.646.613.42-.735.113.054.742-.547-.505zM17.4 9.14l-.555.291.106-.618-.45-.438.621-.09.278-.563.278.562.62.09-.449.439.107.618-.556-.292z"/></svg>
|
||||
|
After Width: | Height: | Size: 2.6 KiB |
1
core/img/flags/aw.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="15" fill="none"><mask id="a" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" d="M0 0h20v15H0z"/></mask><g mask="url(#a)"><path fill="#5BA3DA" fill-rule="evenodd" d="M0 0v15h20V0H0z" clip-rule="evenodd"/><mask id="b" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" fill-rule="evenodd" d="M0 0v15h20V0H0z" clip-rule="evenodd"/></mask><g fill-rule="evenodd" clip-rule="evenodd" mask="url(#b)"><g filter="url(#c)"><path fill="#EF2929" d="M3.546 4.975.808 4.397l2.772-.549.8-2.868.633 2.845 2.474.575-2.445.575-.706 2.34-.791-2.34z"/><path fill="red" d="M3.546 4.975.808 4.397l2.772-.549.8-2.868.633 2.845 2.474.575-2.445.575-.706 2.34-.791-2.34z"/></g><path fill="#FAD615" d="M20 9H0v1h20V9zm0 2H0v1h20v-1z"/></g></g><defs><filter id="c" width="8.681" height="8.335" x="-.192" y="-.02" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/><feOffset/><feGaussianBlur stdDeviation=".5"/><feColorMatrix values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.2 0"/><feBlend in2="BackgroundImageFix" result="effect1_dropShadow"/><feBlend in="SourceGraphic" in2="effect1_dropShadow" result="shape"/></filter></defs></svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
1
core/img/flags/ax.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="15" fill="none"><mask id="a" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" d="M0 0h20v15H0z"/></mask><g mask="url(#a)"><path fill="#0061C1" fill-rule="evenodd" d="M0 0v15h20V0H0z" clip-rule="evenodd"/><mask id="b" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" fill-rule="evenodd" d="M0 0v15h20V0H0z" clip-rule="evenodd"/></mask><g mask="url(#b)"><path fill="#D21034" stroke="#FFCE00" d="M6-.5h-.5v6h-6v4h6v6h4v-6h11v-4h-11v-6H6z"/></g></g></svg>
|
||||
|
After Width: | Height: | Size: 572 B |
1
core/img/flags/az.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="15" fill="none"><mask id="a" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" d="M0 0h20v15H0z"/></mask><g mask="url(#a)"><path fill="#AF0100" fill-rule="evenodd" d="M0 0v15h20V0H0z" clip-rule="evenodd"/><mask id="b" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" fill-rule="evenodd" d="M0 0v15h20V0H0z" clip-rule="evenodd"/></mask><g fill-rule="evenodd" clip-rule="evenodd" mask="url(#b)"><path fill="#3CA5D9" d="M0 0v5h20V0H0z"/><path fill="#73BE4A" d="M0 10v5h20v-5H0z"/><path fill="#F7FCFF" d="M10.726 9.317c-.842-.194-1.5-.856-1.492-1.828.008-.909.595-1.678 1.52-1.887.927-.209 1.741.232 1.741.232-.255-.567-1.143-.965-1.872-.963-1.357.003-2.804 1.039-2.818 2.62-.015 1.64 1.546 2.571 2.919 2.568 1.1-.003 1.624-.712 1.732-1.013 0 0-.888.465-1.73.27zm.535-.93.735-.51.735.51-.26-.856.714-.54-.895-.019-.294-.845-.294.845-.895.018.713.541-.259.857z"/></g></g></svg>
|
||||
|
After Width: | Height: | Size: 992 B |
1
core/img/flags/ba.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="21" height="15" fill="none"><mask id="a" width="22" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" d="M0 0h21.25v15H0z"/></mask><g fill-rule="evenodd" clip-rule="evenodd" mask="url(#a)"><path fill="#2E42A5" d="M0 0h20.25v15H0V0z"/><path fill="#FECA00" d="M6.25 0H19v15L6.25 0z"/><path fill="#F7FCFF" d="m4.443 1.746-.735.386.14-.818-.594-.58.821-.119.368-.744.367.744.821.12-.594.58.14.817-.734-.386zm2.179 2.675-.735.386.14-.818-.594-.58.821-.118.368-.745.367.745.822.119-.595.58.14.817-.734-.386zm2.043 2.603-.735.386.14-.818-.594-.58.821-.119.368-.744.367.744.821.12-.594.58.14.817-.734-.386zm2.001 2.494-.735.387.14-.819-.594-.579.822-.12.367-.744.367.745.822.119-.595.58.14.818-.734-.387zm2.156 2.567-.735.387.14-.818-.594-.58.821-.12.367-.744.368.745.821.12-.594.579.14.818-.734-.387zm2.382 2.485-.735.386.14-.819-.594-.579.822-.12.367-.744.368.745.821.12-.594.579.14.818-.735-.387z"/></g></svg>
|
||||
|
After Width: | Height: | Size: 970 B |
1
core/img/flags/bb.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="15" fill="none"><mask id="a" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" d="M0 0h20v15H0z"/></mask><g fill-rule="evenodd" clip-rule="evenodd" mask="url(#a)"><path fill="#2E42A5" d="M14 0h6v15h-6V0z"/><path fill="#FECA00" d="M6 0h8v15H6V0z"/><path fill="#2E42A5" d="M0 0h6v15H0V0z"/><path fill="#000" d="M11.521 9.546c.396-.818.852-2.311.852-2.311l.346-1.028-1.372.497.325.188s-.566 1.131-.85 1.684c-.286.552-.314.187-.314.187l.049-3.855.315-.086-.785-1.507-1.001 1.528.44.012S9.49 8.923 9.43 8.763c-.034-.09-.125.19-.17.081-.278-.681-.658-2.002-.658-2.002l.222-.208-1.492-.307.445.918s.393 1.635.825 2.434c.097.252.566.36.566.36s.23-.233.286 0c.057.233 0 1.172 0 1.172h1.055s-.074-.886 0-1.172c.074-.286.304 0 .304 0s.612-.24.71-.493z"/></g></svg>
|
||||
|
After Width: | Height: | Size: 842 B |
1
core/img/flags/bd.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="15" fill="none"><mask id="a" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" d="M0 0h20v15H0z"/></mask><g mask="url(#a)"><path fill="#38A17E" d="M0 0h20v15H0z"/><path fill="#F72E45" fill-rule="evenodd" d="M7.5 11.25a3.75 3.75 0 1 0 0-7.5 3.75 3.75 0 0 0 0 7.5z" clip-rule="evenodd"/></g></svg>
|
||||
|
After Width: | Height: | Size: 384 B |
1
core/img/flags/be.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="15" fill="none"><mask id="a" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" d="M0 0h20v15H0z"/></mask><g fill-rule="evenodd" clip-rule="evenodd" mask="url(#a)"><path fill="#FECA00" d="M6 0h8v15H6V0z"/><path fill="#E31D1C" d="M14 0h6v15h-6V0z"/><path fill="#1D1D1D" d="M0 0h6v15H0V0z"/></g></svg>
|
||||
|
After Width: | Height: | Size: 387 B |
1
core/img/flags/bf.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="15" fill="none"><mask id="a" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" d="M0 0h20v15H0z"/></mask><g mask="url(#a)"><path fill="#5EAA22" fill-rule="evenodd" d="M0 0v15h20V0H0z" clip-rule="evenodd"/><mask id="b" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" fill-rule="evenodd" d="M0 0v15h20V0H0z" clip-rule="evenodd"/></mask><g fill-rule="evenodd" clip-rule="evenodd" mask="url(#b)"><path fill="#C51918" d="M0 0v7.5h20V0H0z"/><path fill="#FECA00" d="m10.022 9.857-2.94 2.224.941-3.623-2.757-2.206h3.286l1.47-3.216 1.47 3.216h3.285l-2.786 2.209.97 3.62-2.939-2.224z"/></g></g></svg>
|
||||
|
After Width: | Height: | Size: 711 B |
1
core/img/flags/bg.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="15" fill="none"><mask id="a" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" d="M0 0h20v15H0z"/></mask><g mask="url(#a)"><path fill="#5EAA22" fill-rule="evenodd" d="M0 0v15h20V0H0z" clip-rule="evenodd"/><mask id="b" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" fill-rule="evenodd" d="M0 0v15h20V0H0z" clip-rule="evenodd"/></mask><g fill-rule="evenodd" clip-rule="evenodd" mask="url(#b)"><path fill="#F7FCFF" d="M0 0v5h20V0H0z"/><path fill="#E22C18" d="M0 10v5h20v-5H0z"/></g></g></svg>
|
||||
|
After Width: | Height: | Size: 611 B |
1
core/img/flags/bh.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="15" fill="none"><mask id="a" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" d="M0 0h20v15H0z"/></mask><g mask="url(#a)"><path fill="#E31D1C" d="M0 0h20v15H0z"/><path fill="#F7FCFF" fill-rule="evenodd" d="M0 0h4.25L7.5 1.25 4.25 2.5 7.5 3.75 4.25 5 7.5 6.25 4.25 7.5 7.5 8.75 4.25 10l3.25 1.25-3.25 1.25 3.25 1.25L4.25 15H0V0z" clip-rule="evenodd"/></g></svg>
|
||||
|
After Width: | Height: | Size: 450 B |
1
core/img/flags/bi.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="15" fill="none"><mask id="a" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" d="M0 0h20v15H0z"/></mask><g mask="url(#a)"><rect width="20" height="15" fill="#5EAA22" rx="1.25"/><mask id="b" width="30" height="19" x="-5" y="-2" fill="#000" maskUnits="userSpaceOnUse"><path fill="#fff" d="M-5-2h30v19H-5z"/><path fill-rule="evenodd" d="M10 7.5 20 0H0l10 7.5zm0 0L0 15h20L10 7.5z" clip-rule="evenodd"/></mask><path fill="#DD2C2B" fill-rule="evenodd" d="M10 7.5 20 0H0l10 7.5zm0 0L0 15h20L10 7.5z" clip-rule="evenodd"/><path fill="#fff" d="m20 0 .938 1.25 3.75-2.813H20V0zM0 0v-1.563h-4.688l3.75 2.813L0 0zm0 15-.938-1.25-3.75 2.813H0V15zm20 0v1.563h4.688l-3.75-2.813L20 15zm-.938-16.25-10 7.5 1.876 2.5 10-7.5-1.875-2.5zM0 1.563h20v-3.125H0v3.125zM10.938 6.25l-10-7.5-1.875 2.5 10 7.5 1.874-2.5zm-1.876 0-10 7.5 1.875 2.5 10-7.5-1.874-2.5zM0 16.563h20v-3.125H0v3.124zm20.938-2.813-10-7.5-1.876 2.5 10 7.5 1.875-2.5z" mask="url(#b)"/><path fill="#fff" fill-rule="evenodd" d="M10 11.25a3.75 3.75 0 1 0 0-7.5 3.75 3.75 0 0 0 0 7.5z" clip-rule="evenodd"/><path fill="#DD2C2B" fill-rule="evenodd" d="m10.104 6.518-.734.386.14-.818-.594-.58h.821l.367-.863.368.864h.821l-.594.58.14.817-.735-.386zm-1.753 2.5-.734.386.14-.818-.595-.58h.822l.367-.863.368.864h.821l-.594.58.14.817-.735-.386zm3.5 0-.734.386.14-.818-.595-.58h.822l.367-.863.368.864h.821l-.594.58.14.817-.735-.386z" clip-rule="evenodd"/></g></svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
1
core/img/flags/bj.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="15" fill="none"><mask id="a" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" d="M0 0h20v15H0z"/></mask><g mask="url(#a)"><path fill="#DD2C2B" fill-rule="evenodd" d="M0 0h20v15H0V0z" clip-rule="evenodd"/><path fill="#FECA00" fill-rule="evenodd" d="M0 0v7.5h20V0H0z" clip-rule="evenodd"/><path fill="#5EAA22" d="M0 0h9v15H0z"/></g></svg>
|
||||
|
After Width: | Height: | Size: 426 B |
1
core/img/flags/bl.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="15" fill="none"><mask id="a" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" d="M0 0h20v15H0z"/></mask><g fill-rule="evenodd" clip-rule="evenodd" mask="url(#a)"><path fill="#F50100" d="M14 0h6v15h-6V0z"/><path fill="#2E42A5" d="M0 0h8v15H0V0z"/><path fill="#F7FCFF" d="M6 0h8v15H6V0z"/></g></svg>
|
||||
|
After Width: | Height: | Size: 387 B |
1
core/img/flags/bm.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="15" fill="none"><mask id="a" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" d="M0 0h20v15H0z"/></mask><g mask="url(#a)"><path fill="#AF0100" fill-rule="evenodd" d="M0 0v15h20V0H0z" clip-rule="evenodd"/><mask id="b" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" fill-rule="evenodd" d="M0 0v15h20V0H0z" clip-rule="evenodd"/></mask><g mask="url(#b)"><path fill="#F7FCFF" fill-rule="evenodd" d="M13.755 7.5c0 3.68.348 4.957 2.445 4.957s2.67-1.854 2.494-4.957h-4.94z" clip-rule="evenodd"/><path fill="#AF0100" fill-rule="evenodd" d="M16.313 9.625c.586 0 1.062-.56 1.062-1.25s-.476-1.25-1.063-1.25c-.586 0-1.062.56-1.062 1.25s.476 1.25 1.063 1.25z" clip-rule="evenodd"/><path fill="#5EAA22" fill-rule="evenodd" d="M14.246 11.446c.373.834 1.027 1.25 1.96 1.25.928 0 1.583-.41 1.967-1.233l-3.927-.017z" clip-rule="evenodd"/><path fill="#82B2CB" d="m14.762 9.394-.349-.87c.64-.257 1.258-.387 1.85-.387.594 0 1.211.13 1.852.387l-.35.87c-.533-.214-1.033-.32-1.501-.32-.468 0-.968.106-1.502.32z"/><path fill="#FECA00" fill-rule="evenodd" d="M15.625 10a.625.625 0 1 0 0-1.25.625.625 0 0 0 0 1.25z" clip-rule="evenodd"/><path fill="#8A4E22" fill-rule="evenodd" d="M16 11a.625.625 0 1 0 0-1.25.625.625 0 0 0 0 1.25z" clip-rule="evenodd"/><path fill="#AF0100" fill-rule="evenodd" d="M15 10.5a.625.625 0 1 0 0-1.25.625.625 0 0 0 0 1.25zm2.125 0a.625.625 0 1 0 0-1.25.625.625 0 0 0 0 1.25zm-.437 1.375c.241 0 .437-.28.437-.625s-.196-.625-.438-.625c-.241 0-.437.28-.437.625s.196.625.438.625zm-1.5 0c.241 0 .437-.28.437-.625s-.196-.625-.438-.625c-.241 0-.437.28-.437.625s.196.625.438.625z" clip-rule="evenodd"/><path fill="#2E42A5" d="M0 0h11v9H0z"/><mask id="c" width="11" height="9" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" d="M0 0h11v9H0z"/></mask><g mask="url(#c)"><path fill="#fff" d="M-1.253 8.125 1.223 9.21l10.083-8.03 1.306-1.614-2.647-.363-4.113 3.46-3.31 2.332-3.795 3.129z"/><path fill="#F50100" d="m-.914 8.886 1.261.63L12.143-.583h-1.77L-.915 8.886z"/><path fill="#fff" d="M12.503 8.125 10.306 9.52-.056 1.18-1.362-.434l2.647-.363 4.113 3.46 3.31 2.332 3.795 3.129z"/><path fill="#F50100" d="m12.418 8.67-1.261.63-5.023-4.323-1.489-.483-6.133-4.921H.283l6.13 4.804 1.628.58 4.377 3.714z"/><mask id="d" width="13" height="11" x="-1" y="-1" fill="#000" maskUnits="userSpaceOnUse"><path fill="#fff" d="M-1-1h13v11H-1z"/><path fill-rule="evenodd" d="M6 0H5v4H0v1h5v4h1V5h5V4H6V0z" clip-rule="evenodd"/></mask><path fill="#F50100" fill-rule="evenodd" d="M6 0H5v4H0v1h5v4h1V5h5V4H6V0z" clip-rule="evenodd"/><path fill="#F7FCFF" d="M5 0v-.938h-.938V0H5zm1 0h.938v-.938H6V0zM5 4v.938h.938V4H5zM0 4v-.938h-.938V4H0zm0 1h-.938v.938H0V5zm5 0h.938v-.938H5V5zm0 4h-.938v.938H5V9zm1 0v.938h.938V9H6zm0-4v-.938h-.938V5H6zm5 0v.938h.938V5H11zm0-1h.938v-.938H11V4zM6 4h-.938v.938H6V4zM5 .937h1V-.938H5V.938zM5.938 4V0H4.063v4h1.875zM0 4.938h5V3.063H0v1.874zM.938 5V4H-.938v1H.938zM5 4.062H0v1.875h5V4.063zM5.938 9V5H4.063v4h1.875zM6 8.062H5v1.876h1V8.062zM5.062 5v4h1.875V5H5.063zM11 4.062H6v1.875h5V4.063zM10.062 4v1h1.876V4h-1.876zM6 4.938h5V3.063H6v1.874zM5.062 0v4h1.875V0H5.063z" mask="url(#d)"/></g></g></g></svg>
|
||||
|
After Width: | Height: | Size: 3.2 KiB |
1
core/img/flags/bn.svg
Normal file
|
After Width: | Height: | Size: 8.5 KiB |
1
core/img/flags/bo.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="15" fill="none"><mask id="a" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" d="M0 0h20v15H0z"/></mask><g mask="url(#a)"><path fill="#FECA00" fill-rule="evenodd" d="M0 0v15h20V0H0z" clip-rule="evenodd"/><mask id="b" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" fill-rule="evenodd" d="M0 0v15h20V0H0z" clip-rule="evenodd"/></mask><g mask="url(#b)"><path fill="#DB501C" fill-rule="evenodd" d="M0 0v5h20V0H0z" clip-rule="evenodd"/><path fill="#5EAA22" fill-rule="evenodd" d="M0 10v5h20v-5H0z" clip-rule="evenodd"/><path stroke="#DB501C" stroke-width=".938" d="M7.28 7.038s-.233 2.38 1.883 2.38h1.577s2.226-.145 1.968-2.38"/><path fill="#FECA00" stroke="#68B9E8" stroke-width=".938" d="M11.406 7.375a1.406 1.406 0 1 1-2.812 0 1.406 1.406 0 0 1 2.812 0z"/><path fill="#DB501C" fill-rule="evenodd" d="M10 7.5a.625.625 0 1 0 0-1.25.625.625 0 0 0 0 1.25z" clip-rule="evenodd"/><path fill="#5EAA22" fill-rule="evenodd" d="M10.063 8.5c.586 0 1.062-.224 1.062-.5s-.476-.5-1.063-.5C9.476 7.5 9 7.724 9 8s.476.5 1.063.5z" clip-rule="evenodd"/><path fill="#674F28" fill-rule="evenodd" d="M10.063 6.25c.828 0 1.5-.224 1.5-.5s-.672-.5-1.5-.5c-.829 0-1.5.224-1.5.5s.671.5 1.5.5z" clip-rule="evenodd"/></g></g></svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
1
core/img/flags/bq-bo.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="15" fill="none"><mask id="a" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" d="M0 0h20v15H0z"/></mask><g mask="url(#a)"><path fill="#fff" fill-rule="evenodd" d="M0 0h20v15H0V0z" clip-rule="evenodd"/><path fill="#FEDA00" fill-rule="evenodd" d="M0 6.833V0h10L0 6.833z" clip-rule="evenodd"/><path fill="#00268D" fill-rule="evenodd" d="M0 15h20.006V0L0 15z" clip-rule="evenodd"/><mask id="b" fill="#fff"><path fill-rule="evenodd" d="m5.846 3.125.33.707a2.75 2.75 0 0 1 2.419 2.661l.597.299-.652.326A2.752 2.752 0 0 1 6.2 9.29l-.354.71-.355-.71a2.752 2.752 0 0 1-2.34-2.172L2.5 6.792l.597-.299a2.75 2.75 0 0 1 2.397-2.658l.352-.71z" clip-rule="evenodd"/></mask><path fill="#fff" fill-rule="evenodd" d="m5.846 3.125.33.707a2.75 2.75 0 0 1 2.419 2.661l.597.299-.652.326A2.752 2.752 0 0 1 6.2 9.29l-.354.71-.355-.71a2.752 2.752 0 0 1-2.34-2.172L2.5 6.792l.597-.299a2.75 2.75 0 0 1 2.397-2.658l.352-.71z" clip-rule="evenodd"/><path fill="#000" d="m6.175 3.832-.453.211.117.252.277.033.06-.496zm-.33-.707.454-.211-.44-.943-.461.932.448.222zm2.75 3.368-.5.013.008.3.268.135.224-.448zm.597.299.223.447.895-.447-.895-.448-.223.448zm-.652.326-.224-.448-.217.11-.049.237.49.1zM6.2 9.29l-.063-.496-.264.034-.12.238.448.224zm-.354.71-.447.224.447.894.447-.894L5.846 10zm-.355-.71.447-.224-.12-.238-.263-.034-.064.496zM3.15 7.118l.49-.1-.048-.239-.218-.109-.223.448zm-.65-.326-.224-.448-.894.448.894.447.224-.447zm.597-.299.223.448.27-.135.007-.3-.5-.013zm2.397-2.658.063.496.266-.034.12-.24-.449-.222zm1.134-.214L6.3 2.914l-.906.422.329.707.906-.422zm2.467 2.86a3.25 3.25 0 0 0-2.86-3.145l-.12.992a2.25 2.25 0 0 1 1.98 2.178l1-.025zm.32-.137-.596-.298-.448.895.597.298.447-.895zm-.652 1.22.652-.325-.447-.895-.652.326.447.895zM6.265 9.787A3.252 3.252 0 0 0 9.03 7.218l-.98-.2a2.252 2.252 0 0 1-1.913 1.776l.128.992zm-.511-.72-.355.71.894.448.355-.71-.894-.448zm.54.71-.356-.71-.894.447.355.71.894-.447zM2.661 7.218a3.252 3.252 0 0 0 2.765 2.568l.128-.992a2.252 2.252 0 0 1-1.913-1.777l-.98.201zm-.386.02.652.327.447-.895-.651-.326-.448.895zm.597-1.192-.597.298.448.895.596-.298-.447-.895zM5.431 3.34a3.25 3.25 0 0 0-2.834 3.14l1 .025a2.25 2.25 0 0 1 1.96-2.175l-.126-.992zm-.033-.436-.352.71.896.444.352-.71-.896-.444z" mask="url(#b)"/><path fill="#F00A17" fill-rule="evenodd" d="m5.86 5.188-.406.68h-.8l.4.715-.4.686h.8l.406.7.412-.7h.793l-.39-.686.39-.715h-.793l-.412-.68z" clip-rule="evenodd"/></g></svg>
|
||||
|
After Width: | Height: | Size: 2.4 KiB |
1
core/img/flags/bq-sa.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="15" fill="none"><mask id="a" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" d="M0 0h20v15H0z"/></mask><g fill-rule="evenodd" clip-rule="evenodd" mask="url(#a)"><path fill="#fff" d="M0 0h20v15H0V0z"/><path fill="#F00000" d="M0 7.29V0h10L0 7.29zm20 0V0H10l10 7.29z"/><path fill="#00268D" d="M0 7.29V15h10L0 7.29zm20 0v7.92L10 15l10-7.71z"/><path fill="#FEDA00" d="m9.821 8.91-2.198 1.567.807-2.588-2.18-1.585h2.715l.856-2.554.907 2.554h2.642L11.21 7.89l.82 2.588L9.822 8.91z"/></g></svg>
|
||||
|
After Width: | Height: | Size: 577 B |
1
core/img/flags/bq-se.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="15" fill="none"><mask id="a" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" d="M0 0h20v15H0z"/></mask><g mask="url(#a)"><path fill="#00268D" fill-rule="evenodd" d="M0 0h20v15H0V0z" clip-rule="evenodd"/><path fill="#00268D" stroke="#E31D1C" stroke-width="1.25" d="M.625.625h18.75v13.75H.625V.625z"/><path fill="#E31D1C" d="M9.375 0h1.25v15h-1.25z"/><path fill="#E31D1C" d="M0 8.125v-1.25h20v1.25z"/><path fill="#fff" stroke="#E31D1C" stroke-width="1.25" d="m10.28 3.816-.28-.14-.28.14-6.25 3.125-1.118.559 1.118.559 6.25 3.125.28.14.28-.14 6.25-3.125 1.117-.559-1.117-.559-6.25-3.125z"/><mask id="b" width="20" height="11" x="0" y="2" maskUnits="userSpaceOnUse"><path fill="#fff" stroke="#fff" stroke-width="1.25" d="m10.28 3.816-.28-.14-.28.14-6.25 3.125-1.118.559 1.118.559 6.25 3.125.28.14.28-.14 6.25-3.125 1.117-.559-1.117-.559-6.25-3.125z"/></mask><g mask="url(#b)"><path fill="#059334" d="M7.256 10h8.369l-.885-.957s-1.77-1.893-1.883-1.98c-.114-.086-.302-.124-.516.152-.215.276-.337-.151-.516-.151-.178 0-.253 0-.512.353l-1.19 1.626H8.755s-.231-.209-.363-.134c-.131.074-.872-.825-1.136-.892-.264-.067-.438.243-.438.49 0 .248-.124-.226-.377-.087-.253.14-.171.489-.171.489S7.087 10 7.256 10z"/><path fill="#FEDA00" fill-rule="evenodd" d="m9.753 7.034-.617.466.226-.77-.612-.47h.763l.24-.76.255.76h.742l-.607.47.23.77-.62-.466z" clip-rule="evenodd"/></g></g></svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
1
core/img/flags/br.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="15" fill="none"><mask id="a" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" d="M0 0h20v15H0z"/></mask><g mask="url(#a)"><path fill="#093" fill-rule="evenodd" d="M0 0v15h20V0H0z" clip-rule="evenodd"/><mask id="b" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" fill-rule="evenodd" d="M0 0v15h20V0H0z" clip-rule="evenodd"/></mask><g mask="url(#b)"><g fill-rule="evenodd" clip-rule="evenodd" filter="url(#c)"><path fill="#FFD221" d="M9.954 2.315 17.58 7.63l-7.73 4.977-7.47-5.08 7.574-5.212z"/><path fill="url(#d)" d="M9.954 2.315 17.58 7.63l-7.73 4.977-7.47-5.08 7.574-5.212z"/></g><path fill="#2E42A5" fill-rule="evenodd" d="M10 10.75a3.125 3.125 0 1 0 0-6.25 3.125 3.125 0 0 0 0 6.25z" clip-rule="evenodd"/><mask id="e" width="8" height="7" x="6" y="4" maskUnits="userSpaceOnUse"><path fill="#fff" fill-rule="evenodd" d="M10 10.75a3.125 3.125 0 1 0 0-6.25 3.125 3.125 0 0 0 0 6.25z" clip-rule="evenodd"/></mask><g fill="#F7FCFF" mask="url(#e)"><path fill-rule="evenodd" d="m8.988 9.106-.14.074.027-.156-.113-.11.156-.023.07-.141.07.141.155.023-.113.11.027.156-.14-.074zm1.25 0-.14.074.027-.156-.113-.11.156-.023.07-.141.07.141.155.023-.113.11.027.156-.14-.074zm0 .75-.14.074.027-.156-.113-.11.156-.023.07-.141.07.141.155.023-.113.11.027.156-.14-.074zm-.625-2.625-.14.074.027-.156-.113-.11.156-.023.07-.141.07.141.155.023-.113.11.027.156-.14-.074zm0 1.25-.14.074.027-.156-.113-.11.156-.023.07-.141.07.141.155.023-.113.11.027.156-.14-.074zm-.876-.625-.14.074.028-.156-.113-.11.156-.023.07-.141.07.141.155.023-.113.11.027.156-.14-.074zm-.875.5-.14.074.028-.156-.113-.11.156-.023.07-.141.07.141.155.023-.113.11.027.156-.14-.074zm2.876-2.125-.14.074.027-.156-.113-.11.156-.023.07-.141.07.141.155.023-.112.11.026.156-.14-.074z" clip-rule="evenodd"/><path d="m6.203 6.873.094-1.246c2.999.226 5.365 1.212 7.07 2.966l-.896.871c-1.478-1.52-3.557-2.386-6.268-2.59z"/></g></g></g><defs><linearGradient id="d" x1="20" x2="20" y1="15" y2="0" gradientUnits="userSpaceOnUse"><stop stop-color="#FFC600"/><stop offset="1" stop-color="#FFDE42"/></linearGradient><filter id="c" width="15.2" height="10.292" x="2.381" y="2.315" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/><feOffset/><feColorMatrix values="0 0 0 0 0.0313726 0 0 0 0 0.368627 0 0 0 0 0 0 0 0 0.28 0"/><feBlend in2="BackgroundImageFix" result="effect1_dropShadow"/><feBlend in="SourceGraphic" in2="effect1_dropShadow" result="shape"/></filter></defs></svg>
|
||||
|
After Width: | Height: | Size: 2.6 KiB |
1
core/img/flags/bs.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="15" fill="none"><mask id="a" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" d="M0 0h20v15H0z"/></mask><g fill-rule="evenodd" clip-rule="evenodd" mask="url(#a)"><path fill="#FECA00" d="M0 0h20v15H0V0z"/><path fill="#3CB1CF" d="M0 0v5h20V0H0zm0 10v5h20v-5H0z"/><path fill="#272727" d="m0 0 10 7.5L0 15V0z"/></g></svg>
|
||||
|
After Width: | Height: | Size: 407 B |
1
core/img/flags/bt.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="15" fill="none"><mask id="a" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" d="M0 0h20v15H0z"/></mask><g mask="url(#a)"><path fill="#FF6230" fill-rule="evenodd" d="M0 0h20v15H0V0z" clip-rule="evenodd"/><path fill="#FECA00" fill-rule="evenodd" d="M0 0v15L20 0H0z" clip-rule="evenodd"/><g filter="url(#b)"><path fill="#fff" fill-rule="evenodd" d="M2.739 10.206s-.94.856-.195.9c.745.046.606.5 1.215.003.61-.496.018.08.83-.034.813-.113 1.22-1.104 1.649-1.036.428.067.18-.09.541.338.361.43.996-.481.657.15-.338.633-.474 1.264.023 1.242.497-.023.7-.316.925-.632.226-.316 1.987.768 1.174-.316-.812-1.083-1.128.119-1.195-.445-.068-.565-.23-.858.155-.587.383.27 1.286.203.586-.474-.7-.678-.602-.858-.806-.678-.203.181-.7-.677 0-.79.7-.112 1.506.271 1.777.474.27.204 1.106-.045 1.287.361.18.407.79.475.947.723.159.248.046 1.467 1.332 1.4 1.287-.068 1.693-.723 1.152-1.242-.542-.52-.497-1.467-1.061-1.016-.565.452-1.377.384-1.377-.158s.248-.632.203-1.06c-.045-.43-.09-.25.745-.227.835.023.541 0 1.15-.293.61-.293 1.017.993 1.265.045s-.09-1.918-.767-1.535c-.678.384-.655 1.332-1.513.587-.857-.745-1.264-.361-.993-.767.27-.407-.068-.7.542-.43.61.272.429.362.948.43.519.067 3.273.406 2.663-.158-.61-.565-1.194-.473-1.284-.834-.09-.36.28-.27.823-.474.541-.203.316-1.241-.204-1.038-.519.203-.474 1.106-1.535.542-1.218.53-1.03.263-1.649-.634-.542-.43-.835-.452-1.76.045-.731.301-1.342.858-.959 1.603.384.745 1.298 2.147.802 2.238-.497.09-2.28-1.242-3.318-.542-1.039.7-1.606 1.38-1.944 2.193-.339.813-1.434 1.286-1.705 1.286-.27 0-.652.478-1.126.84z" clip-rule="evenodd"/></g></g><defs><filter id="b" width="20.429" height="15.551" x="-.743" y="-.782" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/><feOffset/><feGaussianBlur stdDeviation="1.5"/><feColorMatrix values="0 0 0 0 0.866667 0 0 0 0 0.184314 0 0 0 0 0 0 0 0 0.38 0"/><feBlend in2="BackgroundImageFix" result="effect1_dropShadow"/><feBlend in="SourceGraphic" in2="effect1_dropShadow" result="shape"/></filter></defs></svg>
|
||||
|
After Width: | Height: | Size: 2.2 KiB |
1
core/img/flags/bv.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="15" fill="none"><mask id="a" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" d="M0 0h20v15H0z"/></mask><g mask="url(#a)"><path fill="#E31D1C" fill-rule="evenodd" d="M0 0v15h20V0H0z" clip-rule="evenodd"/><mask id="b" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" fill-rule="evenodd" d="M0 0v15h20V0H0z" clip-rule="evenodd"/></mask><g mask="url(#b)"><path fill="#2E42A5" stroke="#F7FCFF" stroke-width="1.25" d="M6.25-.625h-.625v6.25h-6.25v3.75h6.25v6.25h3.75v-6.25h11.25v-3.75H9.375v-6.25H6.25z"/></g></g></svg>
|
||||
|
After Width: | Height: | Size: 634 B |
1
core/img/flags/bw.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="15" fill="none"><mask id="a" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" d="M0 0h20v15H0z"/></mask><g mask="url(#a)"><path fill="#42ADDF" fill-rule="evenodd" d="M0 0v15h20V0H0z" clip-rule="evenodd"/><mask id="b" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" fill-rule="evenodd" d="M0 0v15h20V0H0z" clip-rule="evenodd"/></mask><g mask="url(#b)"><path fill="#58A5FF" fill-rule="evenodd" d="M0 0v5h20V0H0z" clip-rule="evenodd"/><path fill="#272727" stroke="#F7FCFF" d="M0 5.5h-.5v4h21v-4H0z"/></g></g></svg>
|
||||
|
After Width: | Height: | Size: 633 B |
1
core/img/flags/by.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="15" fill="none"><mask id="a" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" d="M0 0h20v15H0z"/></mask><g mask="url(#a)"><path fill="#73BE4A" fill-rule="evenodd" d="M0 0h20v15H0V0z" clip-rule="evenodd"/><path fill="#AF0100" fill-rule="evenodd" d="M0 0v10h20V0H0z" clip-rule="evenodd"/><path fill="#F7FCFF" d="M0 0h3.75v15H0z"/><path fill="#D0181A" fill-rule="evenodd" d="M.625 0a.625.625 0 1 1 0 1.25.625.625 0 0 1 0-1.25zm2.5 0a.625.625 0 1 1 0 1.25.625.625 0 0 1 0-1.25zM1.25 3.125a.625.625 0 1 0-1.25 0 .625.625 0 0 0 1.25 0zM3.125 2.5a.625.625 0 1 1 0 1.25.625.625 0 0 1 0-1.25zm0 8.75a.625.625 0 1 1 0 1.25.625.625 0 0 1 0-1.25zm-1.875.625a.625.625 0 1 0-1.25 0 .625.625 0 0 0 1.25 0zM.625 13.75a.625.625 0 1 1 0 1.25.625.625 0 0 1 0-1.25zm3.125.625a.625.625 0 1 0-1.25 0 .625.625 0 0 0 1.25 0zM1.875 12.5a.625.625 0 1 1 0 1.25.625.625 0 0 1 0-1.25zM2.5 1.875a.625.625 0 1 0-1.25 0 .625.625 0 0 0 1.25 0zm.069 5.65L3.75 8.75V10l.027.058-1.845-1.847L.274 10H0V8.75l1.24-1.232L0 6.278V5h.136l1.779 1.846 1.787-1.778L3.75 5v1.25L2.569 7.524zM1.875 3.75a.625.625 0 1 1 0 1.25.625.625 0 0 1 0-1.25zm.625 6.875a.625.625 0 1 0-1.25 0 .625.625 0 0 0 1.25 0z" clip-rule="evenodd"/><path fill="#8F181A" fill-rule="evenodd" d="M0 0h1.25v1.25H0V0zm1.25 2.5H0v1.25h1.25V2.5zM0 5h1.25v1.25H0V5zm1.25 3.75H0V10h1.25V8.75zM0 11.25h1.25v1.25H0v-1.25zm1.25 2.5H0V15h1.25v-1.25zm2.5 0H2.5V15h1.25v-1.25zM3.75 0H2.5v1.25h1.25V0z" clip-rule="evenodd" opacity=".4"/></g></svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
1
core/img/flags/bz.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="15" fill="none"><mask id="a" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" d="M0 0h20v15H0z"/></mask><g mask="url(#a)"><path fill="#0168B4" fill-rule="evenodd" d="M0 0v15h20V0H0z" clip-rule="evenodd"/><mask id="b" width="20" height="15" x="0" y="0" maskUnits="userSpaceOnUse"><path fill="#fff" fill-rule="evenodd" d="M0 0v15h20V0H0z" clip-rule="evenodd"/></mask><g mask="url(#b)"><path fill="#E93C43" fill-rule="evenodd" d="M0-1v3h20v-3H0zm0 14v3h20v-3H0z" clip-rule="evenodd"/><path fill="#F7FCFF" d="M10 11.25a3.75 3.75 0 1 1 0-7.5 3.75 3.75 0 0 1 0 7.5z"/><path fill="#fff" fill-rule="evenodd" d="M5.625 7.5a4.375 4.375 0 1 0 8.75 0 4.375 4.375 0 0 0-8.75 0zm8.125 0a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0z" clip-rule="evenodd"/><path fill="#5B8C39" fill-rule="evenodd" d="M6.25 7.5a3.75 3.75 0 1 0 7.5 0 3.75 3.75 0 0 0-7.5 0zm6.625 0a2.875 2.875 0 1 1-5.75 0 2.875 2.875 0 0 1 5.75 0z" clip-rule="evenodd"/><path fill="#5B8C39" fill-rule="evenodd" d="m8.125 8.75 1.837-.235 1.913.235v.625L9.962 9.14l-1.837.235V8.75z" clip-rule="evenodd"/><path fill="#769DF1" fill-rule="evenodd" d="M8.75 6.25h2.5S11.427 10 10 10 8.75 6.25 8.75 6.25z" clip-rule="evenodd"/><path fill="#FECA00" d="M10 6.25h1.25V7.5H10z"/><path fill="#F6F7F8" d="M8.75 6.25H10V7.5H8.75z" opacity=".6"/><rect width="2.5" height="1.25" x="8.75" y="5" fill="#5B8C39" opacity=".66" rx=".625"/><path fill="#E9AD35" fill-rule="evenodd" d="M8.625 8c.345 0 .625-.56.625-1.25S8.97 5.5 8.625 5.5 8 6.06 8 6.75 8.28 8 8.625 8z" clip-rule="evenodd"/><path fill="#5C2216" fill-rule="evenodd" d="M11.375 8C11.72 8 12 7.44 12 6.75s-.28-1.25-.625-1.25-.625.56-.625 1.25.28 1.25.625 1.25z" clip-rule="evenodd"/></g></g></svg>
|
||||
|
After Width: | Height: | Size: 1.7 KiB |