Compare commits
407 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 | ||
|
|
3d69d27396 | ||
|
|
6610bbe93e | ||
|
|
d380224407 | ||
|
|
35ee14d261 | ||
|
|
a36d14c7b9 | ||
|
|
a0a2d520c6 | ||
|
|
260b53ee16 | ||
|
|
056df18e83 | ||
|
|
8a6f03e018 | ||
|
|
966d75903d | ||
|
|
75619ddf72 | ||
|
|
7bb947bd17 | ||
|
|
8552a4621b | ||
|
|
289dd3bd09 | ||
|
|
18a77046ea | ||
|
|
f5c4ed4d6d | ||
|
|
3b9e0378a7 | ||
|
|
650d84ce76 | ||
|
|
7a0cff36e6 | ||
|
|
4934cee12a | ||
|
|
a43ded4f97 | ||
|
|
a59774be53 | ||
|
|
94b83d488d | ||
|
|
7cb84c846d | ||
|
|
03bbd26fe7 | ||
|
|
0fc4103a42 | ||
|
|
d0e090fd0a | ||
|
|
e84ab99311 | ||
|
|
de0a7a868d | ||
|
|
b0dc476636 | ||
|
|
db4e8776d4 | ||
|
|
78684252b4 | ||
|
|
eeb1a925e0 | ||
|
|
3af74f1fc5 | ||
|
|
9328907ae8 | ||
|
|
f469308af8 | ||
|
|
bb494cfe94 | ||
|
|
9817a88109 | ||
|
|
0ef9e8524e | ||
|
|
a1d86bccca | ||
|
|
552f8a62fa | ||
|
|
e63877ea40 | ||
|
|
4d504c4353 | ||
|
|
97ef912df0 | ||
|
|
734633200a | ||
|
|
46ee74be7b | ||
|
|
011df52776 | ||
|
|
398743c7ce | ||
|
|
c96e138320 | ||
|
|
aeb26d2dd6 | ||
|
|
531ae246b0 | ||
|
|
a0582bc6f9 | ||
|
|
a965b8ee3d | ||
|
|
801498f4b9 | ||
|
|
cf42c85f77 | ||
|
|
cc6729622f | ||
|
|
24a7a8c908 | ||
|
|
f61f8dac30 | ||
|
|
e0e00a9317 | ||
|
|
c7b58b3a67 | ||
|
|
1faa6007f4 | ||
|
|
820d8dca55 | ||
|
|
dbf9729f3a | ||
|
|
666552243d | ||
|
|
377292939d | ||
|
|
6c70e10bc8 | ||
|
|
e08154763c | ||
|
|
a3a7bd0bc1 | ||
|
|
2a75f6dd93 | ||
|
|
d162b06c4c | ||
|
|
adbf5d887c | ||
|
|
43b3e0d942 | ||
|
|
cabe269a04 | ||
|
|
6b3a1709c9 | ||
|
|
7d231d56b3 | ||
|
|
844512861f | ||
|
|
886bf56b7c | ||
|
|
ee7bbac50b | ||
|
|
b51805e088 | ||
|
|
3ce568b5d1 | ||
|
|
c7d7acb34b | ||
|
|
c04400b9ff | ||
|
|
c8b3aba6d8 | ||
|
|
1f6a5593a3 | ||
|
|
a4eca28a3e | ||
|
|
116359b5aa | ||
|
|
fc165af1e9 | ||
|
|
8eb9656839 | ||
|
|
4c782ad77c | ||
|
|
ad4c463f97 | ||
|
|
0ad65e3c4d | ||
|
|
771779c010 | ||
|
|
8e61f66b56 | ||
|
|
0ae27b31f5 | ||
|
|
fe969de647 | ||
|
|
c500c99e0d | ||
|
|
e09fc524bf | ||
|
|
63eeea6647 | ||
|
|
a5daf688dd | ||
|
|
ab19b5d656 | ||
|
|
a91097caf5 | ||
|
|
91065f95f1 | ||
|
|
142a41ddce | ||
|
|
18d610bf3e | ||
|
|
7f40865efd | ||
|
|
ca9f438585 | ||
|
|
315e347772 | ||
|
|
a63a25617b | ||
|
|
4f2706b114 | ||
|
|
bc070c6ef4 | ||
|
|
c3369f0106 | ||
|
|
0648bf0117 | ||
|
|
bc36297cd3 | ||
|
|
3088d55d46 | ||
|
|
c7efec3f93 | ||
|
|
9074db8d85 | ||
|
|
497f7d747a | ||
|
|
14a99d8430 | ||
|
|
e734156876 | ||
|
|
b493766a70 | ||
|
|
315629d974 | ||
|
|
7c456e0ddc | ||
|
|
8eb9cb4940 | ||
|
|
09e93e77f1 | ||
|
|
cf7e073733 | ||
|
|
3af11e5a0f | ||
|
|
1b3cad2600 | ||
|
|
47d188750d | ||
|
|
eb6c380577 | ||
|
|
31766640bb | ||
|
|
0d6861afa8 | ||
|
|
b229566064 | ||
|
|
bc4017af6b | ||
|
|
1d12b7979a | ||
|
|
0c8310cf97 | ||
|
|
8c590fb1f2 | ||
|
|
0bbf1f2537 | ||
|
|
3a98210596 | ||
|
|
eb755a3ee8 | ||
|
|
00387e8f7e | ||
|
|
d607e868f1 | ||
|
|
111590f18b | ||
|
|
9c89742e99 | ||
|
|
7abdcc9714 | ||
|
|
42bf6b81b0 | ||
|
|
202153f0d5 | ||
|
|
bef73524e0 | ||
|
|
e67d0d3200 | ||
|
|
05ce39702a | ||
|
|
5cb8956b07 | ||
|
|
411309628d | ||
|
|
969fe0d823 | ||
|
|
f9b3dba2a6 | ||
|
|
f1963c2599 | ||
|
|
8ec9a71b19 | ||
|
|
7c312dfcfd | ||
|
|
2a435732e9 | ||
|
|
7889304771 | ||
|
|
7a6a5c723f | ||
|
|
86c943ee7f | ||
|
|
acd5fe1284 | ||
|
|
a87ccae017 | ||
|
|
a33583f0d0 | ||
|
|
2123809cf1 | ||
|
|
da43abc0ca | ||
|
|
14af3c7c1c | ||
|
|
ce293a14ef | ||
|
|
89166bd900 | ||
|
|
6baa456182 | ||
|
|
dd4f3d8062 | ||
|
|
4ff4feb088 | ||
|
|
8a2437dabb | ||
|
|
5da22ec4e4 | ||
|
|
7a9702a908 | ||
|
|
6a3affaf2a | ||
|
|
cb2821aaaf | ||
|
|
d8ad848e7c | ||
|
|
1e9f8f1275 | ||
|
|
24a7451e1e | ||
|
|
b59e6f958d | ||
|
|
33dbbd8197 | ||
|
|
153500f04e | ||
|
|
b2d19ac40f | ||
|
|
cf73d433c3 | ||
|
|
56ccf9526a | ||
|
|
a06c8edb94 | ||
|
|
e4e8f7d1f8 | ||
|
|
1c824c2bc2 | ||
|
|
7586d97b1c | ||
|
|
003410dbb5 | ||
|
|
c1dfcfe784 | ||
|
|
2c73859b5c | ||
|
|
da469ac1f9 | ||
|
|
3809eeeb10 | ||
|
|
4e8fbec28f | ||
|
|
8ae0434bd1 | ||
|
|
e59e62e6e5 | ||
|
|
87ae692138 | ||
|
|
52fb5d8a0d | ||
|
|
911e687190 | ||
|
|
b5d8ecf8c2 | ||
|
|
ff199c3043 | ||
|
|
ab0587cfed | ||
|
|
65b0ad77f3 | ||
|
|
fd10fb141f | ||
|
|
cfb5bc1b4b | ||
|
|
9cdc8aec5c | ||
|
|
9e745c919e | ||
|
|
98df889173 | ||
|
|
457383298e | ||
|
|
0fbdb9a3ab | ||
|
|
0cf94835ab | ||
|
|
fcf850c341 | ||
|
|
e6964e7314 | ||
|
|
ffa1aa0a9f | ||
|
|
57e3b27bfc | ||
|
|
f91a77220e | ||
|
|
9122eca00a | ||
|
|
e9f5df4f3b | ||
|
|
ff505c1a2c | ||
|
|
f74eb22c99 | ||
|
|
7d532506ba | ||
|
|
3c41a6bbdf | ||
|
|
72d1eb5130 | ||
|
|
abff10855a | ||
|
|
4d025e6dd5 | ||
|
|
0df6132306 | ||
|
|
1a3c208483 | ||
|
|
65bf5274cd | ||
|
|
57ae358143 | ||
|
|
88282b4e03 |
89
.all-contributorsrc
Normal file
@@ -0,0 +1,89 @@
|
||||
{
|
||||
"projectName": "tabler",
|
||||
"projectOwner": "tabler",
|
||||
"repoType": "github",
|
||||
"repoHost": "https://github.com",
|
||||
"files": [
|
||||
"CONTRIBUTORS.md"
|
||||
],
|
||||
"imageSize": 100,
|
||||
"commit": true,
|
||||
"commitConvention": "angular",
|
||||
"contributors": [
|
||||
{
|
||||
"login": "codecalm",
|
||||
"name": "Paweł Kuna",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/1282324?v=4",
|
||||
"profile": "https://tabler.io/",
|
||||
"contributions": [
|
||||
"code",
|
||||
"doc"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "martynaaj",
|
||||
"name": "Martyna",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/60158888?v=4",
|
||||
"profile": "https://github.com/martynaaj",
|
||||
"contributions": [
|
||||
"doc"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "deralaxo",
|
||||
"name": "Dawid Harat",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/40028795?v=4",
|
||||
"profile": "https://github.com/deralaxo",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "rjd22",
|
||||
"name": "Robert-Jan de Dreu",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/160743?v=4",
|
||||
"profile": "https://codersopinion.com/",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "FreexD",
|
||||
"name": "Michał Wolny",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/7117869?v=4",
|
||||
"profile": "https://github.com/FreexD",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "wangkanai",
|
||||
"name": "Sarin Na Wangkanai",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/10666633?v=4",
|
||||
"profile": "https://www.wangkanai.com/",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "WinterSilence",
|
||||
"name": "Anton",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/3521094?v=4",
|
||||
"profile": "https://ensostudio.ru/",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "dheineman",
|
||||
"name": "Dave Heineman",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/516028?v=4",
|
||||
"profile": "https://github.com/dheineman",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
}
|
||||
],
|
||||
"contributorsPerLine": 7,
|
||||
"linkToUsage": false
|
||||
}
|
||||
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)
|
||||
)
|
||||
8
.changeset/README.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# Changesets
|
||||
|
||||
Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works
|
||||
with multi-package repos, or single-package repos to help you version and publish your code. You can
|
||||
find the full documentation for it [in our repository](https://github.com/changesets/changesets)
|
||||
|
||||
We have a quick list of common questions to get you started engaging with this project in
|
||||
[our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md)
|
||||
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
|
||||
11
.changeset/config.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"$schema": "https://unpkg.com/@changesets/config@2.3.0/schema.json",
|
||||
"changelog": "@changesets/cli/changelog",
|
||||
"commit": false,
|
||||
"fixed": [],
|
||||
"linked": [],
|
||||
"access": "restricted",
|
||||
"baseBranch": "main",
|
||||
"updateInternalDependencies": "patch",
|
||||
"ignore": []
|
||||
}
|
||||
5
.changeset/curvy-fishes-lie.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tabler/core": minor
|
||||
---
|
||||
|
||||
Add customizable Star Ratings component using `star-rating.js` library
|
||||
5
.changeset/curvy-mails-burn.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tabler/core": patch
|
||||
---
|
||||
|
||||
Dependencies update
|
||||
5
.changeset/dull-kiwis-notice.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tabler/core": patch
|
||||
---
|
||||
|
||||
Fix text color in dark version of navbar
|
||||
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/odd-terms-tap.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tabler/core": patch
|
||||
---
|
||||
|
||||
Fix form controls bugs in dark mode
|
||||
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/rare-pumpkins-pull.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tabler/core": minor
|
||||
---
|
||||
|
||||
Unify dark mode with latest Bootstrap API and improve dark mode elements
|
||||
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/rich-dingos-promise.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tabler/core": patch
|
||||
---
|
||||
|
||||
Add All Contributions package to project for easy contribution tracking
|
||||
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/slow-buses-breathe.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tabler/core": patch
|
||||
---
|
||||
|
||||
Switch from `npm` to `pnpm` for faster package installation
|
||||
5
.changeset/soft-mangos-tie.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tabler/core": patch
|
||||
---
|
||||
|
||||
Add variable to configure `avatar-list` spacing
|
||||
5
.changeset/sour-teachers-collect.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tabler/core": patch
|
||||
---
|
||||
|
||||
Update required Node.js version to 18 and add `.nvmrc` file
|
||||
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/tasty-boats-work.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tabler/core": patch
|
||||
---
|
||||
|
||||
Update Tabler Icons to version 2.18 with 18 new icons added
|
||||
5
.changeset/thick-apples-punch.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tabler/core": patch
|
||||
---
|
||||
|
||||
Add Prettier to project for consistent code formatting
|
||||
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/twenty-tables-judge.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tabler/core": patch
|
||||
---
|
||||
|
||||
Add new Filled section to Icons page
|
||||
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
|
||||
5
.changeset/wet-games-float.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@tabler/core": patch
|
||||
---
|
||||
|
||||
Add support for changeset tool for more efficient and organized code changes
|
||||
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
|
||||
---
|
||||
19
.github/workflows/add_to_project.yml
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
name: Add new issues and pr to project
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types:
|
||||
- opened
|
||||
issues:
|
||||
types:
|
||||
- opened
|
||||
|
||||
jobs:
|
||||
add-to-project:
|
||||
name: Add new issue and pr to project
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/add-to-project@v0.5.0
|
||||
with:
|
||||
project-url: https://github.com/orgs/tabler/projects/9/views/1
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
48
.github/workflows/bundlewatch.yml
vendored
Normal file
@@ -0,0 +1,48 @@
|
||||
name: Bundlewatch
|
||||
|
||||
on:
|
||||
pull_request: null
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- dev
|
||||
|
||||
env:
|
||||
FORCE_COLOR: 2
|
||||
NODE: 18
|
||||
|
||||
jobs:
|
||||
bundlewatch:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Clone repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Set up Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: "${{ env.NODE }}"
|
||||
|
||||
- name: Install PNPM
|
||||
uses: pnpm/action-setup@v2
|
||||
with:
|
||||
version: 8
|
||||
|
||||
- name: Set up Bundler
|
||||
uses: ruby/setup-ruby@v1
|
||||
with:
|
||||
ruby-version: 3.2
|
||||
bundler-cache: true
|
||||
|
||||
- name: Install pnpm dependencies
|
||||
run: pnpm install --no-frozen-lockfile
|
||||
|
||||
- name: Run build
|
||||
run: pnpm run build
|
||||
|
||||
- name: Run bundlewatch
|
||||
run: pnpm run bundlewatch
|
||||
env:
|
||||
BUNDLEWATCH_GITHUB_TOKEN: "${{ secrets.BUNDLEWATCH_GITHUB_TOKEN }}"
|
||||
CI_BRANCH_BASE: dev
|
||||
26
.github/workflows/calibreapp-image-actions.yml
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
name: Compress Images
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
paths:
|
||||
- '**.jpg'
|
||||
- '**.jpeg'
|
||||
- '**.png'
|
||||
- '**.webp'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
# Only run on Pull Requests within the same repository, and not from forks.
|
||||
if: github.event.pull_request.head.repo.full_name == github.repository
|
||||
name: calibreapp/image-actions
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- name: Compress Images
|
||||
uses: calibreapp/image-actions@main
|
||||
with:
|
||||
githubToken: ${{ secrets.GITHUB_TOKEN }}
|
||||
26
.github/workflows/close_inactive.yml
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
name: Close inactive issues and pr
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: "00 11 * * *"
|
||||
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
pull-requests: write
|
||||
issues: write
|
||||
steps:
|
||||
- uses: actions/stale@v9
|
||||
with:
|
||||
days-before-issue-stale: 360
|
||||
days-before-issue-close: 14
|
||||
stale-issue-label: "stale"
|
||||
stale-issue-message: "This issue is stale because it has been open for 360 days with no activity."
|
||||
close-issue-message: "This issue was closed because it has been inactive for 14 days since being marked as stale."
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
days-before-pr-stale: 360
|
||||
days-before-pr-close: 14
|
||||
stale-pr-label: "stale"
|
||||
stale-pr-message: "This pr is stale because it has been open for 360 days with no activity."
|
||||
close-pr-message: "This pr was closed because it has been inactive for 14 days since being marked as stale."
|
||||
74
.github/workflows/codeql-analysis.yml
vendored
@@ -1,74 +0,0 @@
|
||||
# For most projects, this workflow file will not need changing; you simply need
|
||||
# to commit it to your repository.
|
||||
#
|
||||
# You may wish to alter this file to override the set of languages analyzed,
|
||||
# or to provide custom queries or build logic.
|
||||
#
|
||||
# ******** NOTE ********
|
||||
# We have attempted to detect the languages in your repository. Please check
|
||||
# the `language` matrix defined below to confirm you have the correct set of
|
||||
# supported CodeQL languages.
|
||||
#
|
||||
name: "CodeQL"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ dev, master ]
|
||||
pull_request:
|
||||
# The branches below must be a subset of the branches above
|
||||
branches: [ dev ]
|
||||
schedule:
|
||||
- cron: '32 8 * * 2'
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
analyze:
|
||||
permissions:
|
||||
actions: read # for github/codeql-action/init to get workflow details
|
||||
contents: read # for actions/checkout to fetch code
|
||||
security-events: write # for github/codeql-action/autobuild to send a status report
|
||||
name: Analyze
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
language: [ 'javascript' ]
|
||||
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
|
||||
# Learn more:
|
||||
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v2
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||
# By default, queries listed here will override any specified in a config file.
|
||||
# Prefix the list here with "+" to use these queries and those in the config file.
|
||||
# queries: ./path/to/local/query, your-org/your-repo/queries@main
|
||||
|
||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
||||
# If this step fails, then you should remove it and run the build manually (see below)
|
||||
- name: Autobuild
|
||||
uses: github/codeql-action/autobuild@v2
|
||||
|
||||
# ℹ️ Command-line programs to run using the OS shell.
|
||||
# 📚 https://git.io/JvXDl
|
||||
|
||||
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
|
||||
# and modify them (or add more) to build your code if your project
|
||||
# uses a compiled language
|
||||
|
||||
#- run: |
|
||||
# make bootstrap
|
||||
# make release
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v2
|
||||
21
.github/workflows/lockfiles.yaml
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
name: Changed lock files
|
||||
on:
|
||||
pull_request: null
|
||||
|
||||
permissions:
|
||||
pull-requests: read
|
||||
|
||||
jobs:
|
||||
lockfiles:
|
||||
runs-on: ubuntu-latest
|
||||
name: Verify lock file integrity
|
||||
steps:
|
||||
- name: Clone Tabler
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- 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
|
||||
45
.github/workflows/release.yml
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
name: Release
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- dev
|
||||
|
||||
concurrency: ${{ github.workflow }}-${{ github.ref }}
|
||||
|
||||
jobs:
|
||||
release:
|
||||
name: Release
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Node.js 18
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 18
|
||||
|
||||
- name: Install PNPM
|
||||
uses: pnpm/action-setup@v2
|
||||
with:
|
||||
version: 8
|
||||
|
||||
- name: Install Dependencies
|
||||
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 }}
|
||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
20
.github/workflows/test.yml
vendored
@@ -5,7 +5,7 @@ on:
|
||||
types: [ opened, reopened ]
|
||||
|
||||
env:
|
||||
NODE: 14
|
||||
NODE: 18
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
@@ -15,25 +15,29 @@ 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: npm
|
||||
|
||||
- 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
|
||||
- run: node --version
|
||||
|
||||
- name: Install npm dependencies
|
||||
run: npm ci
|
||||
- name: Install pnpm dependencies
|
||||
run: pnpm install
|
||||
|
||||
- name: Build
|
||||
run: npm run build
|
||||
run: pnpm run build
|
||||
|
||||
12
.gitignore
vendored
@@ -22,4 +22,14 @@ node_modules/
|
||||
/components/
|
||||
/percy.sh
|
||||
/src/pages/playground.html
|
||||
/src/pages/features.html
|
||||
/src/pages/playground-*.html
|
||||
/src/pages/features.html
|
||||
|
||||
.pnp.loader.mjs
|
||||
.pnp.cjs
|
||||
.yarn
|
||||
.next
|
||||
.vercel
|
||||
package-lock.json
|
||||
|
||||
.turbo
|
||||
@@ -1,3 +1,3 @@
|
||||
tasks:
|
||||
- init: npm install && npm run build
|
||||
command: npm run start
|
||||
- init: pnpm install && pnpm run build
|
||||
command: pnpm run start
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
version: 1
|
||||
snapshot:
|
||||
widths: [1440]
|
||||
5
.prettierignore
Normal file
@@ -0,0 +1,5 @@
|
||||
dist
|
||||
.tmp
|
||||
.vscode
|
||||
.cache
|
||||
node_modules
|
||||
10
.prettierrc
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"bracketSpacing": true,
|
||||
"jsxSingleQuote": false,
|
||||
"printWidth": 240,
|
||||
"proseWrap": "always",
|
||||
"semi": false,
|
||||
"singleQuote": false,
|
||||
"tabWidth": 2,
|
||||
"trailingComma": "all"
|
||||
}
|
||||
407
CHANGELOG.md
@@ -2,166 +2,126 @@
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
## `1.0.0-beta20` - 2023-08-24
|
||||
|
||||
## `1.0.0-beta` - 2021-02-17
|
||||
|
||||
**Initial beta release of Tabler v1.0! Lots more coming soon though 😁**
|
||||
|
||||
- update Bootstrap to 5.0.0-beta2
|
||||
- update other dependencies.
|
||||
- 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-beta2` - 2021-03-29
|
||||
## `1.0.0-beta19` - 2023-05-15
|
||||
|
||||
- update dependencies
|
||||
- `li` marker fix
|
||||
- page wrapper, nav fixes
|
||||
- scripts optimize, remove `capture_once`
|
||||
- `page-body` fixes
|
||||
- layout navbar fix
|
||||
- typography fix
|
||||
- ribbon fix
|
||||
- charts label fixes
|
||||
- charts docs
|
||||
- Add customizable Star Ratings component using `star-rating.js` library (#1571)
|
||||
- Add new "Filled" section to Icons page (#1574)
|
||||
- Fix form controls bugs in dark mode (#1573)
|
||||
- Fix text color in dark version of navbar (#1569)
|
||||
- Changelog update
|
||||
|
||||
|
||||
## `1.0.0-beta3` - 2021-05-08
|
||||
## `1.0.0-beta18` - 2023-05-14
|
||||
|
||||
- upgrade Bootstrap to 5.0
|
||||
- upgrade dependencies
|
||||
- change `$border-radius-pill` variable
|
||||
- badge vertical align fix
|
||||
- new page: Cookie banner
|
||||
- Unify dark mode with latest Bootstrap API and improve dark mode elements (#1561)
|
||||
- Update Tabler Icons to version 2.18 with 18 new icons added (#1560)
|
||||
- Switch from `npm` to `pnpm` for faster package installation (#1559)
|
||||
- Add Prettier to project for consistent code formatting (#1558)
|
||||
- Update required Node.js version to 18 and add `.nvmrc` file (#1555)
|
||||
- Add All Contributions package to project for easy contribution tracking (#1556)
|
||||
- Add support for changeset tool for more efficient and organized code changes (#1553)
|
||||
- Fix bug where `border-1`, `border-2`, etc don't work (#1526)
|
||||
- Fix indeterminate input background color (#1536)
|
||||
- Update Bootstrap to `5.3.0-alpha3` (#1543)
|
||||
- `tom-select` dark mode styling fixes
|
||||
- Advanced udage of `tom-select` (#1480)
|
||||
- Fix Dropdown menu in rtl mode (#801)
|
||||
- Fix `tom-select` dropdown will be shaded in table-responsive (#1409)
|
||||
- Remove overflow scroll from body
|
||||
- Fix avatars overlap transparently (#1464)
|
||||
- Fix TinyMCE dropdown icon list transparent (#1426)
|
||||
- Dark mode lite colors improvement
|
||||
- Fix non full width selects (#1392)
|
||||
|
||||
|
||||
## `1.0.0-beta4` - 2021-10-24
|
||||
## `1.0.0-beta17` - 2023-01-28
|
||||
|
||||
- upgrade required node.js version to 14
|
||||
- upgrade Bootstrap to 5.1
|
||||
- upgrade dependencies
|
||||
- fix #775 - litepicker not initializing
|
||||
- fix `nouislider` import in dev
|
||||
- update `bootstrap` to v5.3.0
|
||||
- update icons to v2.1.2
|
||||
- add 72 new brands, browsers logos update
|
||||
- new `Trial ended` page
|
||||
- new `Page loader` page
|
||||
- new `Profile` page
|
||||
- headings fix
|
||||
- dropdown background color fix
|
||||
- fix rgba conversion bug
|
||||
- fix autofill text color, not matching in dark mode
|
||||
- update license
|
||||
- header html5 tags
|
||||
- add input with appended `<kbd>`
|
||||
- `bootstrap` import fix
|
||||
- font improvements
|
||||
- change `$body-color` to CSS variable
|
||||
- scrollbars improvements
|
||||
- move `@tabler/icons` to `dev-dependencies`
|
||||
- fix #1370: avatar stacked list is not stacked anymore
|
||||
|
||||
|
||||
## `1.0.0-beta5` - 2021-12-07
|
||||
## `1.0.0-beta16` - 2022-11-12
|
||||
|
||||
**Tabler has finally lived to see dark mode! 🌝🌚**
|
||||
|
||||
- **Dark mode enabled!**
|
||||
- add more cursors (#947)
|
||||
- fix #892 - media queries need to be nested when negating
|
||||
- update `@tabler/icons` to newest version
|
||||
- move optional dependencies to peerDependencies (#924)
|
||||
- move deployment to Github Actions (#934)
|
||||
- table border fixes
|
||||
- antialiased fix
|
||||
- update `@tabler/icons` to version 1.42
|
||||
- change default font to 'Inter'
|
||||
- colors unify
|
||||
- add `tom-select` and remove `choices.js`
|
||||
- new `Photogrid` page
|
||||
- `Steps` component improvements
|
||||
- fix #1348: Make job listing responsive for smaller devices
|
||||
- fix #1357: buttons group not active
|
||||
- fix #1352: fix deprecation warning
|
||||
- fix #1180: number input with `form-control-sm` looks weird
|
||||
- fix #1328: color input should show different color for inner check symbol on white ellipse
|
||||
- fix #1355 - missing font sizes
|
||||
- update icons to v1.111.0
|
||||
- homepage navbar fix
|
||||
- fix #1262 - `.bg-opacity-xx` class is not functioning properly
|
||||
|
||||
|
||||
## `1.0.0-beta6` - 2022-01-18
|
||||
## `1.0.0-beta15` - 2022-11-01
|
||||
|
||||
- pricing cards fix
|
||||
- fix bug `fw-...`, `.fs-...` is missed (#987)
|
||||
- avatar class fix
|
||||
- fix bug #903 `litepicker` with date range not having correct border
|
||||
- page wrapper fix
|
||||
- fix #900 `is-invalid-lite` class is not working under `was-validated` form class
|
||||
- update `@tabler/icons` to version 1.48
|
||||
- fix #960 - Badges not honoring font sizes
|
||||
- fix #959 - `node-sass` does not properly compile nested media queries
|
||||
- update package dependencies to newest version
|
||||
- new `badges` page
|
||||
- `<kbd>` styling
|
||||
- update icons to v1.109.0
|
||||
- `tom-select` border fix
|
||||
- exclude `playgrounds` from build
|
||||
- update jekyll to v4.3.1
|
||||
- fix: facebook color update
|
||||
- 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
|
||||
- add missing forms
|
||||
- `btn-actions` fixes
|
||||
- replace `$text-muted` to css variable
|
||||
|
||||
|
||||
## `1.0.0-beta7` - 2022-02-05
|
||||
## `1.0.0-beta14` - 2022-10-21
|
||||
|
||||
- fix: #1019 - project-overview.html link not working
|
||||
- fix: #1010 - card with bottom tabs has incorrect border radius
|
||||
- uptime monitor mobile fixes
|
||||
- navbar dark button fix
|
||||
- `tabler-icons` link
|
||||
- autoloading webfonts
|
||||
- cards fixes, new cards demos
|
||||
- ruby dependencies update
|
||||
- RTL stylesheet fixes
|
||||
- new card action demos
|
||||
|
||||
|
||||
## `1.0.0-beta8` - 2022-02-05
|
||||
|
||||
- update dependencies
|
||||
- new vector maps demos
|
||||
- fixes update map on resize
|
||||
- docs improvement
|
||||
- replace `badge` with `status-dot` in `navbar-notifications.html`
|
||||
- map tooltip fixes
|
||||
|
||||
|
||||
## `1.0.0-beta9` - 2022-02-26
|
||||
|
||||
- fix: #1061 - list group item colors in light and dark modes
|
||||
- new `tasks` dashboard
|
||||
- fix: #1059 - upload button in form element in dark view has problem
|
||||
- fix: #1052 - card background icon is practically invisible
|
||||
- remove Inter font and use default font system stack
|
||||
- fix: #1018 - vector map not working
|
||||
- fix: #1035 - wrong background color of hovered list group items in dark mode
|
||||
- dependencies update
|
||||
- add `font-display: swap;` to improve font loading
|
||||
- new `Boxed` layout
|
||||
|
||||
|
||||
## `1.0.0-beta10` - 2022-04-29
|
||||
|
||||
- new `datatable` component
|
||||
- update Tabler Icons to v1.67
|
||||
- fix: #1024 - fix Tom-select in dark mode
|
||||
- new carousel indicators: dots, vertical, thumbs (#1101)
|
||||
- replace !important modifier with more specific selectors (#1100)
|
||||
- new `FAQ` page
|
||||
|
||||
|
||||
## `1.0.0-beta11` - 2022-07-05
|
||||
|
||||
- new `Dropzone` component
|
||||
- new `Lightbox` component
|
||||
- new `TinyMCS` component
|
||||
- new `Inline Player` component
|
||||
- new `Pricing table` component
|
||||
- new `Datagrid` component
|
||||
- new optgroup form examples
|
||||
- new settings page
|
||||
- update Tabler Icons to v1.78
|
||||
- added popover docs page
|
||||
- fix: #1125 incorrect chart display in the mobile version
|
||||
- update Bootstrap to 5.2.0
|
||||
|
||||
|
||||
## `1.0.0-beta12` - 2022-09-19
|
||||
|
||||
- new "Job listing" page
|
||||
- new "Sign in with cover" page
|
||||
- new "Logs" page
|
||||
- new `progressbg` component
|
||||
- add a lot of CSS variables
|
||||
- add Dockerfile with alpine base
|
||||
- add icon pulse/tada/rotate animations
|
||||
- use `:host` in selectors to support Web Components
|
||||
- use dark table variant colors in dark mode (#1200)
|
||||
- update Tabler Icons to v1.96
|
||||
- change `space-y` component
|
||||
- headings, shadows and borders unify
|
||||
- toggle TinyMCE dark mode and skin based on the set Tabler theme
|
||||
- fix `card-footer` background
|
||||
- fix headers weight
|
||||
- fix transparent hover background in pagination
|
||||
- fix dark mode card text color
|
||||
- fix `--#{$prefix}card-bg` is undefined
|
||||
- fix global variable for `.card` and `.btn`
|
||||
- fix code sample in the customize tabler docs
|
||||
- fix form elements demo page radio buttons
|
||||
- replace `gulp-minify` with `gulp-terser`
|
||||
- fix active items in dark mode
|
||||
- update Jekyll to newest version
|
||||
|
||||
|
||||
## `1.0.0-beta13` - 2022-10-18
|
||||
@@ -191,5 +151,166 @@ All notable changes to this project will be documented in this file.
|
||||
- fix #1308 - bad coloring in table in dark mode
|
||||
- fix #1273 - datepicker background color broken
|
||||
- fix `$prefix` hard coded `layout/_dark.scss`
|
||||
- fix #1275 remove last border-right on progress bar
|
||||
- fix #1261: broken offcanvas bg
|
||||
- fix #1275 - remove last border-right on progress bar
|
||||
- fix #1261 - broken offcanvas bg
|
||||
|
||||
|
||||
## `1.0.0-beta12` - 2022-09-19
|
||||
|
||||
- new "Job listing" page
|
||||
- new "Sign in with cover" page
|
||||
- new "Logs" page
|
||||
- new `progressbg` component
|
||||
- add a lot of CSS variables
|
||||
- add Dockerfile with alpine base
|
||||
- add icon pulse/tada/rotate animations
|
||||
- use `:host` in selectors to support Web Components
|
||||
- use dark table variant colors in dark mode (#1200)
|
||||
- update Tabler Icons to v1.96
|
||||
- change `space-y` component
|
||||
- headings, shadows and borders unify
|
||||
- toggle TinyMCE dark mode and skin based on the set Tabler theme
|
||||
- fix `card-footer` background
|
||||
- fix headers weight
|
||||
- fix transparent hover background in pagination
|
||||
- fix dark mode card text color
|
||||
- fix `--#{$prefix}card-bg` is undefined
|
||||
- fix global variable for `.card` and `.btn`
|
||||
- fix code sample in the customize tabler docs
|
||||
- fix form elements demo page radio buttons
|
||||
- replace `gulp-minify` with `gulp-terser`
|
||||
|
||||
|
||||
## `1.0.0-beta11` - 2022-07-05
|
||||
|
||||
- new `Dropzone` component
|
||||
- new `Lightbox` component
|
||||
- new `TinyMCS` component
|
||||
- new `Inline Player` component
|
||||
- new `Pricing table` component
|
||||
- new `Datagrid` component
|
||||
- new optgroup form examples
|
||||
- new settings page
|
||||
- update Tabler Icons to v1.78
|
||||
- added popover docs page
|
||||
- fix: #1125 incorrect chart display in the mobile version
|
||||
- update Bootstrap to 5.2.0
|
||||
|
||||
|
||||
## `1.0.0-beta10` - 2022-04-29
|
||||
|
||||
- new `datatable` component
|
||||
- update Tabler Icons to v1.67
|
||||
- fix: #1024 - fix Tom-select in dark mode
|
||||
- new carousel indicators: dots, vertical, thumbs (#1101)
|
||||
- replace !important modifier with more specific selectors (#1100)
|
||||
- new `FAQ` page
|
||||
|
||||
|
||||
## `1.0.0-beta9` - 2022-02-26
|
||||
|
||||
- fix: #1061 - list group item colors in light and dark modes
|
||||
- new `tasks` dashboard
|
||||
- fix: #1059 - upload button in form element in dark view has problem
|
||||
- fix: #1052 - card background icon is practically invisible
|
||||
- remove Inter font and use default font system stack
|
||||
- fix: #1018 - vector map not working
|
||||
- fix: #1035 - wrong background color of hovered list group items in dark mode
|
||||
- dependencies update
|
||||
- add `font-display: swap;` to improve font loading
|
||||
- new `Boxed` layout
|
||||
|
||||
|
||||
## `1.0.0-beta8` - 2022-02-05
|
||||
|
||||
- update dependencies
|
||||
- new vector maps demos
|
||||
- fixes update map on resize
|
||||
- docs improvement
|
||||
- replace `badge` with `status-dot` in `navbar-notifications.html`
|
||||
- map tooltip fixes
|
||||
|
||||
|
||||
## `1.0.0-beta7` - 2022-02-05
|
||||
|
||||
- fix: #1019 - project-overview.html link not working
|
||||
- fix: #1010 - card with bottom tabs has incorrect border radius
|
||||
- uptime monitor mobile fixes
|
||||
- navbar dark button fix
|
||||
- `tabler-icons` link
|
||||
- autoloading webfonts
|
||||
- cards fixes, new cards demos
|
||||
- ruby dependencies update
|
||||
- RTL stylesheet fixes
|
||||
- new card action demos
|
||||
|
||||
|
||||
## `1.0.0-beta6` - 2022-01-18
|
||||
|
||||
- pricing cards fix
|
||||
- fix bug `fw-...`, `.fs-...` is missed (#987)
|
||||
- avatar class fix
|
||||
- fix bug #903 `litepicker` with date range not having correct border
|
||||
- page wrapper fix
|
||||
- fix #900 `is-invalid-lite` class is not working under `was-validated` form class
|
||||
- update `@tabler/icons` to version 1.48
|
||||
- fix #960 - Badges not honoring font sizes
|
||||
- fix #959 - `node-sass` does not properly compile nested media queries
|
||||
- update package dependencies to newest version
|
||||
|
||||
|
||||
## `1.0.0-beta5` - 2021-12-07
|
||||
|
||||
**Tabler has finally lived to see dark mode! 🌝🌚**
|
||||
|
||||
- **Dark mode enabled!**
|
||||
- add more cursors (#947)
|
||||
- fix #892 - media queries need to be nested when negating
|
||||
- update `@tabler/icons` to newest version
|
||||
- move optional dependencies to peerDependencies (#924)
|
||||
- move deployment to Github Actions (#934)
|
||||
- table border fixes
|
||||
- antialiased fix
|
||||
- update `@tabler/icons` to version 1.42
|
||||
- change default font to 'Inter'
|
||||
- colors unify
|
||||
- add `tom-select` and remove `choices.js`
|
||||
|
||||
|
||||
## `1.0.0-beta4` - 2021-10-24
|
||||
|
||||
- upgrade required node.js version to 14
|
||||
- upgrade Bootstrap to 5.1
|
||||
- upgrade dependencies
|
||||
- fix #775 - litepicker not initializing
|
||||
- fix `nouislider` import in dev
|
||||
|
||||
|
||||
## `1.0.0-beta3` - 2021-05-08
|
||||
|
||||
- upgrade Bootstrap to 5.0
|
||||
- upgrade dependencies
|
||||
- change `$border-radius-pill` variable
|
||||
- badge vertical align fix
|
||||
|
||||
|
||||
## `1.0.0-beta2` - 2021-03-29
|
||||
|
||||
- update dependencies
|
||||
- `li` marker fix
|
||||
- page wrapper, nav fixes
|
||||
- scripts optimize, remove `capture_once`
|
||||
- `page-body` fixes
|
||||
- layout navbar fix
|
||||
- typography fix
|
||||
- ribbon fix
|
||||
- charts label fixes
|
||||
- charts docs
|
||||
|
||||
|
||||
## `1.0.0-beta` - 2021-02-17
|
||||
|
||||
**Initial beta release of Tabler v1.0! Lots more coming soon though 😁**
|
||||
|
||||
- update Bootstrap to 5.0.0-beta2
|
||||
- update other dependencies.
|
||||
|
||||
28
CONTRIBUTORS.md
Normal file
@@ -0,0 +1,28 @@
|
||||
## Contributors
|
||||
|
||||
Thanks goes to these wonderful people
|
||||
|
||||
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
|
||||
<!-- prettier-ignore-start -->
|
||||
<!-- markdownlint-disable -->
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://tabler.io/"><img src="https://avatars.githubusercontent.com/u/1282324?v=4?s=100" width="100px;" alt="Paweł Kuna"/><br /><sub><b>Paweł Kuna</b></sub></a><br /><a href="https://github.com/tabler/tabler/commits?author=codecalm" title="Code">💻</a> <a href="https://github.com/tabler/tabler/commits?author=codecalm" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/martynaaj"><img src="https://avatars.githubusercontent.com/u/60158888?v=4?s=100" width="100px;" alt="Martyna"/><br /><sub><b>Martyna</b></sub></a><br /><a href="https://github.com/tabler/tabler/commits?author=martynaaj" title="Documentation">📖</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/deralaxo"><img src="https://avatars.githubusercontent.com/u/40028795?v=4?s=100" width="100px;" alt="Dawid Harat"/><br /><sub><b>Dawid Harat</b></sub></a><br /><a href="https://github.com/tabler/tabler/commits?author=deralaxo" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://codersopinion.com/"><img src="https://avatars.githubusercontent.com/u/160743?v=4?s=100" width="100px;" alt="Robert-Jan de Dreu"/><br /><sub><b>Robert-Jan de Dreu</b></sub></a><br /><a href="https://github.com/tabler/tabler/commits?author=rjd22" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/FreexD"><img src="https://avatars.githubusercontent.com/u/7117869?v=4?s=100" width="100px;" alt="Michał Wolny"/><br /><sub><b>Michał Wolny</b></sub></a><br /><a href="https://github.com/tabler/tabler/commits?author=FreexD" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://www.wangkanai.com/"><img src="https://avatars.githubusercontent.com/u/10666633?v=4?s=100" width="100px;" alt="Sarin Na Wangkanai"/><br /><sub><b>Sarin Na Wangkanai</b></sub></a><br /><a href="https://github.com/tabler/tabler/commits?author=wangkanai" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://ensostudio.ru/"><img src="https://avatars.githubusercontent.com/u/3521094?v=4?s=100" width="100px;" alt="Anton"/><br /><sub><b>Anton</b></sub></a><br /><a href="https://github.com/tabler/tabler/commits?author=WinterSilence" title="Code">💻</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/dheineman"><img src="https://avatars.githubusercontent.com/u/516028?v=4?s=100" width="100px;" alt="Dave Heineman"/><br /><sub><b>Dave Heineman</b></sub></a><br /><a href="https://github.com/tabler/tabler/commits?author=dheineman" title="Code">💻</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<!-- markdownlint-restore -->
|
||||
<!-- prettier-ignore-end -->
|
||||
|
||||
<!-- ALL-CONTRIBUTORS-LIST:END -->
|
||||
50
Dockerfile
@@ -1,27 +1,23 @@
|
||||
FROM ruby:2.7-alpine
|
||||
|
||||
RUN apk add --no-cache nodejs npm && \
|
||||
apk add --no-cache --virtual build-dependencies build-base
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
ADD package.json /app/
|
||||
ADD package-lock.json /app/
|
||||
ADD package.json /app/
|
||||
ADD Gemfile /app/
|
||||
ADD Gemfile.lock /app/
|
||||
ADD _config.yml /app/
|
||||
ADD gulpfile.js /app/
|
||||
|
||||
# RUN apk update && apk add --virtual build-dependencies build-base
|
||||
RUN npm 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 [ "npm", "run", "start-plugins" ]
|
||||
FROM ruby:3.2-alpine
|
||||
|
||||
WORKDIR /app
|
||||
ADD _config.yml /app/
|
||||
ADD _config_prod.yml /app/
|
||||
ADD Gemfile /app/
|
||||
ADD Gemfile.lock /app/
|
||||
ADD package.json /app/
|
||||
ADD pnpm-lock.yaml /app/
|
||||
ADD gulpfile.js /app/
|
||||
|
||||
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" ]
|
||||
|
||||
89
Gemfile.lock
@@ -1,89 +0,0 @@
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
addressable (2.8.1)
|
||||
public_suffix (>= 2.0.2, < 6.0)
|
||||
coderay (1.1.3)
|
||||
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.2.2)
|
||||
addressable (~> 2.4)
|
||||
colorator (~> 1.0)
|
||||
em-websocket (~> 0.5)
|
||||
i18n (~> 1.0)
|
||||
jekyll-sass-converter (~> 2.0)
|
||||
jekyll-watch (~> 2.0)
|
||||
kramdown (~> 2.3)
|
||||
kramdown-parser-gfm (~> 1.0)
|
||||
liquid (~> 4.0)
|
||||
mercenary (~> 0.4.0)
|
||||
pathutil (~> 0.9)
|
||||
rouge (~> 3.0)
|
||||
safe_yaml (~> 1.0)
|
||||
terminal-table (~> 2.0)
|
||||
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)
|
||||
kramdown-syntax-coderay (1.0.1)
|
||||
coderay (~> 1.1)
|
||||
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.1)
|
||||
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 (2.0.0)
|
||||
unicode-display_width (~> 1.1, >= 1.1.1)
|
||||
unicode-display_width (1.8.0)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
|
||||
DEPENDENCIES
|
||||
jekyll (= 4.2.2)
|
||||
jekyll-random
|
||||
jekyll-redirect-from
|
||||
jekyll-tidy
|
||||
jekyll-timeago
|
||||
kramdown-syntax-coderay (~> 1.0)
|
||||
|
||||
BUNDLED WITH
|
||||
2.1.4
|
||||
2
LICENSE
@@ -1,6 +1,6 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2018-2021 The Tabler Authors
|
||||
Copyright (c) 2018-2023 The Tabler Authors
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
||||
39
README.md
@@ -22,7 +22,7 @@ A premium and open source dashboard template with a responsive and high-quality
|
||||
|
||||
## 🔎 Preview
|
||||
|
||||
Tabler is fully responsive and compatible with all modern browsers. Thanks to its modern, user-friendly design you can create a fully functional interface that users will love! Choose the layouts and components you need and customize them to make your design consistent and eye-catching. Every component has been created with attention to detail to make your interface beautiful! <a href="https://preview.tabler.io">Show me demo</a>
|
||||
Tabler is fully responsive and compatible with all modern browsers. Thanks to its modern and user-friendly design you can create a fully functional interface that users will love! Choose the layouts and components you need and customize them to make your design consistent and eye-catching. Every component has been created with attention to detail to make your interface beautiful! <a href="https://preview.tabler.io">Show me a demo</a>
|
||||
|
||||
<a href="https://preview.tabler.io" target="_blank"><img src="https://raw.githubusercontent.com/tabler/tabler/dev/src/static/tabler-preview.png" alt="Tabler preview"></a>
|
||||
|
||||
@@ -32,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+, latest 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!
|
||||
@@ -40,7 +40,9 @@ We've created this admin panel for everyone who wants to create templates based
|
||||
|
||||
## 📖 Documentation
|
||||
|
||||
Documentation is available as a part of Tabler preview: https://preview.tabler.io/docs/
|
||||
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
|
||||
|
||||
@@ -72,13 +74,13 @@ Support this project by becoming a sponsor. Your logo will show up in this READM
|
||||
To use our build system and run our documentation locally, you'll need a copy of Tabler's source files. Follow the steps below:
|
||||
|
||||
1. [Install Node.js](https://nodejs.org/download/), which we use to manage our dependencies.
|
||||
2. Navigate to the root `/tabler` directory and run `npm install` to install our local dependencies listed in `package.json`.
|
||||
2. Navigate to the root `/tabler` directory and run `pnpm install` to install our local dependencies listed in `package.json`.
|
||||
3. [Install Ruby](https://www.ruby-lang.org/en/documentation/installation/) - the recommended version is [2.7.6](https://cache.ruby-lang.org/pub/ruby/2.7/ruby-2.7.6.tar.gz).
|
||||
4. [Install Bundler](https://bundler.io) with `gem install bundler` and finally run `bundle install`. It will install all Ruby dependencies, such as [Jekyll and plugins](https://jekyllrb.com).
|
||||
|
||||
**OSX users**:
|
||||
|
||||
1. NPM ```npm install```
|
||||
1. NPM ```pnpm install```
|
||||
2. install Ruby (2.5.* recommended)
|
||||
```brew install ruby @2.5```
|
||||
3. install bundler
|
||||
@@ -105,17 +107,17 @@ Once you complete the setup, you'll be able to run the various commands provided
|
||||
|
||||
## Build locally
|
||||
|
||||
You need to have `npm` and `bundler` installed.
|
||||
You need to have `pnpm` and `bundler` installed.
|
||||
|
||||
1. From the root `/tabler` directory, run installation in the command line:
|
||||
- `npm install`
|
||||
- `pnpm install`
|
||||
- `bundler install`
|
||||
2. Then execute `npm run start-plugins` to start up the application stack.
|
||||
2. Then execute `pnpm run start-plugins` to start up the application stack.
|
||||
3. Open [http://localhost:3000](http://localhost:3000) in your browser, and voilà.
|
||||
4. Any change in the `/src` directory will build the application and refresh the page.
|
||||
|
||||
**Note**:
|
||||
Run `npm run build` for reforms a one off build application without refresh.
|
||||
Run `pnpm run build` for reforms a one off build application without refresh.
|
||||
Open [http://localhost:3001](http://localhost:3001) to configure the Web server.
|
||||
|
||||
## Installation
|
||||
@@ -193,12 +195,19 @@ 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.
|
||||
|
||||
## Contributors ✨
|
||||
|
||||
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
|
||||
|
||||
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
|
||||
<!-- prettier-ignore-start -->
|
||||
<!-- markdownlint-disable -->
|
||||
<!-- markdownlint-restore -->
|
||||
<!-- 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!
|
||||
|
||||
16
SECURITY.md
Normal file
@@ -0,0 +1,16 @@
|
||||
# Security Policy
|
||||
|
||||
We take security very seriously and ask that you follow the following process.
|
||||
|
||||
## Supported Versions
|
||||
|
||||
| Version | Supported |
|
||||
| ------- | ------------------ |
|
||||
| 1.0.x | :white_check_mark: |
|
||||
| 0.x | :x: |
|
||||
|
||||
## 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.
|
||||
Please make sure to use a descriptive title in the email.
|
||||
|
||||
229
_config.yml
@@ -1,229 +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.
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
collections:
|
||||
docs:
|
||||
output: true
|
||||
|
||||
defaults:
|
||||
- scope:
|
||||
type: "pages"
|
||||
path: "*.md"
|
||||
values:
|
||||
layout: markdown
|
||||
- scope:
|
||||
type: "pages"
|
||||
values:
|
||||
layout: default
|
||||
- scope:
|
||||
type: "docs"
|
||||
values:
|
||||
layout: docs
|
||||
|
||||
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']
|
||||
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 |