mirror of
https://github.com/tabler/tabler.git
synced 2025-12-22 01:44:25 +04:00
Compare commits
376 Commits
v1.0.0-bet
...
dev-css-la
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b639b0ea2c | ||
|
|
6674c2cf98 | ||
|
|
ef9d75f32f | ||
|
|
3e35545edc | ||
|
|
446c34eceb | ||
|
|
90285704e4 | ||
|
|
a7f73d7f7e | ||
|
|
d66c6a70eb | ||
|
|
ad54f61429 | ||
|
|
9007e73cb6 | ||
|
|
0d106a89b7 | ||
|
|
0d59e2f13a | ||
|
|
8850f6128f | ||
|
|
a1af8014e8 | ||
|
|
c8fee60023 | ||
|
|
d8c70a8b94 | ||
|
|
b70cb48e0b | ||
|
|
5b8746c702 | ||
|
|
f2c0c65f98 | ||
|
|
06021fad99 | ||
|
|
bd67b3f82e | ||
|
|
8e2acc82e0 | ||
|
|
85f212293d | ||
|
|
72a1d67709 | ||
|
|
638f36c0c5 | ||
|
|
f769abd70b | ||
|
|
3a02ef9c55 | ||
|
|
38ea9aa4e7 | ||
|
|
acbe4ff35f | ||
|
|
b5e2f54bf8 | ||
|
|
e2411b3518 | ||
|
|
44a1979b78 | ||
|
|
bccdeee779 | ||
|
|
5cb041275d | ||
|
|
27c866b3c3 | ||
|
|
c127d65605 | ||
|
|
f15d2b97f8 | ||
|
|
1f4906cc40 | ||
|
|
f8075f69c0 | ||
|
|
fd0fd47bb2 | ||
|
|
a41c9565f1 | ||
|
|
7fc1d5c11c | ||
|
|
222ddd4b2f | ||
|
|
ddd3753cde | ||
|
|
b9d434dcd4 | ||
|
|
6a3513f8e9 | ||
|
|
21bf92608d | ||
|
|
bb617b8dd2 | ||
|
|
5fa662bfae | ||
|
|
467c529fdc | ||
|
|
7773ff22b9 | ||
|
|
1867e0e482 | ||
|
|
67c9400918 | ||
|
|
7917f868e9 | ||
|
|
5619b2d8be | ||
|
|
9b15b942cb | ||
|
|
5b3e201d06 | ||
|
|
8470c9b315 | ||
|
|
dce63db1e6 | ||
|
|
278967b028 | ||
|
|
7082ea1c56 | ||
|
|
c42b104fe5 | ||
|
|
e546706f4c | ||
|
|
6d5e950235 | ||
|
|
665472cf69 | ||
|
|
468b055005 | ||
|
|
895f943270 | ||
|
|
3eaa90203b | ||
|
|
79bd867db5 | ||
|
|
e265681a48 | ||
|
|
cac5d92c7d | ||
|
|
b6e9b18ce9 | ||
|
|
849e286df0 | ||
|
|
b6ce7b8feb | ||
|
|
7b7265347c | ||
|
|
e675389871 | ||
|
|
b548430688 | ||
|
|
b45d85089e | ||
|
|
8f701859ad | ||
|
|
78c9c71365 | ||
|
|
5d8752eea0 | ||
|
|
6452669803 | ||
|
|
bf750451f1 | ||
|
|
83b11a8b35 | ||
|
|
42da37e737 | ||
|
|
0f335cda27 | ||
|
|
a6c24bb44f | ||
|
|
e975ea7e74 | ||
|
|
92ec44cf4a | ||
|
|
8da9fa869f | ||
|
|
67f3571a4f | ||
|
|
8710940952 | ||
|
|
7295678c34 | ||
|
|
a037e8e429 | ||
|
|
3da4395d10 | ||
|
|
f9f9663b2a | ||
|
|
a922c1f226 | ||
|
|
9069dcba54 | ||
|
|
7fbe4b5bc9 | ||
|
|
9ebd9f1d24 | ||
|
|
88b9e87c6e | ||
|
|
d4886607f0 | ||
|
|
1546e9ccc4 | ||
|
|
f25da87043 | ||
|
|
2ac915cd93 | ||
|
|
fa89c6fa73 | ||
|
|
c4d21a4666 | ||
|
|
baa6056c4c | ||
|
|
dc24132a7d | ||
|
|
8abd2a8d20 | ||
|
|
226f9bd202 | ||
|
|
255bea88b1 | ||
|
|
8525276984 | ||
|
|
f3182c6538 | ||
|
|
6d6d1bde4c | ||
|
|
2b6d6b184b | ||
|
|
5b2ee97aa7 | ||
|
|
681f7a5fed | ||
|
|
9910dd0dde | ||
|
|
8d4f8d07c3 | ||
|
|
199f39a52e | ||
|
|
94bea005a4 | ||
|
|
0d501e9017 | ||
|
|
00e9c06f11 | ||
|
|
52710a339a | ||
|
|
6c566cf7b1 | ||
|
|
523f288c8f | ||
|
|
864619201e | ||
|
|
f9e4da2fb0 | ||
|
|
c70806a9db | ||
|
|
44250db908 | ||
|
|
137e5be8f2 | ||
|
|
ffdf712f8a | ||
|
|
4846828f39 | ||
|
|
e8e3857b00 | ||
|
|
91b026507b | ||
|
|
f9013873b9 | ||
|
|
ddcd3a79e1 | ||
|
|
c20d076b74 | ||
|
|
042e50f979 | ||
|
|
e14e4921b5 | ||
|
|
d61cddb3d6 | ||
|
|
0accf60a63 | ||
|
|
d3daf7a5db | ||
|
|
8ac0742cc7 | ||
|
|
f94b153f7f | ||
|
|
74e5d26c20 | ||
|
|
9a9dedf1b4 | ||
|
|
e704a5a946 | ||
|
|
dd26b62607 | ||
|
|
9fceadd422 | ||
|
|
9c368702b4 | ||
|
|
3fc7b84fc4 | ||
|
|
b17b488c96 | ||
|
|
9bbcb99b90 | ||
|
|
215eaa4acb | ||
|
|
92a3afe492 | ||
|
|
19a3d20fad | ||
|
|
8cd7b186b7 | ||
|
|
be1f3d1c1f | ||
|
|
2f8a37252d | ||
|
|
d73d78e76f | ||
|
|
f84e88116c | ||
|
|
473fa3850b | ||
|
|
f336275476 | ||
|
|
982bc5a09b | ||
|
|
5fe99e0510 | ||
|
|
1527157bfe | ||
|
|
922bb0346a | ||
|
|
e3d68d6aab | ||
|
|
aea3b0a614 | ||
|
|
cd592b4743 | ||
|
|
c59bc9d977 | ||
|
|
bc443ff4aa | ||
|
|
afd024f0b1 | ||
|
|
d29b6f5675 | ||
|
|
6b6617aae6 | ||
|
|
636fed5fe9 | ||
|
|
d7f4f50986 | ||
|
|
6d0271ad57 | ||
|
|
f29c911032 | ||
|
|
01ee740535 | ||
|
|
7d5d9bc847 | ||
|
|
776a85cf1a | ||
|
|
ac10f55405 | ||
|
|
d0f45a41f8 | ||
|
|
16a42ba330 | ||
|
|
f7d5b6a05e | ||
|
|
4376968bca | ||
|
|
dee2b8ad64 | ||
|
|
2c9a4dfb37 | ||
|
|
e46fec5050 | ||
|
|
f3c409ffc2 | ||
|
|
309ff40a48 | ||
|
|
eea2d38f39 | ||
|
|
876bec9db3 | ||
|
|
f06cce0300 | ||
|
|
e1931f8c37 | ||
|
|
c240b5ad21 | ||
|
|
baafe08d6e | ||
|
|
cba487f5b7 | ||
|
|
edbaa1eddd | ||
|
|
378fba89f5 | ||
|
|
b0a62b7cf5 | ||
|
|
1415820cb1 | ||
|
|
81a8738823 | ||
|
|
417d0bc444 | ||
|
|
22e10d4dba | ||
|
|
57f6219f7c | ||
|
|
fbe3680142 | ||
|
|
c2b446c209 | ||
|
|
09844ab64b | ||
|
|
cea1c87c21 | ||
|
|
a2640e2147 | ||
|
|
9cd532745a | ||
|
|
063bdc28ab | ||
|
|
5d8392366c | ||
|
|
2d05b5d5d3 | ||
|
|
ca4ba14718 | ||
|
|
9755e1e9e9 | ||
|
|
954e42f9c0 | ||
|
|
b47815d530 | ||
|
|
1edaff454b | ||
|
|
b47725dcc2 | ||
|
|
b85ef1a95e | ||
|
|
eff95dc033 | ||
|
|
846c48d140 | ||
|
|
ee3862fcf4 | ||
|
|
2fe9e70b54 | ||
|
|
002528fadd | ||
|
|
ee5e25a52b | ||
|
|
bd3d959cea | ||
|
|
afd070012d | ||
|
|
d6a10938e3 | ||
|
|
f95f2509c7 | ||
|
|
3dea9de29c | ||
|
|
3b0623fc42 | ||
|
|
f38fac3508 | ||
|
|
b4b4d1a816 | ||
|
|
821a1c5405 | ||
|
|
1b0266e612 | ||
|
|
3320246d0f | ||
|
|
55f467c945 | ||
|
|
958ad128ad | ||
|
|
06c3b5dd65 | ||
|
|
cac2606016 | ||
|
|
bc3a8360a7 | ||
|
|
6b3bf15c4c | ||
|
|
76f5de44e7 | ||
|
|
24b944cbdc | ||
|
|
687267de38 | ||
|
|
ea144622a1 | ||
|
|
52fa8658ea | ||
|
|
ffa095f981 | ||
|
|
6b7a761fd4 | ||
|
|
3b85669999 | ||
|
|
ffaf92b67b | ||
|
|
78383ef568 | ||
|
|
cb278c762d | ||
|
|
117fbbb2d5 | ||
|
|
60699ed9c3 | ||
|
|
54f0802f72 | ||
|
|
c2afa77258 | ||
|
|
c079e646ef | ||
|
|
1394c3420c | ||
|
|
92275670f5 | ||
|
|
37af5425ff | ||
|
|
d40dc60cd8 | ||
|
|
11f4487286 | ||
|
|
0689fa2abf | ||
|
|
4268994034 | ||
|
|
8dffb4e345 | ||
|
|
bc5951b50d | ||
|
|
f8a7a13f6b | ||
|
|
b28ce9f2e8 | ||
|
|
a370919ebe | ||
|
|
09a7e10ef1 | ||
|
|
0afaaf2348 | ||
|
|
f04cf51047 | ||
|
|
eaa7f81604 | ||
|
|
ce98145fb2 | ||
|
|
d3ae77cf8b | ||
|
|
28131f42df | ||
|
|
06b1dec645 | ||
|
|
9a46a8fbf9 | ||
|
|
9237d12cac | ||
|
|
fd8b11822a | ||
|
|
1d73dc92b0 | ||
|
|
e563985c3d | ||
|
|
c0092e5124 | ||
|
|
40750e1cb7 | ||
|
|
e74d9dc326 | ||
|
|
71c68ce40a | ||
|
|
5ddda4bf5b | ||
|
|
ba65fc3694 | ||
|
|
e798eb623d | ||
|
|
38504e578a | ||
|
|
a30ac7d194 | ||
|
|
90cc74487b | ||
|
|
a5bf5d3e2d | ||
|
|
2c7c448108 | ||
|
|
2b42568ce7 | ||
|
|
063ef58515 | ||
|
|
5e2c975c99 | ||
|
|
782f0f5726 | ||
|
|
be69fd6c08 | ||
|
|
c8b263bc2b | ||
|
|
26e2fb08f7 | ||
|
|
12d5b05bcd | ||
|
|
9d5f7cacd3 | ||
|
|
875cafa474 | ||
|
|
0e4bf5fc73 | ||
|
|
c75cf55672 | ||
|
|
1c1d0c9d25 | ||
|
|
7aa216f666 | ||
|
|
1801e4161a | ||
|
|
78392b6b4b | ||
|
|
736410c616 | ||
|
|
e53942f4a6 | ||
|
|
d82f94e677 | ||
|
|
0e5b44af11 | ||
|
|
a685abe2b8 | ||
|
|
728816a52e | ||
|
|
233508195a | ||
|
|
9bf0824376 | ||
|
|
b9c3223e98 | ||
|
|
7c99f3aad4 | ||
|
|
06036f91cf | ||
|
|
093aff1b08 | ||
|
|
b0b07b94da | ||
|
|
5cca710ac6 | ||
|
|
86cab40faa | ||
|
|
f433d98fbe | ||
|
|
844d66f597 | ||
|
|
ef3b0b5742 | ||
|
|
6877a18a3a | ||
|
|
c510fdfb9d | ||
|
|
35da0ff9b8 | ||
|
|
ebca62fc2d | ||
|
|
df46ee7664 | ||
|
|
bc1d1a3066 | ||
|
|
041f4e453f | ||
|
|
2f622c986a | ||
|
|
5625adc659 | ||
|
|
e91884e38c | ||
|
|
5dc45aae1f | ||
|
|
17327dc8db | ||
|
|
3a4f10f936 | ||
|
|
4ae0358cf5 | ||
|
|
54c5ad09cd | ||
|
|
95c1130c5c | ||
|
|
3f651203a7 | ||
|
|
aef54b8b3f | ||
|
|
d4a317b646 | ||
|
|
c02b6d13ff | ||
|
|
96cc4cebb4 | ||
|
|
630552d171 | ||
|
|
a99f2b420a | ||
|
|
17ebdf4b64 | ||
|
|
4a9e40daf1 | ||
|
|
87bf2f5745 | ||
|
|
82cf257a5c | ||
|
|
9015472597 | ||
|
|
3a04567fba | ||
|
|
3d186004b2 | ||
|
|
bded6a46e6 | ||
|
|
9be6ea257c | ||
|
|
7ebb863fbd | ||
|
|
e6f2f2364f | ||
|
|
ce3e0168ee | ||
|
|
76708e090d | ||
|
|
7b056f9feb | ||
|
|
1ef711a3ff | ||
|
|
7d45f50335 | ||
|
|
3e25c49827 | ||
|
|
0377c80c58 |
@@ -1,11 +1,6 @@
|
|||||||
>= 1%
|
>= 1%
|
||||||
last 1 major version
|
last 2 versions
|
||||||
|
Firefox ESR
|
||||||
not dead
|
not dead
|
||||||
Chrome >= 60
|
safari >= 15.4
|
||||||
Firefox >= 60
|
iOS >= 15.4
|
||||||
Edge >= 15.15063
|
|
||||||
Explorer 11
|
|
||||||
iOS >= 10
|
|
||||||
Safari >= 10
|
|
||||||
Android >= 6
|
|
||||||
not ExplorerMobile <= 11
|
|
||||||
|
|||||||
@@ -1,58 +0,0 @@
|
|||||||
#!/usr/bin/env node
|
|
||||||
|
|
||||||
'use strict'
|
|
||||||
|
|
||||||
const YAML = require('yaml')
|
|
||||||
const fs = require('node:fs')
|
|
||||||
const path = require('node:path')
|
|
||||||
const request = require('request')
|
|
||||||
const filePath = path.join(__dirname, '../src/pages/_data/photos.yml')
|
|
||||||
|
|
||||||
const photos = YAML.parse(fs.readFileSync(filePath, 'utf8'))
|
|
||||||
|
|
||||||
const urlTitle = (str) => {
|
|
||||||
str = str
|
|
||||||
.toLowerCase()
|
|
||||||
.replaceAll('&', 'and')
|
|
||||||
.replace(/[^[a-z0-9-]/g, '-')
|
|
||||||
.replace(/-+/g, '-')
|
|
||||||
|
|
||||||
return str
|
|
||||||
}
|
|
||||||
|
|
||||||
const download = function(uri, filename, callback, error) {
|
|
||||||
request.head(uri, function(err, res, body) {
|
|
||||||
request(uri).pipe(fs.createWriteStream(filename))
|
|
||||||
.on('close', callback)
|
|
||||||
.on('error', error)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
async function downloadPhotos() {
|
|
||||||
for (const key in photos) {
|
|
||||||
const photo = photos[key]
|
|
||||||
|
|
||||||
let filename, i = 1;
|
|
||||||
|
|
||||||
do {
|
|
||||||
filename = `${urlTitle(photo['title'])}${i > 1 ? `-${i}` : ''}.jpg`
|
|
||||||
i++
|
|
||||||
} while (fs.existsSync(path.join(__dirname, `../src/static/photos/${filename}`)))
|
|
||||||
|
|
||||||
await new Promise((resolve, reject) => {
|
|
||||||
download(photo['path'], path.join(__dirname, `../src/static/photos/${filename}`), function(){
|
|
||||||
resolve()
|
|
||||||
}, function() {
|
|
||||||
reject()
|
|
||||||
});
|
|
||||||
})
|
|
||||||
|
|
||||||
photos[key]['file'] = filename
|
|
||||||
photos[key]['horizontal'] = photo['width'] > photo['height']
|
|
||||||
}
|
|
||||||
|
|
||||||
fs.writeFileSync(filePath, YAML.stringify(photos))
|
|
||||||
}
|
|
||||||
|
|
||||||
downloadPhotos();
|
|
||||||
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
#!/usr/bin/env node
|
|
||||||
|
|
||||||
'use strict'
|
|
||||||
|
|
||||||
const fs = require('fs'),
|
|
||||||
path = require('path');
|
|
||||||
|
|
||||||
const iconsTags = require('../node_modules/@tabler/icons/icons.json'),
|
|
||||||
iconsPkg = require('../node_modules/@tabler/icons/package.json');
|
|
||||||
|
|
||||||
const prepareSvgFile = (svg) => {
|
|
||||||
return svg.replace(/\n/g, '').replace(/>\s+</g, '><').replace(/\s+/g, ' ')
|
|
||||||
}
|
|
||||||
|
|
||||||
let svgList = {}
|
|
||||||
for (let iconName in iconsTags) {
|
|
||||||
let iconData = iconsTags[iconName]
|
|
||||||
svgList[iconName] = {
|
|
||||||
name: iconName,
|
|
||||||
svg: {
|
|
||||||
outline: iconData.styles.outline ? prepareSvgFile(fs.readFileSync(path.join(__dirname, `../node_modules/@tabler/icons/icons/outline/${iconName}.svg`), 'utf8')) : null,
|
|
||||||
filled: iconData.styles.filled ? prepareSvgFile(fs.readFileSync(path.join(__dirname, `../node_modules/@tabler/icons/icons/filled/${iconName}.svg`), 'utf8')) : null,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fs.writeFileSync(
|
|
||||||
path.join(__dirname, `../src/pages/_data/icons-info.json`),
|
|
||||||
JSON.stringify({
|
|
||||||
version: iconsPkg.version,
|
|
||||||
count: Object.values(svgList).reduce((acc, icon) => {
|
|
||||||
return acc + (icon.svg.outline ? 1 : 0) + (icon.svg.filled ? 1 : 0)
|
|
||||||
}, 0)
|
|
||||||
})
|
|
||||||
)
|
|
||||||
|
|
||||||
fs.writeFileSync(path.join(__dirname, `../src/pages/_data/icons.json`), JSON.stringify(svgList))
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
#!/usr/bin/env node
|
|
||||||
|
|
||||||
'use strict'
|
|
||||||
|
|
||||||
const fs = require('fs'),
|
|
||||||
path = require('path'),
|
|
||||||
glob = require('glob');
|
|
||||||
|
|
||||||
const illustrations = glob
|
|
||||||
.sync(path.join(__dirname, `../src/static/illustrations/light/*.png`))
|
|
||||||
.map((file) => {
|
|
||||||
return path.basename(file, '.png')
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
fs.writeFileSync(
|
|
||||||
path.join(__dirname, `../src/pages/_data/illustrations.json`),
|
|
||||||
JSON.stringify(illustrations)
|
|
||||||
)
|
|
||||||
63
.build/reformat-mdx.mjs
Normal file
63
.build/reformat-mdx.mjs
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
#!/usr/bin/env node
|
||||||
|
|
||||||
|
'use strict'
|
||||||
|
|
||||||
|
import { readFileSync, writeFileSync } from 'node:fs';
|
||||||
|
import { join, dirname } from 'node:path';
|
||||||
|
import { fileURLToPath } from 'node:url'
|
||||||
|
import { sync } from 'glob';
|
||||||
|
import * as prettier from "prettier";
|
||||||
|
|
||||||
|
const __dirname = dirname(fileURLToPath(import.meta.url))
|
||||||
|
|
||||||
|
const docs = sync(join(__dirname, '..', 'docs', '**', '*.md'))
|
||||||
|
|
||||||
|
async function formatHTML(htmlString) {
|
||||||
|
try {
|
||||||
|
const formattedHtml = await prettier.format(htmlString, {
|
||||||
|
parser: "html",
|
||||||
|
printWidth: 100,
|
||||||
|
});
|
||||||
|
return formattedHtml;
|
||||||
|
} catch (error) {
|
||||||
|
console.error("Error formatting HTML:", error);
|
||||||
|
return htmlString; // Return original in case of an error
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async function replaceAsync(str, regex, asyncFn) {
|
||||||
|
const matches = [...str.matchAll(regex)];
|
||||||
|
|
||||||
|
const replacements = await Promise.all(
|
||||||
|
matches.map(async (match) => asyncFn(...match))
|
||||||
|
);
|
||||||
|
|
||||||
|
let result = str;
|
||||||
|
matches.forEach((match, i) => {
|
||||||
|
result = result.replace(match[0], replacements[i]);
|
||||||
|
});
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (const file of docs) {
|
||||||
|
const oldContent = readFileSync(file, 'utf8')
|
||||||
|
|
||||||
|
// get codeblocks from markdown
|
||||||
|
const content = await replaceAsync(oldContent, /(```([a-z0-9]+).*?\n)(.*?)(```)/gs, async (m, m1, m2, m3, m4) => {
|
||||||
|
if (m2 === 'html') {
|
||||||
|
m3 = await formatHTML(m3);
|
||||||
|
|
||||||
|
// remove empty lines
|
||||||
|
m3 = m3.replace(/^\s*[\r\n]/gm, '');
|
||||||
|
|
||||||
|
return m1 + m3.trim() + "\n" + m4;
|
||||||
|
}
|
||||||
|
return m.trim();
|
||||||
|
})
|
||||||
|
|
||||||
|
if (content !== oldContent) {
|
||||||
|
writeFileSync(file, content, 'utf8')
|
||||||
|
console.log(`Reformatted ${file}`)
|
||||||
|
}
|
||||||
|
}
|
||||||
30
.build/zip-package.mjs
Normal file
30
.build/zip-package.mjs
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
#!/usr/bin/env node
|
||||||
|
|
||||||
|
import AdmZip from 'adm-zip';
|
||||||
|
import path from 'path';
|
||||||
|
import { fileURLToPath } from 'url';
|
||||||
|
import { readFileSync } from 'fs';
|
||||||
|
|
||||||
|
// Get __dirname in ESM
|
||||||
|
const __dirname = path.dirname(fileURLToPath(import.meta.url))
|
||||||
|
|
||||||
|
const pkg = JSON.parse(
|
||||||
|
readFileSync(path.join(__dirname, '../core', 'package.json'), 'utf8')
|
||||||
|
)
|
||||||
|
|
||||||
|
// Create zip instance and add folder
|
||||||
|
const zip = new AdmZip();
|
||||||
|
zip.addLocalFolder(path.join(__dirname, '../preview/dist'), 'dashboard');
|
||||||
|
|
||||||
|
zip.addLocalFile(path.join(__dirname, '../preview/static', 'og.png'), '.', 'preview.png');
|
||||||
|
|
||||||
|
zip.addFile("documentation.url", Buffer.from("[InternetShortcut]\nURL = https://tabler.io/docs"));
|
||||||
|
|
||||||
|
|
||||||
|
// Folder to zip and output path
|
||||||
|
const outputZipPath = path.join(__dirname, '../packages-zip', `tabler-${pkg.version}.zip`);
|
||||||
|
|
||||||
|
// Write the zip file
|
||||||
|
zip.writeZip(outputZipPath);
|
||||||
|
|
||||||
|
console.log(`Zipped folder to ${outputZipPath}`);
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Change Twitter to X brand
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Updated link to icons documentation
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Dependencies update
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Automatically retrieve and display the changelog from the CHANGELOG.md file.
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Initialize Visual Studio Code config
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Make horizontal rule direction aware
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": minor
|
|
||||||
---
|
|
||||||
|
|
||||||
Add new `Tag` component
|
|
||||||
@@ -3,9 +3,18 @@
|
|||||||
"changelog": "@changesets/cli/changelog",
|
"changelog": "@changesets/cli/changelog",
|
||||||
"commit": false,
|
"commit": false,
|
||||||
"fixed": [],
|
"fixed": [],
|
||||||
"linked": [],
|
"linked": [
|
||||||
"access": "restricted",
|
[
|
||||||
"baseBranch": "main",
|
"@tabler/core",
|
||||||
"updateInternalDependencies": "patch",
|
"@tabler/preview",
|
||||||
"ignore": []
|
"@tabler/docs"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"access": "public",
|
||||||
|
"baseBranch": "dev",
|
||||||
|
"ignore": [],
|
||||||
|
"privatePackages": {
|
||||||
|
"version": true,
|
||||||
|
"tag": false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": minor
|
|
||||||
---
|
|
||||||
|
|
||||||
Add customizable Star Ratings component using `star-rating.js` library
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Dependencies update
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Update TinyMCE to v7.0
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Fix text color in dark version of navbar
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Update Tabler Icons to version 2.21 with 18 new icons added
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Update Tabler Emails to v2.0
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Init changelog script
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": minor
|
|
||||||
---
|
|
||||||
|
|
||||||
Add `flags.html` page with list of all flags
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Adding Two-Step Verification Pages
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Replace `.page-center` with `.my-auto` in single page layouts
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Fix icon display issues in the Star Ratings component
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": minor
|
|
||||||
---
|
|
||||||
|
|
||||||
Update CSS class from `text-muted` to `text-secondary` for better Bootstrap compatibility
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Bump pnpm/action-setup from 2 to 3
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
`Dockerfile` fix
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Update Tabler Icons to version 2.20 with 37 new icons added
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Add Tabler Illustrations
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": minor
|
|
||||||
---
|
|
||||||
|
|
||||||
Adding `alerts.html` page with example of alerts.
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Unify size of avatar, flag and payment components
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Update icons to v2.42.0
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Update Bootstrap to v5.3.0
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Dependencies update
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Fix `rgba` color values in `_variables.scss`
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Resolve map page issues
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Improve base font family loading
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Introduce Docker Compose Config to build and run Ttabler locally
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Fix `@charset` CSS declaration in bundle.
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Update `_navbar.scss` with disabled dropdown menu items color
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Update Tabler Icons to v3.17.0
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Update `@tabler/icons` to v3.0
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Adding punctuation to `SECURITY.md`
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Fix form controls bugs in dark mode
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Fix padding in code blocks
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": minor
|
|
||||||
---
|
|
||||||
|
|
||||||
Change primary color value to new Tabler branding
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Unified Box Shadows with Bootstrap Compatibility
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": minor
|
|
||||||
---
|
|
||||||
|
|
||||||
Unify dark mode with latest Bootstrap API and improve dark mode elements
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Bump `pnpm/action-setup` from 3 to 4
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Update dependencies
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Update Tabler Icons to version 2.22 with 18 new icons added
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Add All Contributions package to project for easy contribution tracking
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Resolved light dropdown issue on dark theme
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": minor
|
|
||||||
---
|
|
||||||
|
|
||||||
New Chat component
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Update Tabler Icons to version 2.19 with 18 new icons added
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": minor
|
|
||||||
---
|
|
||||||
|
|
||||||
Adjusting form element sizes for enhanced mobile devices compatibility
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Fix cells with inline icons
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Fix the `z-index` value of the `nav-tab` inside `card-tab` #1933
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Switch from `npm` to `pnpm` for faster package installation
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Add variable to configure `avatar-list` spacing
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Add Tabler Illustrations
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Update required Node.js version to 18 and add `.nvmrc` file
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Fix table default background color
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Avoid SCSS color dependency on `:focus`
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Update Tabler Icons to v3.26.0
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Updated Tabler Icons to v3.24.0
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Update Tabler Icons to version 2.18 with 18 new icons added
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Update Tabler Icons to v3.14.0
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Add Prettier to project for consistent code formatting
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Upgrade Node.js from version 18 to version 20 for improved performance, security, and feature updates.
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Update Tabler Icons to version 2.25 with 48 new icons added
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": minor
|
|
||||||
---
|
|
||||||
|
|
||||||
Add new color picker component using `coloris.js` library
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Fix responsiveness issue in Settings menu
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Add new Filled section to Icons page
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Update `bootstrap` to v5.3.1
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": minor
|
|
||||||
---
|
|
||||||
|
|
||||||
Update Tabler Icons to version 2.23 with 18 new icons added
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": minor
|
|
||||||
---
|
|
||||||
|
|
||||||
New page with payment providers: `payment-providers.html`
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": minor
|
|
||||||
---
|
|
||||||
|
|
||||||
Add support for new payment providers: 2c2p, Adyen, Affirm, Alipay Plus, Allegro Pay, Amazon Pay, Apple Pay, Autopay, Binance USD, Bkash, Cash App, Chime, EasyPaisa, Ethereum, Google Pay, HubSpot, iDeal, Litecoin, Mercado Pago, MetaMask, MoneyGram, OpenSea, Payconiq, Payka, Payline, PayPo, Paysafe, Poli, Revolut Pay, Samsung Pay, Shop Pay, Solana, Spingo, Stax, Tether, True USD, Venmo, WeChat Pay, Wise, Zelle
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Add support for changeset tool for more efficient and organized code changes
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
"@tabler/core": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Fix colors in date range datepicker
|
|
||||||
67
.github/workflows/argos.yml
vendored
Normal file
67
.github/workflows/argos.yml
vendored
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
name: Argos Tests
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- dev
|
||||||
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- 'preview/**/*.js'
|
||||||
|
- 'preview/**/*.html'
|
||||||
|
- 'preview/**/*.scss'
|
||||||
|
- 'core/**/*.js'
|
||||||
|
- 'core/**/*.scss'
|
||||||
|
|
||||||
|
env:
|
||||||
|
NODE: 20
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
timeout-minutes: 60
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
# if: github.event.pull_request.draft == false
|
||||||
|
if: false
|
||||||
|
steps:
|
||||||
|
- name: Clone repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Cache turbo build setup
|
||||||
|
uses: actions/cache@v4
|
||||||
|
with:
|
||||||
|
path: .turbo
|
||||||
|
key: ${{ runner.os }}-turbo-${{ github.sha }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-turbo-
|
||||||
|
|
||||||
|
- name: Set up Node.js
|
||||||
|
uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
node-version: "${{ env.NODE }}"
|
||||||
|
|
||||||
|
- name: Install PNPM
|
||||||
|
uses: pnpm/action-setup@v4
|
||||||
|
|
||||||
|
- name: Get installed Playwright version
|
||||||
|
id: playwright-version
|
||||||
|
run: echo "PLAYWRIGHT_VERSION=$(node -e "console.log(require('./package.json').devDependencies['@playwright/test'])")" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Cache playwright binaries
|
||||||
|
uses: actions/cache@v4
|
||||||
|
id: playwright-cache
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
~/.cache/ms-playwright
|
||||||
|
key: ${{ runner.os }}-playwright-${{ env.PLAYWRIGHT_VERSION }}
|
||||||
|
|
||||||
|
- name: Install pnpm dependencies
|
||||||
|
run: pnpm install
|
||||||
|
|
||||||
|
- name: Install Playwright Browsers
|
||||||
|
run: pnpm exec playwright install --with-deps
|
||||||
|
if: steps.playwright-cache.outputs.cache-hit != 'true'
|
||||||
|
|
||||||
|
- name: Run Playwright tests
|
||||||
|
run: pnpm run playwright
|
||||||
13
.github/workflows/bundlewatch.yml
vendored
13
.github/workflows/bundlewatch.yml
vendored
@@ -19,6 +19,14 @@ jobs:
|
|||||||
- name: Clone repository
|
- name: Clone repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Cache turbo build setup
|
||||||
|
uses: actions/cache@v4
|
||||||
|
with:
|
||||||
|
path: .turbo
|
||||||
|
key: ${{ runner.os }}-turbo-${{ github.sha }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-turbo-
|
||||||
|
|
||||||
- name: Set up Node.js
|
- name: Set up Node.js
|
||||||
uses: actions/setup-node@v4
|
uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
@@ -26,8 +34,6 @@ jobs:
|
|||||||
|
|
||||||
- name: Install PNPM
|
- name: Install PNPM
|
||||||
uses: pnpm/action-setup@v4
|
uses: pnpm/action-setup@v4
|
||||||
with:
|
|
||||||
version: 8
|
|
||||||
|
|
||||||
- name: Set up Bundler
|
- name: Set up Bundler
|
||||||
uses: ruby/setup-ruby@v1
|
uses: ruby/setup-ruby@v1
|
||||||
@@ -38,9 +44,6 @@ jobs:
|
|||||||
- name: Install pnpm dependencies
|
- name: Install pnpm dependencies
|
||||||
run: pnpm install --no-frozen-lockfile
|
run: pnpm install --no-frozen-lockfile
|
||||||
|
|
||||||
- name: Run build
|
|
||||||
run: pnpm run build
|
|
||||||
|
|
||||||
- name: Run bundlewatch
|
- name: Run bundlewatch
|
||||||
run: pnpm run bundlewatch
|
run: pnpm run bundlewatch
|
||||||
env:
|
env:
|
||||||
|
|||||||
5
.github/workflows/lockfiles.yaml
vendored
5
.github/workflows/lockfiles.yaml
vendored
@@ -1,6 +1,7 @@
|
|||||||
name: Changed lock files
|
name: Changed lock files
|
||||||
on:
|
on:
|
||||||
pull_request: null
|
pull_request_target:
|
||||||
|
types: [opened, reopened]
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
pull-requests: read
|
pull-requests: read
|
||||||
@@ -14,7 +15,7 @@ jobs:
|
|||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Prevent lock file change
|
- name: Prevent lock file change
|
||||||
uses: xalvarez/prevent-file-change-action@v1
|
uses: xalvarez/prevent-file-change-action@v2
|
||||||
with:
|
with:
|
||||||
githubToken: ${{ secrets.GITHUB_TOKEN }}
|
githubToken: ${{ secrets.GITHUB_TOKEN }}
|
||||||
pattern: Gemfile.lock|pnpm-lock.json
|
pattern: Gemfile.lock|pnpm-lock.json
|
||||||
|
|||||||
27
.github/workflows/release.yml
vendored
27
.github/workflows/release.yml
vendored
@@ -3,7 +3,7 @@ name: Release
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- dev
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -15,6 +15,10 @@ jobs:
|
|||||||
release:
|
release:
|
||||||
name: Release
|
name: Release
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
contents: write # to create release
|
||||||
|
issues: write # to post issue comments
|
||||||
|
pull-requests: write # to create pull request
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Repo
|
- name: Checkout Repo
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
@@ -26,24 +30,21 @@ jobs:
|
|||||||
|
|
||||||
- name: Install PNPM
|
- name: Install PNPM
|
||||||
uses: pnpm/action-setup@v4
|
uses: pnpm/action-setup@v4
|
||||||
with:
|
|
||||||
version: 8
|
|
||||||
|
|
||||||
- name: Install Dependencies
|
- name: Install Dependencies
|
||||||
run: pnpm install
|
run: pnpm install
|
||||||
|
|
||||||
- name: Creating .npmrc
|
- name: Build
|
||||||
run: |
|
run: pnpm run build
|
||||||
cat << EOF > "$HOME/.npmrc"
|
|
||||||
//registry.npmjs.org/:_authToken=$NPM_TOKEN
|
|
||||||
EOF
|
|
||||||
env:
|
|
||||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
||||||
|
|
||||||
- name: Create Release Pull Request
|
- name: Create release Pull Request or publish to NPM
|
||||||
uses: changesets/action@v1
|
uses: changesets/action@v1
|
||||||
with:
|
with:
|
||||||
publish: pnpm release
|
version: pnpm run version
|
||||||
|
publish: pnpm run publish
|
||||||
|
commit: "chore: update versions"
|
||||||
|
title: "chore: update versions"
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||||
|
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||||
20
.github/workflows/test.yml
vendored
20
.github/workflows/test.yml
vendored
@@ -1,8 +1,7 @@
|
|||||||
name: Test build
|
name: Test build
|
||||||
|
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request: null
|
||||||
types: [ opened, reopened ]
|
|
||||||
|
|
||||||
env:
|
env:
|
||||||
NODE: 20
|
NODE: 20
|
||||||
@@ -17,6 +16,14 @@ jobs:
|
|||||||
- name: Clone repository
|
- name: Clone repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Cache turbo build setup
|
||||||
|
uses: actions/cache@v4
|
||||||
|
with:
|
||||||
|
path: .turbo
|
||||||
|
key: ${{ runner.os }}-turbo-${{ github.sha }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-turbo-
|
||||||
|
|
||||||
- name: Set up Node.js
|
- name: Set up Node.js
|
||||||
uses: actions/setup-node@v4
|
uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
@@ -24,16 +31,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Install PNPM
|
- name: Install PNPM
|
||||||
uses: pnpm/action-setup@v4
|
uses: pnpm/action-setup@v4
|
||||||
with:
|
|
||||||
version: 8
|
|
||||||
|
|
||||||
- name: Set up Ruby
|
|
||||||
uses: ruby/setup-ruby@v1
|
|
||||||
with:
|
|
||||||
ruby-version: 3.2
|
|
||||||
bundler-cache: true
|
|
||||||
|
|
||||||
- run: ruby --version
|
|
||||||
- run: node --version
|
- run: node --version
|
||||||
|
|
||||||
- name: Install pnpm dependencies
|
- name: Install pnpm dependencies
|
||||||
|
|||||||
13
.gitignore
vendored
13
.gitignore
vendored
@@ -19,16 +19,21 @@ node_modules/
|
|||||||
/svg-tmp/
|
/svg-tmp/
|
||||||
/components/
|
/components/
|
||||||
/percy.sh
|
/percy.sh
|
||||||
/src/pages/playground.html
|
/preview/pages/playground.html
|
||||||
/src/pages/playground-*.html
|
/preview/pages/screenshot.html
|
||||||
/src/pages/features.html
|
/preview/pages/screenshot-*.html
|
||||||
|
/preview/pages/playground-*.html
|
||||||
|
/preview/pages/features.html
|
||||||
|
|
||||||
.pnp.loader.mjs
|
.pnp.loader.mjs
|
||||||
.pnp.cjs
|
.pnp.cjs
|
||||||
.yarn
|
.yarn
|
||||||
.next
|
.next
|
||||||
.vercel
|
.vercel
|
||||||
|
.turbo
|
||||||
package-lock.json
|
package-lock.json
|
||||||
|
|
||||||
demo/
|
demo/
|
||||||
dist/
|
dist/
|
||||||
|
packages-zip/
|
||||||
|
.env
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"bracketSpacing": true,
|
"bracketSpacing": true,
|
||||||
"jsxSingleQuote": false,
|
"jsxSingleQuote": false,
|
||||||
"printWidth": 240,
|
"printWidth": 320,
|
||||||
"proseWrap": "always",
|
"proseWrap": "always",
|
||||||
"semi": false,
|
"semi": false,
|
||||||
"singleQuote": false,
|
"singleQuote": false,
|
||||||
|
|||||||
16
.vscode/settings.json
vendored
16
.vscode/settings.json
vendored
@@ -1,14 +1,12 @@
|
|||||||
{
|
{
|
||||||
"files.exclude": {
|
"files.exclude": {
|
||||||
"**/.git": false,
|
"**/.git": true,
|
||||||
"**/.svn": false,
|
"**/.svn": true,
|
||||||
"**/.hg": false,
|
"**/.hg": true,
|
||||||
"**/CVS": false,
|
"**/CVS": true,
|
||||||
"**/.DS_Store": false,
|
"**/.DS_Store": true,
|
||||||
"**/Thumbs.db": false,
|
"**/Thumbs.db": true,
|
||||||
"**/.idea/": false,
|
"**/.idea/": true
|
||||||
"dist": false,
|
|
||||||
"demo": false
|
|
||||||
},
|
},
|
||||||
"explorerExclude.backup": {}
|
"explorerExclude.backup": {}
|
||||||
}
|
}
|
||||||
314
CHANGELOG.md
314
CHANGELOG.md
@@ -1,314 +0,0 @@
|
|||||||
# Changelog
|
|
||||||
|
|
||||||
## `1.0.0-beta20` - 2023-08-24
|
|
||||||
|
|
||||||
- Update `bootstrap` to v5.3.1
|
|
||||||
- Add new `Chat` component
|
|
||||||
- Add new `Tag` component
|
|
||||||
- Add customizable Star Ratings component using `star-rating.js` library
|
|
||||||
- Add new color picker component using `coloris.js` library
|
|
||||||
- Add `alerts.html` page with example of alerts.
|
|
||||||
- Add `flags.html` page with list of all flags
|
|
||||||
- Add Two-Step Verification Pages
|
|
||||||
- Add variable to configure `avatar-list` spacing
|
|
||||||
- Unify dark mode with latest Bootstrap API and improve dark mode elements
|
|
||||||
- Unify Box Shadows with Bootstrap Compatibility
|
|
||||||
- Avoid SCSS color dependency on `:focus`
|
|
||||||
- Update CSS class from `text-muted` to `text-secondary` for better Bootstrap compatibility
|
|
||||||
- Fix text color in dark version of navbar
|
|
||||||
- Adjusting form element sizes for enhanced mobile devices compatibility
|
|
||||||
- Resolved light dropdown issue on dark theme
|
|
||||||
- Update Tabler Icons to version 2.32 with 48 new icons added
|
|
||||||
- Fix table default background color
|
|
||||||
- Fix responsiveness issue in Settings menu
|
|
||||||
- Update required Node.js version to 18 and add `.nvmrc` file
|
|
||||||
- Add support for changeset tool for more efficient and organized code changes
|
|
||||||
- `Dockerfile` fix
|
|
||||||
- Switch from `npm` to `pnpm` for faster package installation
|
|
||||||
|
|
||||||
|
|
||||||
## `1.0.0-beta19` - 2023-05-15
|
|
||||||
|
|
||||||
- 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-beta18` - 2023-05-14
|
|
||||||
|
|
||||||
- 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-beta17` - 2023-01-28
|
|
||||||
|
|
||||||
- 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-beta16` - 2022-11-12
|
|
||||||
|
|
||||||
- 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-beta15` - 2022-11-01
|
|
||||||
|
|
||||||
- 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 atributes 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-beta14` - 2022-10-21
|
|
||||||
|
|
||||||
- fix active items in dark mode
|
|
||||||
- update Jekyll to newest version
|
|
||||||
|
|
||||||
|
|
||||||
## `1.0.0-beta13` - 2022-10-18
|
|
||||||
|
|
||||||
- update Bootstrap to 5.2.1, update dependencies
|
|
||||||
- new `tracking` component
|
|
||||||
- new radio button version of `form-imagecheck`
|
|
||||||
- update icons to v1.105.0
|
|
||||||
- dark mode improvements
|
|
||||||
- corrects the spelling of New Zealand (#1318)
|
|
||||||
- remove `$border-color-dark`
|
|
||||||
- fix #1301 - code snippets in docs look bad in dark mode
|
|
||||||
- fix #1305 - different default link color for dark mode
|
|
||||||
- fix popover background in dark mode
|
|
||||||
- fix button default border color
|
|
||||||
- fix `form-imagecheck` bg in dark mode
|
|
||||||
- navbar logo fix
|
|
||||||
- move card ribbons config to variables
|
|
||||||
- navbar border fix
|
|
||||||
- dark mode active fix
|
|
||||||
- using globalThis instead of window (#1315)
|
|
||||||
- fix #1210 - lastmod not generated for pages in `sitemap.xml`
|
|
||||||
- fix card border in dark mode
|
|
||||||
- fix #895 - background color overwrites background image
|
|
||||||
- fix #1302 - wrong card header in dark mode
|
|
||||||
- fix #1303 - wrong color when hovering over `selectgroup` in dark mode
|
|
||||||
- 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
|
|
||||||
|
|
||||||
|
|
||||||
## `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.
|
|
||||||
@@ -3,8 +3,6 @@ FROM ruby:3.2-alpine
|
|||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
ADD _config.yml /app/
|
ADD _config.yml /app/
|
||||||
ADD _config_prod.yml /app/
|
ADD _config_prod.yml /app/
|
||||||
ADD Gemfile /app/
|
|
||||||
ADD Gemfile.lock /app/
|
|
||||||
ADD package.json /app/
|
ADD package.json /app/
|
||||||
ADD pnpm-lock.yaml /app/
|
ADD pnpm-lock.yaml /app/
|
||||||
ADD gulpfile.js /app/
|
ADD gulpfile.js /app/
|
||||||
@@ -13,11 +11,10 @@ RUN apk add --virtual build-dependencies build-base npm
|
|||||||
RUN apk upgrade
|
RUN apk upgrade
|
||||||
RUN npm i -g pnpm
|
RUN npm i -g pnpm
|
||||||
RUN pnpm install
|
RUN pnpm install
|
||||||
RUN bundle config --global silence_root_warning 1 && bundler install --verbose
|
|
||||||
|
|
||||||
# website
|
# website
|
||||||
EXPOSE 3000
|
EXPOSE 3000
|
||||||
# website management (browser auto reload)
|
# website management (browser auto reload)
|
||||||
EXPOSE 3001
|
EXPOSE 3001
|
||||||
# run tabler
|
# run tabler
|
||||||
ENTRYPOINT [ "pnpm", "run", "start-plugins" ]
|
ENTRYPOINT [ "pnpm", "run", "start" ]
|
||||||
|
|||||||
14
Gemfile
14
Gemfile
@@ -1,14 +0,0 @@
|
|||||||
source "https://rubygems.org"
|
|
||||||
|
|
||||||
gem "jekyll", "4.3.3"
|
|
||||||
|
|
||||||
group :jekyll_plugins do
|
|
||||||
gem "jekyll-random"
|
|
||||||
gem "jekyll-tidy"
|
|
||||||
gem "jekyll-timeago"
|
|
||||||
gem 'jekyll-redirect-from'
|
|
||||||
end
|
|
||||||
|
|
||||||
gem 'wdm', '>= 0.1.1' if Gem.win_platform?
|
|
||||||
|
|
||||||
|
|
||||||
99
Gemfile.lock
99
Gemfile.lock
@@ -1,99 +0,0 @@
|
|||||||
GEM
|
|
||||||
remote: https://rubygems.org/
|
|
||||||
specs:
|
|
||||||
addressable (2.8.7)
|
|
||||||
public_suffix (>= 2.0.2, < 7.0)
|
|
||||||
bigdecimal (3.1.9)
|
|
||||||
colorator (1.1.0)
|
|
||||||
concurrent-ruby (1.3.4)
|
|
||||||
em-websocket (0.5.3)
|
|
||||||
eventmachine (>= 0.12.9)
|
|
||||||
http_parser.rb (~> 0)
|
|
||||||
eventmachine (1.2.7)
|
|
||||||
ffi (1.17.1)
|
|
||||||
ffi (1.17.1-arm64-darwin)
|
|
||||||
forwardable-extended (2.6.0)
|
|
||||||
google-protobuf (4.29.2)
|
|
||||||
bigdecimal
|
|
||||||
rake (>= 13)
|
|
||||||
google-protobuf (4.29.2-arm64-darwin)
|
|
||||||
bigdecimal
|
|
||||||
rake (>= 13)
|
|
||||||
htmlbeautifier (1.4.3)
|
|
||||||
htmlcompressor (0.4.0)
|
|
||||||
http_parser.rb (0.8.0)
|
|
||||||
i18n (1.14.6)
|
|
||||||
concurrent-ruby (~> 1.0)
|
|
||||||
jekyll (4.3.3)
|
|
||||||
addressable (~> 2.4)
|
|
||||||
colorator (~> 1.0)
|
|
||||||
em-websocket (~> 0.5)
|
|
||||||
i18n (~> 1.0)
|
|
||||||
jekyll-sass-converter (>= 2.0, < 4.0)
|
|
||||||
jekyll-watch (~> 2.0)
|
|
||||||
kramdown (~> 2.3, >= 2.3.1)
|
|
||||||
kramdown-parser-gfm (~> 1.0)
|
|
||||||
liquid (~> 4.0)
|
|
||||||
mercenary (>= 0.3.6, < 0.5)
|
|
||||||
pathutil (~> 0.9)
|
|
||||||
rouge (>= 3.0, < 5.0)
|
|
||||||
safe_yaml (~> 1.0)
|
|
||||||
terminal-table (>= 1.8, < 4.0)
|
|
||||||
webrick (~> 1.7)
|
|
||||||
jekyll-random (0.1)
|
|
||||||
jekyll (>= 3.3, < 5.0)
|
|
||||||
jekyll-redirect-from (0.16.0)
|
|
||||||
jekyll (>= 3.3, < 5.0)
|
|
||||||
jekyll-sass-converter (3.0.0)
|
|
||||||
sass-embedded (~> 1.54)
|
|
||||||
jekyll-tidy (0.2.2)
|
|
||||||
htmlbeautifier
|
|
||||||
htmlcompressor
|
|
||||||
jekyll
|
|
||||||
jekyll-timeago (0.15.0)
|
|
||||||
mini_i18n (>= 0.8.0)
|
|
||||||
jekyll-watch (2.2.1)
|
|
||||||
listen (~> 3.0)
|
|
||||||
kramdown (2.5.1)
|
|
||||||
rexml (>= 3.3.9)
|
|
||||||
kramdown-parser-gfm (1.1.0)
|
|
||||||
kramdown (~> 2.0)
|
|
||||||
liquid (4.0.4)
|
|
||||||
listen (3.9.0)
|
|
||||||
rb-fsevent (~> 0.10, >= 0.10.3)
|
|
||||||
rb-inotify (~> 0.9, >= 0.9.10)
|
|
||||||
mercenary (0.4.0)
|
|
||||||
mini_i18n (0.9.0)
|
|
||||||
pathutil (0.16.2)
|
|
||||||
forwardable-extended (~> 2.6)
|
|
||||||
public_suffix (6.0.1)
|
|
||||||
rake (13.2.1)
|
|
||||||
rb-fsevent (0.11.2)
|
|
||||||
rb-inotify (0.11.1)
|
|
||||||
ffi (~> 1.0)
|
|
||||||
rexml (3.4.0)
|
|
||||||
rouge (4.5.1)
|
|
||||||
safe_yaml (1.0.5)
|
|
||||||
sass-embedded (1.83.0)
|
|
||||||
google-protobuf (~> 4.28)
|
|
||||||
rake (>= 13)
|
|
||||||
sass-embedded (1.83.0-arm64-darwin)
|
|
||||||
google-protobuf (~> 4.28)
|
|
||||||
terminal-table (3.0.2)
|
|
||||||
unicode-display_width (>= 1.1.1, < 3)
|
|
||||||
unicode-display_width (2.6.0)
|
|
||||||
webrick (1.9.1)
|
|
||||||
|
|
||||||
PLATFORMS
|
|
||||||
arm64-darwin-24
|
|
||||||
ruby
|
|
||||||
|
|
||||||
DEPENDENCIES
|
|
||||||
jekyll (= 4.3.3)
|
|
||||||
jekyll-random
|
|
||||||
jekyll-redirect-from
|
|
||||||
jekyll-tidy
|
|
||||||
jekyll-timeago
|
|
||||||
|
|
||||||
BUNDLED WITH
|
|
||||||
2.6.2
|
|
||||||
2
LICENSE
2
LICENSE
@@ -1,6 +1,6 @@
|
|||||||
The MIT License (MIT)
|
The MIT License (MIT)
|
||||||
|
|
||||||
Copyright (c) 2018-2023 The Tabler Authors
|
Copyright (c) 2018-2025 The Tabler Authors
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
228
README.md
228
README.md
@@ -1,5 +1,5 @@
|
|||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="https://github.com/tabler/tabler"><img src="https://raw.githubusercontent.com/tabler/tabler/dev/src/static/logo.svg" alt="A premium and open source dashboard template with a responsive and high-quality UI." width="300"></a><br><br>
|
<a href="https://github.com/tabler/tabler"><img src="https://raw.githubusercontent.com/tabler/tabler/refs/heads/dev/shared/static/logo.svg" alt="A premium and open source dashboard template with a responsive and high-quality UI." width="300"></a><br><br>
|
||||||
A premium and open source dashboard template with a responsive and high-quality UI.
|
A premium and open source dashboard template with a responsive and high-quality UI.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
@@ -15,12 +15,12 @@ A premium and open source dashboard template with a responsive and high-quality
|
|||||||
|
|
||||||
## Sponsors
|
## Sponsors
|
||||||
|
|
||||||
**If you want to support our project and help me grow it, you can [become a sponsor on GitHub](https://github.com/sponsors/codecalm) or just [donate on PayPal](https://paypal.me/codecalm) :)**
|
**If you want to support our project and help us grow it, you can [become a sponsor on GitHub](https://github.com/sponsors/codecalm) or just [donate on PayPal](https://paypal.me/codecalm) :)**
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="https://github.com/sponsors/codecalm">
|
<a href="https://github.com/sponsors/codecalm">
|
||||||
<img src='https://raw.githubusercontent.com/tabler/static/main/sponsors.svg'>
|
<img src="https://cdn.jsdelivr.net/gh/tabler/sponsors@latest/sponsors.svg" alt="Tabler sponsors">
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
## Testing
|
## Testing
|
||||||
@@ -28,21 +28,24 @@ A premium and open source dashboard template with a responsive and high-quality
|
|||||||
<p align="center">Browser testing via:</p>
|
<p align="center">Browser testing via:</p>
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="https://www.lambdatest.com/" target="_blank">
|
<a href="https://www.lambdatest.com/" target="_blank">
|
||||||
<picture>
|
<picture>
|
||||||
<source media="(prefers-color-scheme: dark)" srcset="https://github.com/user-attachments/assets/14dd2a0a-bafe-436e-a6cb-29636278c781">
|
<source media="(prefers-color-scheme: dark)" srcset="https://github.com/user-attachments/assets/14dd2a0a-bafe-436e-a6cb-29636278c781">
|
||||||
<source media="(prefers-color-scheme: light)" srcset="https://github.com/user-attachments/assets/d3dede5a-d702-47c3-bb66-4d887948ed83">
|
<source media="(prefers-color-scheme: light)" srcset="https://github.com/user-attachments/assets/d3dede5a-d702-47c3-bb66-4d887948ed83">
|
||||||
<img src="https://github.com/user-attachments/assets/d3dede5a-d702-47c3-bb66-4d887948ed83" alt="Tabler Icons preview" width="296">
|
<img src="https://github.com/user-attachments/assets/d3dede5a-d702-47c3-bb66-4d887948ed83" alt="labmdatest" width="296">
|
||||||
</picture>
|
</picture>
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
## 🔎 Preview
|
## 🔎 Preview
|
||||||
|
|
||||||
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>
|
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>
|
<p align="center">
|
||||||
|
<a href="https://preview.tabler.io" target="_blank">
|
||||||
|
<img src="https://raw.githubusercontent.com/tabler/tabler/dev/shared/static/tabler-preview.png" alt="Tabler Preview">
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
|
||||||
## 🚀 Features
|
## 🚀 Features
|
||||||
|
|
||||||
@@ -53,125 +56,30 @@ We've created this admin panel for everyone who wants to create templates based
|
|||||||
* **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.
|
* **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.
|
* **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!
|
* **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!
|
||||||
* **Single Page Application versions:** [Tabler React](https://github.com/tabler/tabler-react) has React components for Tabler.
|
|
||||||
|
|
||||||
## 📖 Documentation
|
## 📖 Documentation
|
||||||
|
|
||||||
Documentation is available as a part of Tabler preview: https://tabler.io/docs/
|
The documentation is available at https://docs.tabler.io/
|
||||||
|
|
||||||
To run the documentation site locally, follow instructions in the [Documentation README](https://github.com/tabler/tabler/blob/dev/site/README.md).
|
|
||||||
|
|
||||||
## 🪴 Project Activity
|
## 🪴 Project Activity
|
||||||
|
|
||||||

|
<p align="center">
|
||||||
|
<img src="https://repobeats.axiom.co/api/embed/61d1db34446967b0848af68198a392067e0f5870.svg" alt="Repobeats analytics image" />
|
||||||
## 💕 Sponsor Tabler
|
</p>
|
||||||
|
|
||||||
<a href="https://github.com/sponsors/codecalm" target="_blank"><img src="/src/static/sponsor-banner-readme.png?raw=true" alt="Sponsor Tabler" /></a>
|
|
||||||
|
|
||||||
|
|
||||||
### Sponsors
|
|
||||||
|
|
||||||
Support this project by becoming a sponsor. Your logo will show up in this README with a link to your website. [Become a sponsor!](https://opencollective.com/tabler#sponsor)
|
|
||||||
|
|
||||||
<a href="https://opencollective.com/tabler/tiers/sponsor/0/website" target="_blank"><img src="https://opencollective.com/tabler/tiers/sponsor/0/avatar.svg" /></a>
|
|
||||||
<a href="https://opencollective.com/tabler/tiers/sponsor/1/website" target="_blank"><img src="https://opencollective.com/tabler/tiers/sponsor/1/avatar.svg" /></a>
|
|
||||||
<a href="https://opencollective.com/tabler/tiers/sponsor/2/website" target="_blank"><img src="https://opencollective.com/tabler/tiers/sponsor/2/avatar.svg" /></a>
|
|
||||||
<a href="https://opencollective.com/tabler/tiers/sponsor/3/website" target="_blank"><img src="https://opencollective.com/tabler/tiers/sponsor/3/avatar.svg" /></a>
|
|
||||||
<a href="https://opencollective.com/tabler/tiers/sponsor/4/website" target="_blank"><img src="https://opencollective.com/tabler/tiers/sponsor/4/avatar.svg" /></a>
|
|
||||||
<a href="https://opencollective.com/tabler/tiers/sponsor/5/website" target="_blank"><img src="https://opencollective.com/tabler/tiers/sponsor/5/avatar.svg" /></a>
|
|
||||||
<a href="https://opencollective.com/tabler/tiers/sponsor/6/website" target="_blank"><img src="https://opencollective.com/tabler/tiers/sponsor/6/avatar.svg" /></a>
|
|
||||||
<a href="https://opencollective.com/tabler/tiers/sponsor/7/website" target="_blank"><img src="https://opencollective.com/tabler/tiers/sponsor/7/avatar.svg" /></a>
|
|
||||||
<a href="https://opencollective.com/tabler/tiers/sponsor/8/website" target="_blank"><img src="https://opencollective.com/tabler/tiers/sponsor/8/avatar.svg" /></a>
|
|
||||||
<a href="https://opencollective.com/tabler/tiers/sponsor/9/website" target="_blank"><img src="https://opencollective.com/tabler/tiers/sponsor/9/avatar.svg" /></a>
|
|
||||||
|
|
||||||
## 📦 Setup environment
|
|
||||||
|
|
||||||
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 `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 ```pnpm install```
|
|
||||||
2. install Ruby (2.5.* recommended)
|
|
||||||
```brew install ruby @2.5```
|
|
||||||
3. install bundler
|
|
||||||
```gem install bundler```
|
|
||||||
4. install
|
|
||||||
```bundle install```
|
|
||||||
- if bundler get any errors try
|
|
||||||
```
|
|
||||||
sudo rm -rf /Library/Developer/CommandLineTools
|
|
||||||
sudo xcode-select --install
|
|
||||||
```
|
|
||||||
5. Run NPM
|
|
||||||
```npm run start```
|
|
||||||
|
|
||||||
|
|
||||||
**Windows users**:
|
|
||||||
|
|
||||||
1. [Install Git](https://git-scm.com/download/win) in `C:\Program Files\git\bin` directory and run `npm config set script-shell "C:\\Program Files\\git\\bin\\bash.exe"` to change the default shell.
|
|
||||||
2. [Install Ruby+Devkit](https://rubyinstaller.org/downloads/) - the recommended version is [2.7.6](https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.7.6-1/rubyinstaller-devkit-2.7.6-1-x64.exe).
|
|
||||||
3. [Read guide](https://jekyllrb.com/docs/installation/windows/) to get Jekyll up and running without problems.
|
|
||||||
|
|
||||||
Once you complete the setup, you'll be able to run the various commands provided from the command line.
|
|
||||||
|
|
||||||
|
|
||||||
## Build locally
|
|
||||||
|
|
||||||
You need to have `pnpm` and `bundler` installed.
|
|
||||||
|
|
||||||
1. From the root `/tabler` directory, run installation in the command line:
|
|
||||||
- `pnpm install`
|
|
||||||
- `bundler install`
|
|
||||||
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 `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
|
## Installation
|
||||||
|
|
||||||
Tabler is distributed via npm.
|
### Package Managers
|
||||||
|
|
||||||
|
Tabler is distributed via npm. You can install it with this or your preferred JavaScript package manager:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
npm install --save @tabler/core
|
npm install --save @tabler/core
|
||||||
```
|
```
|
||||||
|
|
||||||
## Running with Docker
|
|
||||||
|
|
||||||
**Plain Docker**
|
|
||||||
|
|
||||||
If you don't want to install node/npm/ruby and the dependencies on your local environment, you can use the provided Dockerfile to build a docker image.
|
|
||||||
This Dockerfile is provided as an example to spin-up a container running Tabler.
|
|
||||||
|
|
||||||
Example of how to use this image:
|
|
||||||
|
|
||||||
1. Build the tabler image : `docker build -t tabler .`
|
|
||||||
2. Run the tabler image while mounting the `src` directory as well as the `_config.yml` file into the container.
|
|
||||||
|
|
||||||
Don't forget to expose the port 3000 so you can browse the website locally.
|
|
||||||
You can also expose the port 3001 to have access to BrowserSync
|
|
||||||
|
|
||||||
```sh
|
|
||||||
docker run -p 3000:3000 -p 3001:3001 -v $(pwd)/src:/app/src -v $(pwd)/_config.yml:/app/_config.yml tabler
|
|
||||||
```
|
|
||||||
|
|
||||||
Now open your browser to [http://localhost:3000](http://localhost:3000). Edit anything in the `src/` folder and watch your browser refresh the page after it has been rebuilt.
|
|
||||||
|
|
||||||
**Docker Compose**
|
|
||||||
|
|
||||||
You can also use the docker compose config from this repo. Use `docker compose build && docker compose up` or `docker compose up --build` to build and start the container. Edit anything in the `src/` folder the same way as with plain docker and access the same URLs and ports in your browser.
|
|
||||||
|
|
||||||
### CDN support
|
### CDN support
|
||||||
|
|
||||||
All files included in `@tabler/core` npm package are available over a CDN.
|
All files included in `@tabler/core` npm package are also available over a CDN.
|
||||||
|
|
||||||
#### Javascript
|
#### Javascript
|
||||||
|
|
||||||
@@ -185,24 +93,84 @@ All files included in `@tabler/core` npm package are available over a CDN.
|
|||||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@tabler/core@latest/dist/css/tabler.min.css">
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@tabler/core@latest/dist/css/tabler.min.css">
|
||||||
```
|
```
|
||||||
|
|
||||||
## Feature requests
|
## Building locally
|
||||||
|
|
||||||
https://tabler.canny.io/feature-requests
|
To build a copy of Tabler locally, you have two options. You can either set up your device directly with the development tools required to build Tabler, or if you would prefer not to install all the development dependencies directly onto your device, you can use a Dockerfile that Tabler provides to build a docker image. Instructions follow below.
|
||||||
|
|
||||||
|
### First steps: Downloading the Tabler source files
|
||||||
|
|
||||||
|
With either method, the first thing you'll want to do is download a copy of the Tabler source files to your device.
|
||||||
|
|
||||||
|
#### From the Tabler GitHub releases page
|
||||||
|
|
||||||
|
If you don't want to edit the source code once you've downloaded it, and aren't interested in merging future project updates into your copy, you can just download the source files straight from the [Tabler releases on GitHub](https://github.com/tabler/tabler/releases) and extract the contents to a directory called `tabler`.
|
||||||
|
|
||||||
|
#### Cloning with Git
|
||||||
|
|
||||||
|
If you **do** wish to edit the source code after downloading it, for example to contribute changes back to the Tabler project, you'll want to do this by cloning it with Git:
|
||||||
|
1. If you don't have Git installed on your device, download and install it. You can find instructions at [https://git-scm.com/downloads](https://git-scm.com/downloads).
|
||||||
|
2. (Optional) **Windows users:** you could optionally install Git in the `C:\Program Files\git\bin` directory and run `npm config set script-shell "C:\\Program Files\\git\\bin\\bash.exe"` to change the default shell.
|
||||||
|
3. Clone the Tabler project into a folder on your device. Instructions can be found at [cloning a repository](https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository).
|
||||||
|
|
||||||
|
### Installing and running development tools directly
|
||||||
|
|
||||||
|
1. [Install Node.js](https://nodejs.org/download/), which we use to manage our dependencies.
|
||||||
|
2. [Install pnpm](https://pnpm.io/installation) (We recommend either by [Using Corepack](https://pnpm.io/installation#using-corepack) or by [Using npm](https://pnpm.io/installation#using-npm))
|
||||||
|
3. From the root `/tabler` directory where you downloaded the Tabler source files, run installation on the command line:
|
||||||
|
```sh
|
||||||
|
pnpm install
|
||||||
|
```
|
||||||
|
4. Then execute the following to start up the application stack:
|
||||||
|
```sh
|
||||||
|
pnpm run start
|
||||||
|
```
|
||||||
|
5. Open [http://localhost:3000](http://localhost:3000) to view the preview website in your browser, or [http://localhost:3010](http://localhost:3010) to view the documentation website - and voilà.
|
||||||
|
Changes to most of the source files of Tabler core, preview and docs will rebuild the application and refresh the page.
|
||||||
|
|
||||||
|
**Note**:
|
||||||
|
If you wish to perform a one-off build without auto-refresh on any changes, you can run:
|
||||||
|
```sh
|
||||||
|
pnpm run build
|
||||||
|
```
|
||||||
|
You can open [http://localhost:3001](http://localhost:3001) to configure the Web server.
|
||||||
|
|
||||||
|
|
||||||
|
### Installing and running development tools with Docker
|
||||||
|
|
||||||
|
**Plain Docker**
|
||||||
|
|
||||||
|
Here is an example of how to use this image:
|
||||||
|
|
||||||
|
1. From the root `/tabler` directory where you downloaded the Tabler source files, build the tabler image:
|
||||||
|
```sh
|
||||||
|
docker build -t tabler .
|
||||||
|
```
|
||||||
|
2. Run the tabler image. The following command mounts the `src` directory into the container, exposes port 3000 to browse the website locally, and exposes port 3001 to automatically sync changes:
|
||||||
|
```sh
|
||||||
|
docker run -p 3000:3000 -p 3001:3001 -v $(pwd)/src:/app/src tabler
|
||||||
|
```
|
||||||
|
3. Open your browser to [http://localhost:3000](http://localhost:3000). Edit anything in the `src/` folder and watch your browser refresh the page after it has been rebuilt.
|
||||||
|
|
||||||
|
**Docker Compose**
|
||||||
|
|
||||||
|
You can also use the docker compose config from this repo. From the root `/tabler` directory where you downloaded the Tabler source files, use `docker compose build && docker compose up` or `docker compose up --build` to build and start the container. Edit anything in the `src/` folder the same way as with plain docker and access the same URLs and ports in your browser.
|
||||||
|
|
||||||
## Bugs and feature requests
|
## Bugs and feature requests
|
||||||
|
|
||||||
Found a bug or have a feature request? [Please open a new issue](https://github.com/tabler/tabler/issues/new).
|
Found a bug or have a feature request? [Please open a new issue](https://github.com/tabler/tabler/issues/new).
|
||||||
|
|
||||||
|
|
||||||
## 🤓 Creators
|
## 🤓 Creators
|
||||||
|
|
||||||
**Paweł Kuna**
|
**Paweł Kuna**
|
||||||
|
|
||||||
- <https://twitter.com/codecalm>
|
- <https://x.com/codecalm>
|
||||||
- <https://github.com/codecalm>
|
- <https://github.com/codecalm>
|
||||||
- <https://codecalm.net>
|
- <https://codecalm.net>
|
||||||
|
|
||||||
|
**Bartłomiej Gawęda**
|
||||||
|
|
||||||
|
- <https://x.com/B_Gaweda>
|
||||||
|
- <https://github.com/BG-Software-BG>
|
||||||
|
|
||||||
## 👨🚀 Contributors
|
## 👨🚀 Contributors
|
||||||
|
|
||||||
@@ -210,25 +178,11 @@ This project exists thanks to all the people who contribute.
|
|||||||
|
|
||||||
<img src="https://opencollective.com/tabler/contributors.svg?width=890&button=false" />
|
<img src="https://opencollective.com/tabler/contributors.svg?width=890&button=false" />
|
||||||
|
|
||||||
## 🌸 Backers
|
## Social media
|
||||||
|
|
||||||
Thank you to all our backers! 🙏 [Become a backer](https://opencollective.com/tabler#backer)
|
Stay up to date by joining our community on <a href="https://x.com/tabler_io" >X</a> and <a href="https://www.facebook.com/tabler.io">Facebook</a>
|
||||||
|
|
||||||
<a href="https://opencollective.com/tabler#backers" target="_blank"><img src="https://opencollective.com/tabler/tiers/backer.svg?width=890&button=false" /></a>
|
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
See the [LICENSE](https://github.com/tabler/tabler/blob/master/LICENSE) file.
|
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!
|
|
||||||
|
|||||||
278
_config.yml
278
_config.yml
@@ -1,278 +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.
|
|
||||||
theme-color: "#066fd1"
|
|
||||||
|
|
||||||
email: support@tabler.io
|
|
||||||
homepage: https://tabler.io
|
|
||||||
github-url: https://github.com/tabler/tabler
|
|
||||||
github-sponsors-url: https://github.com/sponsors/codecalm
|
|
||||||
changelog-url: https://github.com/tabler/tabler/releases
|
|
||||||
sponsor-url: https://github.com/sponsors/codecalm
|
|
||||||
preview-url: https://tabler.io/demo
|
|
||||||
docs-url: https://tabler.io/docs
|
|
||||||
|
|
||||||
mapbox-key: pk.eyJ1IjoidGFibGVyIiwiYSI6ImNscHh3dnhndjB2M3QycW85bGd0NXRmZ3YifQ.9LfHPsNoEXQH-xzz-81Ffw
|
|
||||||
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:
|
|
||||||
- free-illustrations
|
|
||||||
|
|
||||||
defaults:
|
|
||||||
- scope:
|
|
||||||
type: "pages"
|
|
||||||
path: "*.md"
|
|
||||||
values:
|
|
||||||
layout: markdown
|
|
||||||
- scope:
|
|
||||||
type: "pages"
|
|
||||||
values:
|
|
||||||
layout: default
|
|
||||||
|
|
||||||
colors:
|
|
||||||
blue:
|
|
||||||
class: blue
|
|
||||||
hex: '#066fd1'
|
|
||||||
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
|
|
||||||
|
|
||||||
skin-colors:
|
|
||||||
rose:
|
|
||||||
hex: '#FFCB9D'
|
|
||||||
title: Rose
|
|
||||||
class: rose
|
|
||||||
yellow:
|
|
||||||
hex: '#F0BA60'
|
|
||||||
title: Yellow
|
|
||||||
class: yellow
|
|
||||||
skin-1:
|
|
||||||
hex: '#e2c6a7'
|
|
||||||
title: Skin 1
|
|
||||||
class: skin-1
|
|
||||||
skin-2:
|
|
||||||
hex: '#c7a786'
|
|
||||||
title: Skin 2
|
|
||||||
class: skin-2
|
|
||||||
skin-3:
|
|
||||||
hex: '#a68063'
|
|
||||||
title: Skin 3
|
|
||||||
class: skin-3
|
|
||||||
skin-4:
|
|
||||||
hex: '#926241'
|
|
||||||
title: Skin 4
|
|
||||||
class: skin-4
|
|
||||||
skin-5:
|
|
||||||
hex: '#654c45'
|
|
||||||
title: Skin 5
|
|
||||||
class: skin-5
|
|
||||||
gray:
|
|
||||||
hex: '#d5d7dd'
|
|
||||||
title: Gray
|
|
||||||
class: gray
|
|
||||||
|
|
||||||
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:
|
|
||||||
x:
|
|
||||||
icon: brand-x
|
|
||||||
title: X
|
|
||||||
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', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']
|
|
||||||
|
|
||||||
icons:
|
|
||||||
link: https://tabler-icons.io
|
|
||||||
|
|
||||||
emails:
|
|
||||||
price: "$29"
|
|
||||||
buy_link: https://r.tabler.io/buy-emails
|
|
||||||
|
|
||||||
illustrations:
|
|
||||||
price: "$59"
|
|
||||||
count: 50
|
|
||||||
buy_link: https://r.tabler.io/buy-illustrations
|
|
||||||
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
exclude:
|
|
||||||
- redirects.json
|
|
||||||
- playground.html
|
|
||||||
- playground-*.html
|
|
||||||
46
core/.build/add-banner.mjs
Normal file
46
core/.build/add-banner.mjs
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
#!/usr/bin/env node
|
||||||
|
|
||||||
|
'use strict'
|
||||||
|
|
||||||
|
import { readFileSync, writeFileSync } from 'node:fs';
|
||||||
|
import { join, dirname, basename } from 'node:path';
|
||||||
|
import { fileURLToPath } from 'node:url'
|
||||||
|
import { sync } from 'glob';
|
||||||
|
import banner from '../../shared/banner/index.mjs';
|
||||||
|
|
||||||
|
const __dirname = dirname(fileURLToPath(import.meta.url))
|
||||||
|
|
||||||
|
const styles = sync(join(__dirname, '..', 'dist', 'css', '*.css'))
|
||||||
|
|
||||||
|
const plugins = {
|
||||||
|
'tabler-flags': 'Flags',
|
||||||
|
'tabler-flags.rtl': 'Flags RTL',
|
||||||
|
'tabler-marketing': 'Marketing',
|
||||||
|
'tabler-marketing.rtl': 'Marketing RTL',
|
||||||
|
'tabler-payments': 'Payments',
|
||||||
|
'tabler-payments.rtl': 'Payments RTL',
|
||||||
|
'tabler-socials': 'Socials',
|
||||||
|
'tabler-socials.rtl': 'Socials RTL',
|
||||||
|
'tabler-vendors': 'Vendors',
|
||||||
|
'tabler-vendors.rtl': 'Vendors RTL',
|
||||||
|
}
|
||||||
|
|
||||||
|
styles.forEach((file, i) => {
|
||||||
|
const content = readFileSync(file, 'utf8')
|
||||||
|
const filename = basename(file)
|
||||||
|
const pluginKey = Object.keys(plugins).find(plugin => filename.includes(plugin))
|
||||||
|
const plugin = plugins[pluginKey]
|
||||||
|
const regex = /^(@charset ['"][a-zA-Z0-9-]+['"];?)\n?/i
|
||||||
|
|
||||||
|
let newContent = ''
|
||||||
|
|
||||||
|
if (content.match(regex)) {
|
||||||
|
newContent = content.replace(regex, (m, m1) => {
|
||||||
|
return `${m1}\n${banner(plugin)}\n`
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
newContent = `${banner(plugin)}\n${content}`
|
||||||
|
}
|
||||||
|
|
||||||
|
writeFileSync(file, newContent, 'utf8')
|
||||||
|
})
|
||||||
33
core/.build/copy-libs.mjs
Normal file
33
core/.build/copy-libs.mjs
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
#!/usr/bin/env node
|
||||||
|
|
||||||
|
'use strict'
|
||||||
|
|
||||||
|
import { existsSync, mkdirSync, lstatSync } from 'fs'
|
||||||
|
import { emptyDirSync, copySync } from 'fs-extra/esm'
|
||||||
|
import libs from '../libs.json' with { type: 'json' }
|
||||||
|
import { fileURLToPath } from 'url'
|
||||||
|
import { join, dirname } from 'node:path';
|
||||||
|
|
||||||
|
const __dirname = dirname(fileURLToPath(import.meta.url))
|
||||||
|
|
||||||
|
emptyDirSync(join(__dirname, '..', 'dist/libs'))
|
||||||
|
|
||||||
|
for(const name in libs) {
|
||||||
|
const { npm } = libs[name]
|
||||||
|
|
||||||
|
if (npm) {
|
||||||
|
const from = join(__dirname, '..', `node_modules/${npm}`)
|
||||||
|
const to = join(__dirname, '..', `dist/libs/${npm}`)
|
||||||
|
|
||||||
|
// create dir in dist/libs
|
||||||
|
if (!existsSync(to)) {
|
||||||
|
mkdirSync(to, { recursive: true })
|
||||||
|
}
|
||||||
|
|
||||||
|
copySync(from, to, {
|
||||||
|
dereference: true,
|
||||||
|
})
|
||||||
|
|
||||||
|
console.log(`Successfully copied ${npm}`)
|
||||||
|
}
|
||||||
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user