1
0
mirror of https://github.com/tabler/tabler.git synced 2025-12-22 18:04:26 +04:00

Compare commits

..

156 Commits

Author SHA1 Message Date
github-actions[bot]
3532976b5e chore: update versions 2025-12-12 18:58:48 +00:00
codecalm
63a35a849c fix: fix EU flag svg 2025-12-12 19:56:38 +01:00
ethancrawford
94e1a95ffb Allow Offcanvas docs page to scroll properly (#2565) 2025-12-11 20:07:12 +01:00
Paweł Kuna
83ec6f8bcc feat: add Tour component using Driver.js (#2549) 2025-12-08 21:08:22 +01:00
ethancrawford
e3d86c519b feat: upgrade apexcharts to v5 and add CSS variables for dynamic chart colors (#2555)
Co-authored-by: codecalm <codecalm@gmail.com>
2025-12-08 21:08:03 +01:00
Paweł Kuna
f9d6076014 refactor: Update build scripts and asset management across packages (#2558) 2025-12-02 18:51:54 +01:00
dependabot[bot]
f264470d8f chore(deps): bump actions/checkout from 5 to 6 (#2550)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-30 23:52:18 +01:00
Paweł Kuna
ec9469332e feat: Add card gradients page and gradient card components (#2554) 2025-11-29 11:58:51 +01:00
codecalm
deb887b4aa fix: update appData function to use dynamic path resolution for core files 2025-11-28 15:11:12 +01:00
codecalm
f9551c3b8e fix: sort illustration filenames and update illustrations.json content 2025-11-27 03:07:08 +01:00
Aastha Gupta
3aba62e652 fix: add border-top-radius to card table first/last cells (#2505)
Co-authored-by: Paweł Kuna <1282324+codecalm@users.noreply.github.com>
2025-11-26 19:31:42 +01:00
Paweł Kuna
059bae1cf6 fix: refactor Bootstrap exports for consistency (#2545) 2025-11-26 19:31:11 +01:00
Igor Bezlepkin
41ed22a128 Remove redundant nullish coalescing operators in popover and tooltip (#2553)
Co-authored-by: codecalm <codecalm@gmail.com>
2025-11-26 19:30:55 +01:00
Paweł Kuna
e206d7a908 fix: Fix white space on left side when scrollbar is present (#2548) 2025-11-26 19:30:27 +01:00
Paweł Kuna
2dc7edae36 fix: update dark theme SCSS variables (#2546) 2025-11-26 19:30:15 +01:00
Paweł Kuna
8bc6fa7fd1 fix: Use CSS variables for status colors and include social colors (#2547) 2025-11-26 19:29:46 +01:00
Paweł Kuna
a198b0c7c5 Init Geist font (#2552) 2025-11-26 19:29:27 +01:00
codecalm
b1f711635b fix: remove sticky-top class from icons banner card 2025-11-26 19:24:42 +01:00
codecalm
d0fe913453 Refactor SCSS utilities to use logical properties for border-radius 2025-11-24 00:06:57 +01:00
Paweł Kuna
0106d6b7d2 Update SCSS to use logical properties (#2537) 2025-11-23 22:05:45 +01:00
Paweł Kuna
14ed4693a5 Refactor SCSS imports, remove compile warnings (#2536) 2025-11-17 21:25:16 +01:00
codecalm
3bcd82ae9f Update illustrations for dark and light themes 2025-11-15 16:41:49 +01:00
Paweł Kuna
40a9b5ac27 Update Bootstrap and other dependencies to latest versions (#2521) 2025-11-15 16:38:19 +01:00
Paweł Kuna
99b9ea45f6 feat: Add Task List page (#2528) 2025-11-15 13:45:53 +01:00
Paweł Kuna
4ce08cad53 feat: Add Crypto Dashboard with dynamic data and menu updates (#2527) 2025-11-15 13:43:48 +01:00
Paweł Kuna
b0fa6559da feat: Add four new modals (new task, edit profile, confirm delete, change password) (#2529) 2025-11-15 13:42:27 +01:00
Paweł Kuna
c7070180dc feat: add All Elements UI components page (#2524) 2025-11-15 13:42:11 +01:00
Paweł Kuna
9a17b72a60 Update dependencies (#2519) 2025-11-15 13:39:45 +01:00
Paweł Kuna
0c7996321b feat: Add print styles using media-print mixin (#2531) 2025-11-15 13:37:23 +01:00
codecalm
ba7bb880c4 style: Update badge positioning and size in navbar and adjust SCSS variables for consistency 2025-11-15 13:37:14 +01:00
Paweł Kuna
5018aa9113 fix: Fix .btn-icon size by aligning min-width calculation (#2530) 2025-11-15 13:15:12 +01:00
Paweł Kuna
8d8727f587 feat: Add language selector dropdown to navbar (#2526) 2025-11-02 20:49:13 +01:00
Paweł Kuna
6e656ad1de fix: Input Icon Z-Index Issue with Form Validation (#2525) 2025-11-02 20:48:36 +01:00
codecalm
0042472f9a feat: add new statistics cards to widgets page and update card styles 2025-11-02 18:57:51 +01:00
codecalm
21eb18f918 refactor: remove GitHub source code button from sidebar navbar 2025-11-01 22:34:20 +01:00
Paweł Kuna
cf04a00f8e Update Tabler Icons to v3.35.0 (#2520) 2025-10-24 00:27:39 +02:00
dependabot[bot]
41bcebc0a7 chore(deps): bump actions/setup-node from 5 to 6 (#2516)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-24 00:14:05 +02:00
dependabot[bot]
7475114ef1 chore(deps): bump xalvarez/prevent-file-change-action from 2 to 3 (#2504)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-24 00:13:54 +02:00
Kam
8ce84e0f2f Fix deprecated install command for Yarn in docs (#2497) 2025-10-24 00:09:46 +02:00
codecalm
496704b163 Merge branch 'main' of https://github.com/tabler/tabler into dev 2025-10-24 00:08:42 +02:00
codecalm
e098fdfaa6 fix: ensure generated IDs do not start with a number in headings 2025-10-06 20:18:50 +02:00
codecalm
58417be796 Merge branch 'main' of https://github.com/tabler/tabler into dev 2025-09-23 23:39:09 +02:00
codecalm
a7fccda74c fix: remove analytics environment variables and adjust layout inclusion 2025-09-23 23:15:32 +02:00
codecalm
dbb5e7d2ed fix: restore analytics environment variables in appData 2025-09-23 23:07:40 +02:00
codecalm
5da9078f55 fix: add domains 2025-09-23 23:06:26 +02:00
codecalm
1cd1fcaf28 refactor: clean up comments in analytics script 2025-09-23 23:03:57 +02:00
codecalm
b4ab1100ef fix: update PostHog initialization to use dynamic API key 2025-09-23 23:02:22 +02:00
codecalm
af41699e84 remove old analytics 2025-09-23 22:59:55 +02:00
codecalm
6e2e4e3317 add analytics to docs 2025-09-23 22:57:04 +02:00
codecalm
d8077f438c clean prettier comments 2025-09-23 22:55:26 +02:00
codecalm
0c07677606 clean prettier comments 2025-09-23 22:54:13 +02:00
codecalm
14418a1c08 fix posthog 2025-09-23 22:28:41 +02:00
codecalm
7b74fee012 init posthog stats 2025-09-23 22:24:36 +02:00
codecalm
9893b11ed2 init posthog stats 2025-09-23 22:19:25 +02:00
codecalm
fcb38a4059 update changelog 2025-09-19 23:48:17 +02:00
Paweł Kuna
9c5d729e6d Add progress page (#2494)
Co-authored-by: ethancrawford <ethan_jc@hotmail.com>
2025-09-19 23:06:55 +02:00
Paweł Kuna
f8dee0a4bb Update Bootstrap to 5.3.8 (#2490) 2025-09-18 23:50:09 +02:00
Resul Elezi
9a3361f8ba Fixes issue #1619 (#2482)
Co-authored-by: Paweł Kuna <1282324+codecalm@users.noreply.github.com>
2025-09-18 18:19:24 +02:00
codecalm
f763e3b1dd fix: set default limit for activity loop to 40 2025-09-18 17:59:27 +02:00
Paweł Kuna
9997893b40 Add pnpm caching to Node.js setup in workflows (#2492) 2025-09-17 19:54:02 +02:00
dependabot[bot]
58ad1008c9 chore(deps): bump actions/stale from 9 to 10 (#2481)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-17 17:18:43 +02:00
dependabot[bot]
c0e757e252 chore(deps): bump actions/setup-node from 4 to 5 (#2480)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-17 17:17:19 +02:00
Paweł Kuna
5e119d4c06 Add Pay page & layout (#2476) 2025-09-17 16:35:23 +02:00
Vedang Shelatkar
c860288558 Fix icon alignment for btn-sm and btn-xl sizes #2474 (#2478)
Co-authored-by: Paweł Kuna <1282324+codecalm@users.noreply.github.com>
2025-09-17 16:35:13 +02:00
Paweł Kuna
596237e8cc Accessibility and semantic improvements (#2488) 2025-09-17 16:34:36 +02:00
Paweł Kuna
736e60408b Migrate SASS to module API (#2477) 2025-09-12 17:48:31 +02:00
codecalm
212d560a87 Init sortable library 2025-09-09 01:05:18 +02:00
codecalm
0ee3c0a3b4 new emails page 2025-08-28 23:32:04 +02:00
codecalm
bddacee9ad Cursor rules update 2025-08-28 21:39:34 +02:00
dependabot[bot]
2c3efda2bd chore(deps): bump actions/checkout from 4 to 5 (#2469)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-28 21:34:52 +02:00
Paweł Kuna
4834022361 Config improvements (#2472) 2025-08-28 21:34:31 +02:00
Paweł Kuna
e16457fd2e Generate random data to demos (#2473) 2025-08-28 20:18:08 +02:00
codecalm
8b12ba0b01 new Cursor rules 2025-08-28 17:21:48 +02:00
codecalm
d2c812e023 new Cursor rules 2025-08-28 17:20:31 +02:00
Paweł Kuna
8947d7c7b7 Update activity messages in JSON data (#2452) 2025-07-23 19:16:47 +02:00
Paweł Kuna
399a5c59f9 Update icons to v3.34.1 (75 new icons) (#2451) 2025-07-23 19:16:36 +02:00
Valentine Frolov
ad22d046c3 Add a color palette in the signing component #2373 (#2448)
Co-authored-by: Valentine <valentine@pop-os.Dlink>
Co-authored-by: Paweł Kuna <1282324+codecalm@users.noreply.github.com>
2025-07-23 19:15:14 +02:00
Paweł Kuna
b8b63d7e94 Fix mixed declarations in SCSS (#2450) 2025-07-23 19:13:46 +02:00
Koray Tuncer
ab8009b771 fix : Docs search not adjusted to dark mode (#2381) (#2443)
Co-authored-by: codecalm <codecalm@gmail.com>
Co-authored-by: Paweł Kuna <1282324+codecalm@users.noreply.github.com>
2025-07-23 19:13:04 +02:00
Koray Tuncer
bd35fd39cf fix: Some forms on the new 'Form Elements' page don't lay out neatly … (#2444)
Co-authored-by: Paweł Kuna <1282324+codecalm@users.noreply.github.com>
2025-07-23 19:12:47 +02:00
codecalm
4b65380293 fix: update environment condition from preview to production in default.html 2025-07-16 22:27:51 +02:00
github-actions[bot]
2c73788cd1 chore: update versions (#2411)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-13 11:07:29 +02:00
codecalm
a967970419 Update version from patch to minor for core dependencies and clean up changelogs 2025-07-12 13:11:34 +02:00
Kevin Papst
64baa141e7 add more lock file names to prevent unwanted changes (#2416) 2025-07-12 11:47:06 +02:00
Paweł Kuna
49ab9ea931 Add new Tabler Illustrations (#2441) 2025-07-12 11:46:48 +02:00
Paweł Kuna
a8c41914c4 Add Tabler project rules and documentation standards (#2446) 2025-07-12 11:44:14 +02:00
Paweł Kuna
9951fe9b1d Enhance button and hover animations (#2401) 2025-07-07 22:56:08 +02:00
Abdelrhman Said
cfd4cb6624 Only apply pagination-link hover styles to non-active items (#2433)
Co-authored-by: Paweł Kuna <1282324+codecalm@users.noreply.github.com>
2025-07-07 22:01:34 +02:00
Aidi Tan
6fec73a3c4 fix: use relative line heights to make calculations work (#2258) (#2426)
Co-authored-by: Paweł Kuna <1282324+codecalm@users.noreply.github.com>
2025-07-07 21:43:16 +02:00
ethancrawford
29cc0cd378 Rename several Theme builder labels (#2430) 2025-07-07 21:36:20 +02:00
BG-Software
6c47b5f868 Change package.json to core/libs.json as a source of libraries (#2423) 2025-07-07 18:52:08 +02:00
Paweł Kuna
6c38a48af1 Update dependencies (#2432) 2025-07-07 18:50:43 +02:00
Paweł Kuna
6c4dd3670d Update class names from left, right to start, end (#2402) 2025-07-07 18:00:21 +02:00
Paweł Kuna
2a12f72b28 fix: update CSS calculations to use calc() (#2412) 2025-07-07 17:59:45 +02:00
codecalm
f91b0f7cfa Merge branch 'main' of https://github.com/tabler/tabler into dev 2025-07-07 17:58:01 +02:00
codecalm
af816227bc fix: update banner script data-tblr-ref for production environment 2025-07-07 17:45:48 +02:00
codecalm
59b6f73a06 Merge branch 'main' of https://github.com/tabler/tabler into dev 2025-06-12 12:06:22 +02:00
codecalm
266d5ad773 fix: update banner script data-tblr-ref for preview and production environments 2025-06-03 22:49:55 +02:00
carlosmintfan
db6200a998 wysiwyg.html: Remove license_key option from HugeRTE init object (#2413)
Co-authored-by: Paweł Kuna <1282324+codecalm@users.noreply.github.com>
2025-05-29 21:56:13 +02:00
BG-Software
70a41e4fc2 Replace a package list in download.md with a link to the 3rd-party libraries page (#2415) 2025-05-29 17:42:25 +02:00
Paweł Kuna
e96f055238 Add different favicon to development environment (#2395) 2025-05-28 00:00:50 +02:00
Paweł Kuna
a200d30f04 Improve breadcrumb styles (#2403) 2025-05-27 23:56:04 +02:00
Daniel Vítek
666a296a62 List group item hoverable only with .list-group-hoverable class (#2397)
Co-authored-by: Paweł Kuna <1282324+codecalm@users.noreply.github.com>
2025-05-27 23:54:01 +02:00
codecalm
545defc852 fix: restore shx dependency in package.json and pnpm-lock.yaml 2025-05-26 20:46:34 +02:00
codecalm
1b0f8206ee fix: update banner script loading condition to production environment 2025-05-26 20:45:14 +02:00
codecalm
c2cb3d3255 fix: remove shx dependency from importers in pnpm-lock.yaml 2025-05-26 20:41:48 +02:00
codecalm
a0377f9752 fix: remove shx dependency from core, docs, and preview packages 2025-05-26 20:40:05 +02:00
codecalm
c914ecfb05 feat: add shx dependency to core, docs, and preview packages 2025-05-26 20:36:01 +02:00
codecalm
57afd0bb11 feat: add data attribute to banner script for preview environment 2025-05-26 20:31:17 +02:00
codecalm
8db1c08744 feat: add banner script loading for preview environment 2025-05-26 20:22:22 +02:00
codecalm
08e4919ae1 Add conditional loading of banner script in development environment 2025-05-26 20:21:57 +02:00
codecalm
ef9d75f32f fix: update footer condition to include preview environment for changelog link 2025-05-19 23:39:35 +02:00
github-actions[bot]
3e35545edc chore: update versions (#2393)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-19 23:35:47 +02:00
Paweł Kuna
446c34eceb Add initial README.md with project overview and installation instructions to core package (#2392) 2025-05-19 23:24:53 +02:00
github-actions[bot]
90285704e4 chore: update versions (#2390)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-19 22:39:00 +02:00
Paweł Kuna
a7f73d7f7e Fix README file in core package (#2389) 2025-05-19 21:09:21 +02:00
github-actions[bot]
d66c6a70eb chore: update versions (#2266)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-19 20:43:25 +02:00
Paweł Kuna
ad54f61429 Move additional libraries to Tabler core (#2385) 2025-05-19 20:35:01 +02:00
Paweł Kuna
9007e73cb6 Fix FAQ accordion structure (#2388) 2025-05-18 21:16:23 +02:00
codecalm
0d106a89b7 Add role to sample people json 2025-05-18 18:59:01 +02:00
codecalm
0d59e2f13a fix: Correct typos and improve clarity in pagination documentation 2025-05-17 21:28:46 +02:00
Paweł Kuna
8850f6128f Enhance pagination component with new styles and documentation (#2384) 2025-05-17 17:04:59 +02:00
codecalm
a1af8014e8 feat: Add FullCalendar integration 2025-05-17 16:53:01 +02:00
codecalm
c8fee60023 feat: Refactor pagination and table of contents into separate includes for better maintainability 2025-05-17 16:50:59 +02:00
codecalm
d8c70a8b94 fix: Adjust layout spacing and improve footer structure in documentation 2025-05-17 16:40:30 +02:00
codecalm
b70cb48e0b feat: Add Open Collective link to documentation layout 2025-05-17 15:24:19 +02:00
codecalm
5b8746c702 Merge branch 'dev' of https://github.com/tabler/tabler into dev-docs-footer 2025-05-17 15:20:19 +02:00
codecalm
f2c0c65f98 feat: Add package managers data and update tabs documentation 2025-05-17 15:20:08 +02:00
codecalm
06021fad99 Refactor SCSS variables for code styling 2025-05-17 14:36:22 +02:00
codecalm
bd67b3f82e feat: Add social media links and GitHub edit link in documentation layout 2025-05-17 14:16:02 +02:00
codecalm
8e2acc82e0 Merge branch 'dev' of https://github.com/tabler/tabler into dev 2025-05-17 13:58:46 +02:00
codecalm
85f212293d chore: Update package dependencies and improve welcome link 2025-05-17 13:57:52 +02:00
Paweł Kuna
72a1d67709 Refactor breadcrumb and vector map components, add clipboard functionality (#2378)
Co-authored-by: ethancrawford <ethan_jc@hotmail.com>
2025-05-17 00:46:31 +02:00
Paweł Kuna
638f36c0c5 Refactor SCSS variable names for shadows (#2377) 2025-05-16 22:37:38 +02:00
Paweł Kuna
f769abd70b Add FullCalendar integration with sample events and styling (#2363) 2025-05-16 22:27:48 +02:00
ethancrawford
3a02ef9c55 Prevent some marketing site rows overflowing on mobile (#2375)
Co-authored-by: Paweł Kuna <1282324+codecalm@users.noreply.github.com>
2025-05-16 22:27:18 +02:00
BG-Software
38ea9aa4e7 Use primary color for ::selection inside <code> in docs (#2382) 2025-05-16 22:26:25 +02:00
codecalm
acbe4ff35f Merge branch 'dev' of https://github.com/tabler/tabler into dev 2025-05-15 23:52:04 +02:00
Paweł Kuna
b5e2f54bf8 Enhance dropdown components for better accessibility (#2370) 2025-05-15 23:49:10 +02:00
codecalm
e2411b3518 fix: Refactor SCSS variable names for shadows 2025-05-15 23:44:22 +02:00
codecalm
44a1979b78 Update version type for "@tabler/core" to minor in changeset 2025-05-12 23:28:44 +02:00
codecalm
bccdeee779 Replace "@tabler/preview" with "@tabler/core" in changeset files 2025-05-12 23:26:42 +02:00
codecalm
5cb041275d Improve documentation clarity by refining section descriptions and adjusting table of contents behavior 2025-05-12 23:24:19 +02:00
codecalm
27c866b3c3 Update linked packages in changeset configuration 2025-05-12 23:23:19 +02:00
Mikołaj Sojka
c127d65605 Fix colour picker preview page not displaying correctly (#2321)
Co-authored-by: codecalm <codecalm@gmail.com>
Co-authored-by: Paweł Kuna <1282324+codecalm@users.noreply.github.com>
2025-05-12 22:56:32 +02:00
codecalm
f15d2b97f8 Update dependencies 2025-05-12 22:20:10 +02:00
dependabot[bot]
1f4906cc40 chore(deps): bump @babel/runtime-corejs3 from 7.26.7 to 7.27.1 (#2335)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-12 22:14:56 +02:00
Paweł Kuna
f8075f69c0 Add documentation for 3rd-party libraries and resources (#2356)
Co-authored-by: Kevin Papst <kevinpapst@users.noreply.github.com>
Co-authored-by: Bartłomiej Gawęda <bagaweda@gmail.com>
2025-05-12 22:14:42 +02:00
Mikołaj Sojka
fd0fd47bb2 Improve card footer layout and enhance entry display format in invoices (#2345)
Co-authored-by: codecalm <codecalm@gmail.com>
Co-authored-by: Paweł Kuna <1282324+codecalm@users.noreply.github.com>
2025-05-12 22:14:27 +02:00
Paweł Kuna
a41c9565f1 Remove unnecessary !important from body padding (#2357) 2025-05-12 22:13:51 +02:00
BG-Software
7fc1d5c11c Fix: Exclude headings in the carousel and modal examples from ToC (#2362) 2025-05-12 22:13:38 +02:00
BG-Software
222ddd4b2f Change WYSIWYG title to uppercase (#2368) 2025-05-12 20:55:32 +02:00
Paweł Kuna
ddd3753cde Fix WYSIWYG documentation (#2359) 2025-05-12 20:30:33 +02:00
Paweł Kuna
b9d434dcd4 feat: Add new charts to dashboard pages (#2366)
Co-authored-by: Bartłomiej Gawęda <bagaweda@gmail.com>
2025-05-12 20:28:35 +02:00
ethancrawford
6a3513f8e9 Add a few small documentation fixes and updates (#2360)
Co-authored-by: BG-Software <73077398+BG-Software-BG@users.noreply.github.com>
2025-05-12 18:48:48 +02:00
codecalm
21bf92608d Enhance color variables and update color display in documentation 2025-05-11 19:44:21 +02:00
482 changed files with 20851 additions and 10468 deletions

View File

@@ -1,5 +0,0 @@
---
"@tabler/preview": patch
---
Update illustrations to v1.7

View File

@@ -1,5 +0,0 @@
---
"@tabler/preview": patch
---
Add SRI hashes to scripts and styles

View File

@@ -1,5 +0,0 @@
---
"@tabler/docs": patch
---
fix: improve Introduction, Base, Layout and Plugins sections in documentation

View File

@@ -3,8 +3,18 @@
"changelog": "@changesets/cli/changelog",
"commit": false,
"fixed": [],
"linked": [],
"linked": [
[
"@tabler/core",
"@tabler/preview",
"@tabler/docs"
]
],
"access": "public",
"baseBranch": "dev",
"ignore": []
"ignore": [],
"privatePackages": {
"version": true,
"tag": false
}
}

View File

@@ -1,5 +0,0 @@
---
"@tabler/docs": patch
---
Fix input mask example in docs

View File

@@ -1,5 +0,0 @@
---
"@tabler/preview": patch
---
Update icons to v3.31.0

View File

@@ -1,5 +0,0 @@
---
"@tabler/docs": patch
---
Fix broken links to other docs section and tabler.io website; improve some labels.

View File

@@ -1,5 +0,0 @@
---
"@tabler/preview": patch
---
Add "text features" menu item

View File

@@ -1,5 +0,0 @@
---
"@tabler/preview": patch
---
Correct `aria-label` of app menu link

View File

@@ -1,5 +0,0 @@
---
"@tabler/docs": patch
---
Fix switch icon examples with filled icons in documentation

View File

@@ -1,5 +0,0 @@
---
---
Add missing metadata for Tabler Documentation

View File

@@ -1,5 +0,0 @@
---
"@tabler/preview": patch
---
Fix color badge in navbar menu

View File

@@ -1,5 +0,0 @@
---
"@tabler/docs": patch
---
Fix documentation: remove duplicated code examples; increase height of dropdown examples; fix some links

View File

@@ -1,5 +0,0 @@
---
"@tabler/docs": patch
---
Fix ribbon component in the documentation

View File

@@ -1,5 +0,0 @@
---
"@tabler/core": "patch"
---
Fix colour swatches on small screens

View File

@@ -1,5 +0,0 @@
---
"@tabler/preview": patch
---
Add missing `tw` entry in `flags.json`

View File

@@ -1,5 +0,0 @@
---
"@tabler/preview": patch
---
Delete missing demo RTL style

View File

@@ -1,5 +0,0 @@
---
---
Fix broken RTL preview

View File

@@ -1,5 +0,0 @@
---
"@tabler/docs": patch
---
Fix incorrect label text on form elements docs page

View File

@@ -1,5 +0,0 @@
---
"@tabler/docs": patch
---
Use tabs-package include to show webfont install steps

View File

@@ -1,5 +0,0 @@
---
"@tabler/docs": patch
---
Demonstrate sticky header table more clearly in docs

View File

@@ -1,5 +0,0 @@
---
"@tabler/preview": patch
---
Add new form layout page

View File

@@ -1,5 +0,0 @@
---
"@tabler/docs": patch
---
Replace non-existent Vimeo file and enhance the inline player documentation

View File

@@ -1,5 +0,0 @@
---
"@tabler/docs": patch
---
Exclude headings inside `.example` from the Table of Contents

View File

@@ -1,5 +0,0 @@
---
"@tabler/core": patch
---
Fix missing border-radius to `.card-header-tabs`

View File

@@ -1,5 +0,0 @@
---
"@tabler/docs": patch
---
Add missing `.steps-vertical` classes in docs

View File

@@ -1,5 +0,0 @@
---
"@tabler/docs": patch
---
Use color-input examples in documentation

View File

@@ -1,5 +0,0 @@
---
---
Add URL for local dev version of docs app to README

View File

@@ -1,5 +0,0 @@
---
"@tabler/docs": patch
---
Fix `src` links to images in README and getting-started docs page

100
.cursor/rules/changelog.mdc Normal file
View File

@@ -0,0 +1,100 @@
---
description: Cursor Rules for Tabler Changesets
globs:
alwaysApply: true
---
### File Structure
- Each change must be in a separate changeset file in `.changeset/` directory
- Use descriptive kebab-case filenames (e.g., `progress-sizes.md`, `button-ghost.md`)
- Follow the standard changeset format with frontmatter and description
### Change Description Format
- **One sentence per changeset** - keep descriptions concise and focused
- Use **backticks for code elements**: classes (`.btn-ghost`), properties (`stroke-width`), values (`1.5`), icons (`arrow-up`)
- Start with action verbs: "Added", "Updated", "Fixed", "Removed"
- Be specific about what was changed
### Version Bump Guidelines
- **Major**: Breaking changes, complete rewrites
- **Minor**: New features, new components, new pages, significant enhancements
- **Patch**: Bug fixes, small improvements, style updates, accessibility fixes
### Package Selection
- `"@tabler/core"`: Changes to SCSS, core functionality, CSS classes
- `"@tabler/preview"`: New pages, demo updates, preview-specific changes
- `"@tabler/docs"`: Documentation updates
- Use multiple packages when change affects multiple areas
### Examples
#### New Feature (Minor)
```md
---
"@tabler/core": minor
"@tabler/preview": minor
---
Added Progress Steps component for step-by-step navigation indicators.
```
#### Bug Fix (Patch)
```md
---
"@tabler/core": patch
---
Updated `stroke-width` for `.icon-sm` from `1` to `1.5` for better visibility.
```
#### New Page (Minor)
```md
---
"@tabler/preview": minor
---
Added new onboarding page with progress indicator and navigation layout.
```
#### Style Enhancement (Patch)
```md
---
"@tabler/core": patch
---
Added smooth transitions for progress bar width and background color changes.
```
### Code Formatting Rules
- Class names: `.btn-ghost`, `.progress-lg`, `.icon-sm`
- CSS properties: `stroke-width`, `background-color`, `width`
- Values: `1.5`, `transparent`, `100%`
- Icon names: `arrow-up`, `arrow-down`, `trending-up`
- HTML attributes: `aria-label`, `role`, `data-*`
- JavaScript functions: `addEventListener()`, `querySelector()`
### Common Patterns
- **Component additions**: "Added [ComponentName] component for [purpose]"
- **Size variants**: "Added [size] size variant for [component] (`.class-size`)"
- **Style fixes**: "Fixed [issue] in [component/element]"
- **Icon updates**: "Updated [component] to use `new-icon` instead of `old-icon`"
- **Accessibility**: "Improved accessibility by [specific change]"
### Commit Message Format
Use English for commit messages following conventional commit format when possible:
- `feat: add progress steps component`
- `fix: update icon stroke width for better visibility`
- `style: add smooth transitions to progress bars`

View File

@@ -0,0 +1,171 @@
---
description: Tabler Project HTML Elements Guidelines
globs: ["**/*.html", "**/*.liquid", "**/*.md"]
alwaysApply: true
---
## HTML Elements Guidelines
### 1. Icons
When you need to use an icon, always use the Tabler icon include syntax:
```html
{% include "ui/icon.html" icon="ICON_NAME" %}
```
**Examples:**
- `{% include "ui/icon.html" icon="home" %}`
- `{% include "ui/icon.html" icon="building-community" %}`
- `{% include "ui/icon.html" icon="map-pin" %}`
### 2. Page Links
When linking to other pages, always use the relative page syntax:
```html
href="{{ page | relative }}/url.html"
```
**Examples:**
- `href="{{ page | relative }}/job-post.html"`
- `href="{{ page | relative }}/job-listing.html"`
- `href="{{ page | relative }}/marketing/index.html"`
### 3. Static Generation
All pages are statically generated to HTML using Eleventy (11ty). Keep this in mind when:
- Writing frontmatter (must be static YAML, no Liquid templating)
- Creating dynamic content (use Liquid templating in the body, not frontmatter)
- Linking between pages (use relative paths)
### 4. Additional Guidelines
#### Frontmatter Rules
- Frontmatter must be static YAML
- Cannot use Liquid templating in frontmatter
- Use static values for title, permalink, etc.
#### Liquid Templating
- Use Liquid templating only in the HTML body
- Access data using `{{ variable }}` syntax
- Use `{% for %}` loops for dynamic content
- Use `{% if %}` conditions for conditional rendering
#### File Structure
- Pages go in `preview/pages/`
- Includes go in `shared/includes/`
- Data files go in `shared/data/`
- Documentation goes in `docs/content/`
#### CSS Classes
- Use Bootstrap 5 classes
- Use Tabler's custom CSS classes
- Follow the pattern: `--#{$prefix}component-property`
#### Accessibility
- Include proper ARIA labels
- Use semantic HTML elements
- Ensure proper heading hierarchy
- Add alt text for images
### 5. Component Usage
#### Cards
- Use `card` class for main containers
- Use `card-body` for content areas
- Use `card-header` for card headers
- Use `card-title` for card title
#### Buttons
- Use `btn` class for all buttons
- Use `btn-primary` for primary actions
- Use `btn` for secondary actions, don't use `btn-outline-secondary`
- Use `btn-sm` for smaller buttons
- Use `w-100` for full-width buttons
#### Forms
- Use `form-control` for input fields
- Use `form-label` for labels
- Use `form-check` for checkboxes/radio buttons
- Use `form-select` for dropdowns
#### Layout
- Use Bootstrap grid system (`row`, `col-*`)
- Use `container-xl` for main containers
- Use `page-wrapper` for page structure
- Use `page-body` for main content area
#### Badges
- Use `badge` class for badges
- Don't use `badge-outline` for badges, use `badge` class instead
- Don't use `badge-primary` for badges, use `badge` class instead
- Don't change the text color of badges
#### Markdown
- Use `markdown` class for markdown content
- Apply to containers that render markdown content
- Example: `<div class="markdown">...</div>`
#### Rest of the rules
- Read the rest of the rules in the `docs/content/ui/` folder
### 6. Data Integration
#### Using JSON Data
```liquid
{% for item in items %}
<div>{{ item.name }}</div>
{% endfor %}
```
#### Conditional Rendering
```liquid
{% if condition %}
<div>Content</div>
{% endif %}
```
#### Including Components
```liquid
{% include "ui/button.html" color="primary" text="Click me" %}
```
### 7. Best Practices
#### Performance
- Minimize nested loops
- Use `limit` filters when iterating large datasets
- Optimize images for web use
#### Code Organization
- Keep components modular and reusable
- Use consistent naming conventions
- Comment complex logic
- Group related functionality together
#### Error Handling
- Always check if data exists before using it
- Provide fallback content for missing data
- Use `{% if %}` guards for optional content

56
.cursor/rules/main.mdc Normal file
View File

@@ -0,0 +1,56 @@
---
description: Tabler Project Rules
globs:
alwaysApply: true
---
## Documentation Standards
- Always write documentation in English (not Polish) for technical content
- Use clear, descriptive headings with proper hierarchy (##, ###)
- Include practical examples with code snippets
- Add explanations for each component's purpose and usage
- Use consistent formatting for code blocks and examples
## CSS/SCSS Guidelines
- Follow Tabler's CSS custom properties pattern: `--#{$prefix}component-property`
- Use semantic class names that describe purpose, not appearance
- Maintain consistent spacing and indentation in SCSS files
- Group related styles together with clear comments
- Use Bootstrap-compatible class naming conventions
## Component Documentation Structure
- Start with a brief description of the component's purpose
- Show basic usage examples first
- Include variations and modifiers
- Add accessibility considerations where relevant
- Provide code examples that are copy-paste ready
## File Organization
- Keep documentation files in `docs/content/ui/components/`
- Use consistent naming: lowercase with hyphens
- Include frontmatter with title, summary, and description
- Link to Bootstrap documentation when relevant
## Code Examples
- Use Liquid templating syntax for dynamic examples
- Include both HTML and rendered output
- Show responsive behavior where applicable
- Demonstrate proper accessibility attributes
## Git Commit Messages
- Use English for commit messages
- Follow conventional commit format when possible
- Be descriptive about what was changed and why
## Project-Specific Conventions
- Tabler uses Bootstrap 5 as a foundation
- Custom components extend Bootstrap functionality
- Documentation should be comprehensive but concise
- Examples should be practical and immediately usable

View File

@@ -26,7 +26,7 @@ jobs:
if: false
steps:
- name: Clone repository
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Cache turbo build setup
uses: actions/cache@v4
@@ -36,14 +36,15 @@ jobs:
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: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: "${{ env.NODE }}"
cache: 'pnpm'
- name: Get installed Playwright version
id: playwright-version
run: echo "PLAYWRIGHT_VERSION=$(node -e "console.log(require('./package.json').devDependencies['@playwright/test'])")" >> $GITHUB_ENV

View File

@@ -17,7 +17,7 @@ jobs:
steps:
- name: Clone repository
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Cache turbo build setup
uses: actions/cache@v4
@@ -27,14 +27,15 @@ jobs:
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: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: "${{ env.NODE }}"
cache: 'pnpm'
- name: Set up Bundler
uses: ruby/setup-ruby@v1
with:

View File

@@ -16,7 +16,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
persist-credentials: false

View File

@@ -11,7 +11,7 @@ jobs:
pull-requests: write
issues: write
steps:
- uses: actions/stale@v9
- uses: actions/stale@v10
with:
days-before-issue-stale: 360
days-before-issue-close: 14

View File

@@ -12,11 +12,10 @@ jobs:
name: Verify lock file integrity
steps:
- name: Clone Tabler
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Prevent lock file change
uses: xalvarez/prevent-file-change-action@v2
uses: xalvarez/prevent-file-change-action@v3
with:
githubToken: ${{ secrets.GITHUB_TOKEN }}
pattern: Gemfile.lock|pnpm-lock.json
trustedAuthors: codecalm, dependabot
pattern: Gemfile.lock|pnpm-lock.json|pnpm-lock.yaml
trustedAuthors: codecalm, BG-Software-BG, dependabot

View File

@@ -21,16 +21,17 @@ jobs:
pull-requests: write # to create pull request
steps:
- name: Checkout Repo
uses: actions/checkout@v4
- name: Setup Node.js 18
uses: actions/setup-node@v4
with:
node-version: 20
uses: actions/checkout@v6
- name: Install PNPM
uses: pnpm/action-setup@v4
- name: Setup Node.js 18
uses: actions/setup-node@v6
with:
node-version: "${{ env.NODE }}"
cache: 'pnpm'
- name: Install Dependencies
run: pnpm install

View File

@@ -14,7 +14,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Clone repository
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Cache turbo build setup
uses: actions/cache@v4
@@ -24,14 +24,15 @@ jobs:
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: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: "${{ env.NODE }}"
cache: 'pnpm'
- run: node --version
- name: Install pnpm dependencies

View File

@@ -4,7 +4,17 @@
"printWidth": 320,
"proseWrap": "always",
"semi": false,
"singleQuote": false,
"singleQuote": true,
"quoteProps": "consistent",
"tabWidth": 2,
"trailingComma": "all"
"useTabs": false,
"trailingComma": "all",
"overrides": [
{
"files": "*.scss",
"options": {
"parser": "scss"
}
}
]
}

View File

@@ -23,24 +23,8 @@ A premium and open source dashboard template with a responsive and high-quality
</a>
</p>
<p align="center">
<a href="https://github.com/sponsors/codecalm" target="_blank">
<img src="https://raw.githubusercontent.com/tabler/tabler/dev/shared/static/sponsor-banner-homepage.svg" alt="Sponsor Banner">
</a>
</p>
## Testing
<p align="center">Visual testing with:</p>
<p align="center">
<a href="https://argos-ci.com/" target="_blank">
<picture>
<img src="https://github.com/user-attachments/assets/7d231a26-eff5-4fc5-8392-b2a679a7c572" alt="Argos-CI" height="164" />
</picture>
</a>
</p>
<p align="center">Browser testing via:</p>
<p align="center">

View File

@@ -0,0 +1,82 @@
import fs from 'fs';
import path from 'path';
import { fileURLToPath } from 'url';
// Get __dirname in ES modules
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
// File paths (relative to core/.build directory)
const bootstrapPath = path.join(__dirname, '../node_modules/bootstrap/scss/_variables.scss');
const tablerPath = path.join(__dirname, '../scss/_variables.scss');
// Function to extract variable names from SCSS file
function extractVariables(filePath) {
const content = fs.readFileSync(filePath, 'utf8');
const variables = new Set();
// Regex to find SCSS variables
// Looks for patterns like: $variable-name: value
// Includes variables in maps and lists
const variableRegex = /\$([a-zA-Z0-9_-]+)\s*[:=]/g;
let match;
while ((match = variableRegex.exec(content)) !== null) {
const varName = match[1];
variables.add(varName);
}
return variables;
}
// Main function
function compareVariables() {
console.log('Analyzing Bootstrap variables...');
const bootstrapVars = extractVariables(bootstrapPath);
console.log(`Found ${bootstrapVars.size} variables in Bootstrap\n`);
console.log('Analyzing Tabler variables...');
const tablerVars = extractVariables(tablerPath);
console.log(`Found ${tablerVars.size} variables in Tabler\n`);
// Find variables that are in Bootstrap but not in Tabler
const missingInTabler = [];
for (const varName of bootstrapVars) {
if (!tablerVars.has(varName)) {
missingInTabler.push(varName);
}
}
// Sort alphabetically
missingInTabler.sort();
console.log('='.repeat(60));
console.log(`Variables in Bootstrap that are missing in Tabler: ${missingInTabler.length}`);
console.log('='.repeat(60));
if (missingInTabler.length === 0) {
console.log('All Bootstrap variables are present in Tabler!');
} else {
console.log('\nList of missing variables:\n');
missingInTabler.forEach((varName, index) => {
console.log(`${(index + 1).toString().padStart(4)}. $${varName}`);
});
}
// Optionally: show statistics
console.log('\n' + '='.repeat(60));
console.log('Statistics:');
console.log(` Bootstrap: ${bootstrapVars.size} variables`);
console.log(` Tabler: ${tablerVars.size} variables`);
console.log(` Missing: ${missingInTabler.length} variables`);
console.log(` Coverage: ${((1 - missingInTabler.length / bootstrapVars.size) * 100).toFixed(1)}%`);
console.log('='.repeat(60));
}
// Run analysis
try {
compareVariables();
} catch (error) {
console.error('Error during analysis:', error.message);
process.exit(1);
}

33
core/.build/copy-libs.mjs Normal file
View 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}`)
}
}

View File

@@ -0,0 +1,55 @@
#!/usr/bin/env node
'use strict'
import { existsSync, mkdirSync } from 'fs'
import { copySync } from 'fs-extra/esm'
import { fileURLToPath } from 'url'
import { join, dirname } from 'node:path'
const __dirname = dirname(fileURLToPath(import.meta.url))
const fromDir = join(__dirname, '..', 'node_modules/geist/dist/fonts')
const toDir = join(__dirname, '..', 'fonts')
// Create fonts directory if it doesn't exist
if (!existsSync(toDir)) {
mkdirSync(toDir, { recursive: true })
}
// Copy geist-mono fonts
const monoFrom = join(fromDir, 'geist-mono')
const monoTo = join(toDir, 'geist-mono')
if (existsSync(monoFrom)) {
if (!existsSync(monoTo)) {
mkdirSync(monoTo, { recursive: true })
}
copySync(monoFrom, monoTo, {
dereference: true,
})
console.log(`Successfully copied geist-mono fonts`)
} else {
console.warn(`Warning: geist-mono fonts not found at ${monoFrom}`)
}
// Copy geist-sans fonts
const sansFrom = join(fromDir, 'geist-sans')
const sansTo = join(toDir, 'geist-sans')
if (existsSync(sansFrom)) {
if (!existsSync(sansTo)) {
mkdirSync(sansTo, { recursive: true })
}
copySync(sansFrom, sansTo, {
dereference: true,
})
console.log(`Successfully copied geist-sans fonts`)
} else {
console.warn(`Warning: geist-sans fonts not found at ${sansFrom}`)
}

View File

@@ -1,182 +1,300 @@
# Changelog
# @tabler/core
## `1.2.0` - 2025-04-16
## 1.5.0
- Add gradient background utilities
- Add new apps card with brand icons in navbar
- Replaced TinyMCE with HugeRTE to address license violation
- Update Bootstrap to version 5.3.5
- Add theme settings wizard
- Add steps light colors
- Add Turbo library integration
- Rollback accordion component structure
- Add space between page numbers in pagination
- Add Bootstrap components to Tabler JS
- Fix tooltip colors in vector maps
- Update avatar size variable to support list size configuration
- Fix broken shape in South Korea flag
- Refactor `border-radius` in components to use CSS variables
- Update disabled color variables in navbars
- Apply border radius to `tom-select` on focus
- Add avatars page with various demos of avatars
- Minor spelling and grammar improvements to emails docs
- Update avatar size variable to support list size configuration
- Refactor SCSS for alerts and close button styles
- Fix `autosize` and `input mask` plugins to use window scope
- Fix scrollbar color mixin to use body color variable
- Improve README
- Make scrollbar track transparent
- Fix scrollbar jumps when content is higher than screen
- Add responsive font size for form controls on mobile devices
- Add new advanced table example
### Minor Changes
## `1.1.1` - 2025-03-01
- 5e119d4: Added Pay page with dedicated layout, navigation link, and card/PayPal payment form.
- 9c5d729: Added `.btn-ghost` button variant with transparent background and hover effects.
- ec94693: Added `.card-gradient` component with gradient variants, direction modifiers, and animated backgrounds.
- a198b0c: Added Geist font family integration.
- 8d8727f: Added language selector dropdown to navbar with flag indicators for multilingual support.
- 4ce08ca: Refactored navbar-side component by consolidating separate include files (apps, language, notifications, theme, user) into a single `navbar-side.html` file for better maintainability.
- 9c5d729: Added Progress Background component with text labels and value display.
- 9c5d729: Added `.progress-lg` and `.progress-xl` size variants for the progress component.
- 9c5d729: Added Progress Steps component for step-by-step navigation indicators.
- e3d86c5: Upgraded `apexcharts` from `3.54.1` to `5.3.6` and added CSS variables (`--chart-{id}-color-{index}`) for dynamic chart colors to fix compatibility with the new version.
- Fix Documentation structure
### Patch Changes
## `1.1.0` - 2025-03-01
- 059bae1: Refactored Bootstrap exports to use single source of truth in `bootstrap.js` and removed duplicate exports from `tabler.js` for better maintainability.
- 5018aa9: Fixed `.btn-icon` to be square by aligning `min-width` calculation with base `.btn` formula.
- c860288: Fixed icon alignment for `.btn-sm` and `.btn-xl` sizes.
- 2dc7eda: Updated `$border-color-translucent-dark` from `rgba(72, 110, 149, 0.14)` to `rgba(128, 150, 172, 0.2)` to improve visibility of form checkboxes and other form elements in dark mode.
- 6e656ad: Fixed `.input-icon-addon` z-index issue with form validation feedback and added default height.
- 8bc6fa7: Fixed status color classes to use CSS variables instead of hardcoded values and include social colors (bitbucket, facebook, etc.) in status class generation.
- e206d7a: Fixed white space on left side when scrollbar is present by replacing `margin-inline-start: calc(100vw - 100%)` with `scrollbar-gutter: stable` on `html` element, with `overflow-y: scroll` fallback for unsupported browsers.
- 4ce08ca: Updated flags and avatars styling for better visual consistency.
- b8b63d7: Fixed mixed declarations in SCSS.
- 0106d6b: Update SCSS to use logical properties
- 9c5d729: Updated `stroke-width` for `.icon-sm` from `1` to `1.5` for better visibility.
- 5e119d4: Added `bg-blur` utility and increased `container-tight` width for layout flexibility.
- 3aba62e: Added `border-top-left-radius` and `border-top-right-radius` to first and last child elements in `.card-table` for proper corner rounding.
- 0c79963: Added `media-print` mixin and print styles to hide interactive components during printing.
- 9a3361f: Fixed double bottom border in tables.
- 9c5d729: Added smooth transitions for progress bar `width` and `background-color` changes.
- 41ed22a: Removed redundant nullish coalescing operator from `html` option in popover and tooltip initialization.
- 83ec6f8: Added Driver.js library integration and Tour demo page for interactive product tours and onboarding guides.
- 9c5d729: Updated skip-link to use `visually-hidden` for improved accessibility.
- 736e604: Updated deprecated global Sass functions to module equivalents (`map.merge`, `string.slice`, `math.percentage`, etc.).
- f8dee0a: Updated Bootstrap to v5.3.8.
- 9c5d729: Updated trending component to use `arrow-up`/`arrow-down` instead of `trending-up`/`trending-down`.
- Add Playwright configuration and visual regression tests
- Enable `scrollSpy` in `countup` module
- Refactor SCSS files to replace divide function with calc
- Add Segmented Control component
- Add new text features page with mentions: user, color and app.
- Add Scroll Spy page
- Update border radius variables for consistency across components
- Add Signature Pad feature and signatures page
- Update color utility classes and replace background colors in pricing table
- Refactored the project into a monorepo, removed Gulp, and introduced a new, more efficient build process.
- Add documentation for segmented control component
- Add new payment provider (Troy)
- Add selectable table functionality with active background color
- Refactor badge styles, remove Bootstrap styles
- Refactor alert component styles and markup, remove Bootstrap styles
- Refactor accordion component styles and markup, remove Bootstrap styles
- Fix overflow of `label` in a `floating-input`
- Fix size of `apexcharts` tooltip marker
- Fix apexcharts heatmap example in docs
- Fix negative margins in `.navbar-bordered` variant
- Use the full license agreement for illustrations in docs
- Fix vertical alignment in single page and error layouts
- Fix `.avatar-upload` double borders
- Fixes navbar styles with new hover effects and color variables
## 1.4.0
## `1.0.0` - 2025-01-28
### Minor Changes
- Add new `Tag` component
- Add customizable Star Ratings component using `star-rating.js` library
- Add `flags.html` page with list of all flags
- Update CSS class from `text-muted` to `text-secondary` for better Bootstrap compatibility
- Adding `alerts.html` page with example of alerts.
- Change primary color value to new Tabler branding
- Unify dark mode with latest Bootstrap API and improve dark mode elements
- New Chat component
- Adjusting form element sizes for enhanced mobile devices compatibility
- Add new color picker component using `coloris.js` library
- Update Tabler Icons to version 2.23 with 18 new icons added
- New page with payment providers: `payment-providers.html`
- 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,
- 9951fe9: Enhance button and hover animations
- a200d30: Improve breadcrumb styles
- 49ab9ea: Add new Tabler Illustrations
### Patch Changes
- 6c4dd36: Update class names from `*-left`, `*-right` to `*-start`, `*-end`
- 6fec73a: Fix relative line heights in buttons
- db6200a: Remove `license_key` option from HugeRTE init object
- e96f055: Add different favicon to development environment
- 6c38a48: Update Bootstrap to v5.3.7
- 2a12f72: Update CSS calculations to use `calc()`
- 666a296: Fix list group item hoverable only with `.list-group-hoverable` class
- cfd4cb6: Fix `.pagination-link` hover styles to non-active items
## 1.3.2
### Patch Changes
- 446c34e: Fix README file in core package
## 1.3.1
### Patch Changes
- a7f73d7: Fix README file in core package
## 1.3.0
### Minor Changes
- a1af801: Add FullCalendar integration
- b9d434d: Add new charts to dashboard pages
- 79bd867: Add new form layout page
### Patch Changes
- cac5d92: Update illustrations to v1.7
- f94b153: Add SRI hashes to scripts and styles
- c127d65: Fix colour picker preview page not displaying correctly
- b6e9b18: Update icons to v3.31.0
- 8850f61: Enhance pagination component with new styles
- 9910dd0: Add "text features" menu item
- 638f36c: Refactor SCSS variable names for shadows
- 0d501e9: Correct `aria-label` of app menu link
- 3a02ef9: Fix some marketing site rows overflowing on mobile
- fd0fd47: Improve card footer layout and enhance entry display format in invoices
- 74e5d26: Fix color badge in navbar menu
- 72a1d67: Add clipboard functionality to Tabler documentation
- bb617b8: Fix colour swatches on small screens
- d73d78e: Add missing `tw` entry in `flags.json`
- 19a3d20: Delete missing demo RTL style
- b5e2f54: Enhance dropdown components for better accessibility
- a41c956: Remove unnecessary `!important` from body padding
- e675389: Fix missing border-radius to `.card-header-tabs`
- 9007e73: Fix FAQ accordion structure
## 1.2.0
### Minor Changes
- c59bc9d: Add gradient background utilities
- f9e4da2: Add new apps card with brand icons in navbar
- 92a3afe: Replaced TinyMCE with HugeRTE to address license violation
- 199f39a: Update Bootstrap to version 5.3.5
- 9bbcb99: Add theme settings wizard
- b17b488: Add steps light colors
- 215eaa4: Add Turbo library integration
### Patch Changes
- aea3b0a: Rollback accordion component structure
- 3fc7b84: Add space between page numbers in pagination
- 2f8a372: Add Bootstrap components to Tabler JS
- 9fceadd: Fix tooltip colors in vector maps
- 44250db: Update avatar size variable to support list size configuration
- be1f3d1: Fix broken shape in South Korea flag
- c20d076: Refactor `border-radius` in components to use CSS variables
- 042e50f: Update disabled color variables in navbars
- 473fa38: Apply border radius to `tom-select` on focus
- 8646192: Add avatars page with various demos of avatars
- 922bb03: Minor spelling and grammar improvements to emails docs
- 44250db: Update avatar size variable to support list size configuration
- ddcd3a7: Refactor SCSS for alerts and close button styles
- e3d68d6: Fix `autosize` and `input mask` plugins to use window scope
- 4846828: Fix scrollbar color mixin to use body color variable
- 6b6617a: Improve README
- 94bea00: Make scrollbar track transparent
- e14e492: Fix scrollbar jumps when content is higher than screen
- 6d6d1bd: Add responsive font size for form controls on mobile devices
- 6c566cf: Add new advanced table example
## 1.1.1
### Patch Changes
- f29c911: Fix Documentation structure
## 1.1.0
### Minor Changes
- a2640e2: Add Playwright configuration and visual regression tests
- d3ae77c: Enable `scrollSpy` in `countup` module
- bd3d959: Refactor SCSS files to replace divide function with calc
- cb278c7: Add Segmented Control component
- b47725d: Add new text features page with mentions: user, color and app.
- b4b4d1a: Add Scroll Spy page
- 9cd5327: Update border radius variables for consistency across components
- 4376968: Add Signature Pad feature and signatures page
- f95f250: Update color utility classes and replace background colors in pricing table
- eaa7f81: Refactored the project into a monorepo, removed Gulp, and introduced a new, more efficient build process.
- ea14462: Add documentation for segmented control component
- 1edaff4: Add new payment provider (Troy)
- edbaa1e: Add selectable table functionality with active background color
- 378fba8: Refactor badge styles, remove Bootstrap styles
- f3c409f: Refactor alert component styles and markup, remove Bootstrap styles
- c240b5a: Refactor accordion component styles and markup, remove Bootstrap styles
### Patch Changes
- 687267d: Fix overflow of `label` in a `floating-input`
- 06b1dec: Fix size of `apexcharts` tooltip marker
- afd0700: Fix apexcharts heatmap example in docs
- 78383ef: Fix negative margins in `.navbar-bordered` variant
- 11f4487: Use the full license agreement for illustrations in docs
- b28ce9f: Fix vertical alignment in single page and error layouts
- 24b944c: Fix `.avatar-upload` double borders
- ca4ba14: Fixes navbar styles with new hover effects and color variables
## 1.0.0 - 2025-01-28
### Minor Changes
- c276a8b: Add new `Tag` component
- d380224: Add customizable Star Ratings component using `star-rating.js` library
- 47cd6c1: Add `flags.html` page with list of all flags
- be67ab6: Update CSS class from `text-muted` to `text-secondary` for better Bootstrap compatibility
- 080c746: Adding `alerts.html` page with example of alerts.
- b381273: Change primary color value to new Tabler branding
- 75619dd: Unify dark mode with latest Bootstrap API and improve dark mode elements
- cc82dbf: New Chat component
- 5a03643: Adjusting form element sizes for enhanced mobile devices compatibility
- be14607: Add new color picker component using `coloris.js` library
- d046570: Update Tabler Icons to version 2.23 with 18 new icons added
- 5488c50: New page with payment providers: `payment-providers.html`
- 5488c50: 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
- Change Twitter to X brand
- Updated link to icons documentation
- Dependencies update
- Order menu items alphabetically
- Automatically retrieve and display the changelog from the CHANGELOG.md file.
- Initialize Visual Studio Code config
- Make horizontal rule direction aware
- Update Tabler Illustrations to v1.5
- Update Tabler Icons to v3.29.0
- Remove unused dependencies from `package.json`
- Replace Jekyll with Eleventy
- Dependencies update
- Update TinyMCE to v7.0
- Fix text color in dark version of navbar
- Remove invalid `z-index` setting for dropdowns
- Update Tabler Icons to version 2.21 with 18 new icons added
- Update Tabler Emails to v2.0
- Init changelog script
- Adding Two-Step Verification Pages
- Replace `.page-center` with `.my-auto` in single page layouts
- Add border-opacity variable for improved color utility
- Fix icon display issues in the Star Ratings component
- Fix `color` of disabled `dropdown-item` in Navbar component
- Bump pnpm/action-setup from 2 to 3
- Add social icons plugin
- `Dockerfile` fix
- Update Jekyll to version 4.3.4
- Update Tabler Icons to version 2.20 with 37 new icons added
- Add Tabler Illustrations
- Update illustrations and enhance SVG handling in HTML
- Fix ids of custom size star ratings
- Unify size of avatar, flag and payment components
- Update icons to v2.42.0
- Update Bootstrap to v5.3.0
- Set `font-size` of an `i` element with `icon` class in a `button` element
- Dependencies update
- Fix icons in `form-elements.html`
- Update Tabler Icons to v3.28.1
- Fix `rgba` color values in `_variables.scss`
- Fix description of alerts with a description
- Fix colors of disabled `.ts-control`
- Center content on error and single page layouts
- Resolve map page issues
- Improve base font family loading
- Introduce Docker Compose Config to build and run Ttabler locally
- Fix `@charset` CSS declaration in bundle.
- Update `_navbar.scss` with disabled dropdown menu items color
- Update Tabler Icons to v3.17.0
- Update `@tabler/icons` to v3.0
- Refactor data structure by converting YAML files to JSON
- Increase `z-index` of `ts-dropdown` to prevent overlapping by buttons
- Adding punctuation to `SECURITY.md`
- Fix form controls bugs in dark mode
- Fix padding in code blocks
- Unified Box Shadows with Bootstrap Compatibility
- Remove duplicated setting of color in `th` element
- Fix layout of search results for small and medium screens
- Remove `text-decoration` on hovering `a` element with class having `icon` class
- Fix small typo in tables docs
- Improve documentation for alerts
- Bump `pnpm/action-setup` from 3 to 4
- Update dependencies
- Update Tabler Icons to version 2.22 with 18 new icons added
- Update devDependencies
- Add All Contributions package to project for easy contribution tracking
- Set value of `$font-family-monospace` as default
- Refactor Dockerfile and package.json
- Resolved light dropdown issue on dark theme
- Enhance documentation
- Update Tabler Icons to version 2.19 with 18 new icons added
- Fix cells with inline icons
- Fix `color` of disabled `nav-link` in `nav-bordered`
- Fix the `z-index` value of the `nav-tab` inside `card-tab` #1933
- Switch from `npm` to `pnpm` for faster package installation
- Increase contrast of active `dropdown-item` in vertical layout
- Update documentation for Tabler components
- Add variable to configure `avatar-list` spacing
- Do not display empty `fieldset` element
- Refactor SCSS variables to use `color.adjust` for improved color manipulation
- Add Tabler Illustrations
- Update required Node.js version to 18 and add `.nvmrc` file
- Fix table default background color
- Avoid SCSS color dependency on `:focus`
- Update changelog configuration and release scripts
- Update Tabler Icons to v3.26.0
- Updated Tabler Icons to v3.24.0
- Update Tabler Icons to version 2.18 with 18 new icons added
- Update Node.js engine requirement to allow versions >=20
- Update Tabler Icons to v3.14.0
- Add Prettier to project for consistent code formatting
- Upgrade Node.js from version 18 to version 20 for improved performance, security, and feature updates.
- Update Tabler Icons to version 2.25 with 48 new icons added
- Fix responsiveness issue in Settings menu
- Added 3 new payments from Nepal: Esewa, FonePay, Khalti and Imepay
- Add new Filled section to Icons page
- Update `bootstrap` to v5.3.1
- Update package dependencies to latest versions
- Fix link to webfont version of Tabler Icons
- Add support for changeset tool for more efficient and organized code changes
- Fix colors in date range datepicker
### Patch Changes
- 293d0a4: Change Twitter to X brand
- fd0935a: Updated link to icons documentation
- 1cf27dc: Dependencies update
- 041f4e4: Order menu items alphabetically
- 20cad01: Automatically retrieve and display the changelog from the CHANGELOG.md file.
- 34f3efc: Initialize Visual Studio Code config
- 7ba7717: Make horizontal rule direction aware
- 063ef58: Update Tabler Illustrations to v1.5
- 5e2c975: Update Tabler Icons to v3.29.0
- 9d5f7ca: Remove unused dependencies from `package.json`
- be69fd6: Replace Jekyll with Eleventy
- 2f5fad6: Dependencies update
- dfd7c88: Update TinyMCE to v7.0
- 056df18: Fix text color in dark version of navbar
- 17327dc: Remove invalid `z-index` setting for dropdowns
- 4ff077a: Update Tabler Icons to version 2.21 with 18 new icons added
- 867c8dd: Update Tabler Emails to v2.0
- d8605f2: Init changelog script
- 89c6234: Adding Two-Step Verification Pages
- f6e885b: Replace `.page-center` with `.my-auto` in single page layouts
- 7aa216f: Add border-opacity variable for improved color utility
- 88eb413: Fix icon display issues in the Star Ratings component
- 78392b6: Fix `color` of disabled `dropdown-item` in Navbar component
- 4deb8f4: Bump pnpm/action-setup from 2 to 3
- 9015472: Add social icons plugin
- 7fe30a1: `Dockerfile` fix
- e53942f: Update Jekyll to version 4.3.4
- 72f868b: Update Tabler Icons to version 2.20 with 37 new icons added
- e0443c0: Add Tabler Illustrations
- 5cca710: Update illustrations and enhance SVG handling in HTML
- 3a4f10f: Fix ids of custom size star ratings
- 7896562: Unify size of avatar, flag and payment components
- 1587905: Update icons to v2.42.0
- d9e00b2: Update Bootstrap to v5.3.0
- bc1d1a3: Set `font-size` of an `i` element with `icon` class in a `button` element
- 0195f9b: Dependencies update
- a5bf5d3: Fix icons in `form-elements.html`
- 736410c: Update Tabler Icons to v3.28.1
- 3f516ea: Fix `rgba` color values in `_variables.scss`
- e91884e: Fix description of alerts with a description
- 90cc744: Fix colors of disabled `.ts-control`
- 1801e41: Center content on error and single page layouts
- 45c83ac: Resolve map page issues
- faee63c: Improve base font family loading
- 5e7e0dd: Introduce Docker Compose Config to build and run Ttabler locally
- c293a66: Fix `@charset` CSS declaration in bundle.
- cb4a681: Update `_navbar.scss` with disabled dropdown menu items color
- af41fb3: Update Tabler Icons to v3.17.0
- 6cbe888: Update `@tabler/icons` to v3.0
- 0e4bf5f: Refactor data structure by converting YAML files to JSON
- 82cf257: Increase `z-index` of `ts-dropdown` to prevent overlapping by buttons
- 4b4b4f6: Adding punctuation to `SECURITY.md`
- a0a2d52: Fix form controls bugs in dark mode
- f45b697: Fix padding in code blocks
- 4de166d: Unified Box Shadows with Bootstrap Compatibility
- 87bf2f5: Remove duplicated setting of color in `th` element
- 5dc45aa: Fix layout of search results for small and medium screens
- 4ae0358: Remove `text-decoration` on hovering `a` element with class having `icon` class
- e798eb6: Fix small typo in tables docs
- 1c1d0c9: Improve documentation for alerts
- 371ef84: Bump `pnpm/action-setup` from 3 to 4
- 8421fc2: Update dependencies
- 0625f5f: Update Tabler Icons to version 2.22 with 18 new icons added
- ba65fc3: Update devDependencies
- a43ded4: Add All Contributions package to project for easy contribution tracking
- 2f622c9: Set value of `$font-family-monospace` as default
- 2c7c448: Refactor Dockerfile and package.json
- 5ec7f05: Resolved light dropdown issue on dark theme
- b0b07b9: Enhance documentation
- 0f129b1: Update Tabler Icons to version 2.19 with 18 new icons added
- 507df7b: Fix cells with inline icons
- 0e5b44a: Fix `color` of disabled `nav-link` in `nav-bordered`
- 65c1300: Fix the `z-index` value of the `nav-tab` inside `card-tab` #1933
- 8552a46: Switch from `npm` to `pnpm` for faster package installation
- 4a9e40d: Increase contrast of active `dropdown-item` in vertical layout
- 17ebdf4: Update documentation for Tabler components
- 4c88481: Add variable to configure `avatar-list` spacing
- df46ee7: Do not display empty `fieldset` element
- 875cafa: Refactor SCSS variables to use `color.adjust` for improved color manipulation
- eb28546: Add Tabler Illustrations
- 650d84c: Update required Node.js version to 18 and add `.nvmrc` file
- fb659d4: Fix table default background color
- f77c712: Avoid SCSS color dependency on `:focus`
- 71c68ce: Update changelog configuration and release scripts
- 34d124d: Update Tabler Icons to v3.26.0
- 4cd9215: Updated Tabler Icons to v3.24.0
- 7bb947b: Update Tabler Icons to version 2.18 with 18 new icons added
- c75cf55: Update Node.js engine requirement to allow versions >=20
- 1c34e8e: Update Tabler Icons to v3.14.0
- 289dd3b: Add Prettier to project for consistent code formatting
- f83e36c: Upgrade Node.js from version 18 to version 20 for improved performance, security, and feature updates.
- b885852: Update Tabler Icons to version 2.25 with 48 new icons added
- 53a5117: Fix responsiveness issue in Settings menu
- 38504e5: Added 3 new payments from Nepal: Esewa, FonePay, Khalti and Imepay
- 35ee14d: Add new Filled section to Icons page
- d32f242: Update `bootstrap` to v5.3.1
- d82f94e: Update package dependencies to latest versions
- 54c5ad0: Fix link to webfont version of Tabler Icons
- 94b83d4: Add support for changeset tool for more efficient and organized code changes
- c51ff28: Fix colors in date range datepicker
## `1.0.0-beta24` - 2025-01-11

42
core/README.md Normal file
View File

@@ -0,0 +1,42 @@
# Tabler Core
Tabler Core is a set of components and utilities for building web applications. It provides a collection of pre-designed components, such as buttons, forms, modals, and more, that can be easily customized and integrated into your projects.
## 🔎 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!
<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>
## Installation
To install Tabler Core, you can use npm or yarn. Run one of the following commands in your terminal:
```bash
npm install @tabler/core
```
or
```bash
pnpm add @tabler/core
```
## Sponsors
**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">
<a href="https://github.com/sponsors/codecalm">
<img src="https://cdn.jsdelivr.net/gh/tabler/sponsors@latest/sponsors.svg" alt="Tabler sponsors">
</a>
</p>
## License
See the [LICENSE](https://github.com/tabler/tabler/blob/master/LICENSE) file.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="21" height="16" fill="none"><mask id="a" width="21" height="16" x="0" y="0" mask-type="alpha" maskUnits="userSpaceOnUse"><path fill="#fff" d="M.001.927h20v15h-20z"/></mask><g mask="url(#a)"><path fill="#F7FCFF" fill-rule="evenodd" d="M.001.927v15h20v-15h-20Z" clip-rule="evenodd"/><mask id="b" width="21" height="16" x="0" y="0" mask-type="alpha" maskUnits="userSpaceOnUse"><path fill="#fff" fill-rule="evenodd" d="M.001.927v15h20v-15h-20Z" clip-rule="evenodd"/></mask><g fill-rule="evenodd" clip-rule="evenodd" mask="url(#b)"><path fill="#3D58DB" d="M.001.927v15h20v-15h-20Z"/><path fill="#FFD018" d="m9.407 3.137-.14.818L10 3.57l.735.386-.14-.818.594-.64h-.821L10 1.695l-.367.804h-.822l.595.639Zm0 10.855-.14.819.734-.387.735.387-.14-.819.594-.639h-.821L10 12.55l-.367.804h-.822l.595.64ZM3.484 9.438l.14-.818-.594-.64h.822l.367-.803.367.804h.822l-.595.639.14.818-.734-.386-.735.386Zm1.352 1.77-.14.818.734-.386.735.386-.14-.818.594-.64h-.821l-.368-.803-.367.804H4.24l.595.639Zm9.009.818.14-.818-.595-.64h.822l.367-.803.368.804h.821l-.594.639.14.818-.735-.386-.734.386Zm-9.01-6.062-.14.818.735-.386.735.386-.14-.818.594-.639h-.821l-.368-.804-.367.804H4.24l.595.64Zm9.01.818.14-.818-.595-.639h.822l.367-.804.368.804h.821l-.594.64.14.817-.735-.386-.734.386ZM6.66 13.29l-.14.819.735-.387.734.386-.14-.818.595-.639h-.822l-.367-.804-.368.804h-.821l.594.64Zm5.418.819.14-.819-.594-.639h.821l.367-.804.368.804h.821l-.594.64.14.817-.735-.386-.734.386ZM6.52 4.666l.735-.387.734.387-.14-.818.595-.64h-.822l-.367-.804-.368.804h-.821l.594.64-.14.818Zm5.558 0 .14-.818-.594-.64h.821l.367-.804.368.804h.821l-.594.64.14.818-.735-.387-.734.387Zm3.062 3.879-.14.818.735-.386.735.386-.14-.818.593-.64h-.82l-.368-.803-.368.804h-.821l.594.639Z"/></g></g></svg>
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="15" fill="none" viewBox="0 0 20 15"><path fill="#3d58db" fill-rule="evenodd" d="M0 0v15h20V0z" clip-rule="evenodd"/><path fill="#ffd018" fill-rule="evenodd" d="m9.407 2.442-.14.818.733-.385.735.386-.14-.818.594-.64h-.821L10 1l-.367.804h-.822zm0 10.855-.14.819.734-.387.735.387-.14-.819.594-.639h-.821L10 11.855l-.367.804h-.822l.595.64zM3.484 8.743l.14-.818-.594-.64h.822l.367-.803.367.804h.822l-.595.639.14.818-.734-.386zm1.352 1.77-.14.818.734-.386.735.386-.14-.818.594-.64h-.821L5.43 9.07l-.367.804H4.24zm9.009.818.14-.818-.595-.64h.822l.367-.803.368.804h.821l-.594.639.14.818-.735-.386zm-9.01-6.062-.14.818.735-.386.735.386-.14-.818.594-.639h-.821l-.368-.804-.367.804H4.24zm9.01.818.14-.818-.595-.639h.822l.367-.804.368.804h.821l-.594.64.14.817-.735-.386zM6.66 12.595l-.14.819.735-.387.734.386-.14-.818.595-.639h-.822l-.367-.804-.368.804h-.821zm5.418.819.14-.819-.594-.639h.821l.367-.804.368.804h.821l-.594.64.14.817-.735-.386zM6.52 3.971l.735-.387.734.387-.14-.818.595-.64h-.822l-.367-.804-.368.804h-.821l.594.64zm5.558 0 .14-.818-.594-.64h.821l.367-.804.368.804h.821l-.594.64.14.818-.735-.387zM15.14 7.85l-.14.818.735-.386.735.386-.14-.818.593-.64h-.82l-.368-.803-.368.804h-.821z" clip-rule="evenodd"/></svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -1,7 +1,8 @@
// Autosize plugin
const elements = document.querySelectorAll('[data-bs-toggle="autosize"]');
const elements = document.querySelectorAll('[data-bs-toggle="autosize"]')
if (elements.length) {
elements.forEach(function (element) {
window.autosize && window.autosize(element);
});
}
elements.forEach(function (element) {
window.autosize && window.autosize(element)
})
}

View File

@@ -1,3 +1,20 @@
export * as Popper from '@popperjs/core';
export * as Popper from '@popperjs/core'
export { Dropdown, Tooltip, Popover, Tab, Toast } from 'bootstrap';
// Export all Bootstrap components directly for consistent usage
export {
Alert,
Button,
Carousel,
Collapse,
Dropdown,
Modal,
Offcanvas,
Popover,
ScrollSpy,
Tab,
Toast,
Tooltip
} from 'bootstrap'
// Re-export everything as namespace for backward compatibility
export * as bootstrap from 'bootstrap'

View File

@@ -1,23 +1,25 @@
const elements = document.querySelectorAll('[data-countup]');
const elements = document.querySelectorAll('[data-countup]')
if (elements.length) {
elements.forEach(function (element) {
let options = {};
try {
const dataOptions = element.getAttribute('data-countup') ? JSON.parse(element.getAttribute('data-countup')) : {};
options = Object.assign({
'enableScrollSpy': true
}, dataOptions);
} catch (error) {}
elements.forEach(function (element) {
let options = {}
try {
const dataOptions = element.getAttribute('data-countup') ? JSON.parse(element.getAttribute('data-countup')) : {}
options = Object.assign(
{
enableScrollSpy: true,
},
dataOptions,
)
} catch (error) {}
const value = parseInt(element.innerHTML, 10);
const value = parseInt(element.innerHTML, 10)
if (window.countUp && window.countUp.CountUp) {
const countUp = new window.countUp.CountUp(element, value, options);
if (!countUp.error) {
countUp.start();
}
}
});
if (window.countUp && window.countUp.CountUp) {
const countUp = new window.countUp.CountUp(element, value, options)
if (!countUp.error) {
countUp.start()
}
}
})
}

View File

@@ -1,12 +1,12 @@
import { Dropdown } from './bootstrap';
import { Dropdown } from './bootstrap'
/*
Core dropdowns
*/
let dropdownTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="dropdown"]'));
let dropdownTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="dropdown"]'))
dropdownTriggerList.map(function (dropdownTriggerEl) {
let options = {
boundary: dropdownTriggerEl.getAttribute('data-bs-boundary') === 'viewport' ? document.querySelector('.btn') : 'clippingParents',
}
return new Dropdown(dropdownTriggerEl, options);
});
let options = {
boundary: dropdownTriggerEl.getAttribute('data-bs-boundary') === 'viewport' ? document.querySelector('.btn') : 'clippingParents',
}
return new Dropdown(dropdownTriggerEl, options)
})

View File

@@ -1,9 +1,10 @@
// Input mask plugin
var maskElementList = [].slice.call(document.querySelectorAll('[data-mask]'));
var maskElementList = [].slice.call(document.querySelectorAll('[data-mask]'))
maskElementList.map(function (maskEl) {
window.IMask && new window.IMask(maskEl, {
mask: maskEl.dataset.mask,
lazy: maskEl.dataset['mask-visible'] === 'true'
})
});
window.IMask &&
new window.IMask(maskEl, {
mask: maskEl.dataset.mask,
lazy: maskEl.dataset['mask-visible'] === 'true',
})
})

View File

@@ -1,14 +1,14 @@
import { Popover } from './bootstrap';
import { Popover } from './bootstrap'
/*
Core popovers
*/
let popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]'));
let popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]'))
popoverTriggerList.map(function (popoverTriggerEl) {
let options = {
delay: {show: 50, hide: 50},
html: popoverTriggerEl.getAttribute('data-bs-html') === "true" ?? false,
placement: popoverTriggerEl.getAttribute('data-bs-placement') ?? 'auto'
};
return new Popover(popoverTriggerEl, options);
});
let options = {
delay: { show: 50, hide: 50 },
html: popoverTriggerEl.getAttribute('data-bs-html') === 'true',
placement: popoverTriggerEl.getAttribute('data-bs-placement') ?? 'auto',
}
return new Popover(popoverTriggerEl, options)
})

23
core/js/src/sortable.js Normal file
View File

@@ -0,0 +1,23 @@
// SortableJS plugin
// Initializes Sortable on elements marked with [data-sortable]
// Allows options via JSON in data attribute: data-sortable='{"animation":150}'
const sortableElements = document.querySelectorAll('[data-sortable]')
if (sortableElements.length) {
sortableElements.forEach(function (element) {
let options = {}
try {
const rawOptions = element.getAttribute('data-sortable')
options = rawOptions ? JSON.parse(rawOptions) : {}
} catch (e) {
// ignore invalid JSON
}
if (window.Sortable) {
// eslint-disable-next-line no-new
new window.Sortable(element, options)
}
})
}

View File

@@ -1,11 +1,11 @@
/*
Switch icons
*/
let switchesTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="switch-icon"]'));
let switchesTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="switch-icon"]'))
switchesTriggerList.map(function (switchTriggerEl) {
switchTriggerEl.addEventListener('click', (e) => {
e.stopPropagation();
switchTriggerEl.addEventListener('click', (e) => {
e.stopPropagation()
switchTriggerEl.classList.toggle('active');
});
});
switchTriggerEl.classList.toggle('active')
})
})

View File

@@ -1,15 +1,15 @@
import { Tab } from './bootstrap';
import { Tab } from './bootstrap'
export const EnableActivationTabsFromLocationHash = () => {
const locationHash = window.location.hash;
const locationHash = window.location.hash
if (locationHash) {
const tabsList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tab"]'));
const matchedTabs = tabsList.filter(tab => tab.hash === locationHash);
const tabsList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tab"]'))
const matchedTabs = tabsList.filter((tab) => tab.hash === locationHash)
matchedTabs.map(tab => {
new Tab(tab).show();
});
matchedTabs.map((tab) => {
new Tab(tab).show()
})
}
}

View File

@@ -10,8 +10,8 @@ export const getColor = (color, opacity = 1) => {
const c = getComputedStyle(document.body).getPropertyValue(`--${prefix}${color}`).trim()
if (opacity !== 1) {
return hexToRgba(c, opacity)
return hexToRgba(c, opacity)
}
return c
}
}

View File

@@ -1,17 +1,17 @@
import { Toast } from './bootstrap';
import { Toast } from './bootstrap'
/*
Toasts
*/
let toastsTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="toast"]'));
let toastsTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="toast"]'))
toastsTriggerList.map(function (toastTriggerEl) {
if (!toastTriggerEl.hasAttribute('data-bs-target')) {
return;
}
if (!toastTriggerEl.hasAttribute('data-bs-target')) {
return
}
const toastEl = new Toast(toastTriggerEl.getAttribute('data-bs-target'));
const toastEl = new Toast(toastTriggerEl.getAttribute('data-bs-target'))
toastTriggerEl.addEventListener('click', () => {
toastEl.show()
});
});
toastTriggerEl.addEventListener('click', () => {
toastEl.show()
})
})

View File

@@ -1,11 +1,11 @@
import { Tooltip } from './bootstrap';
import { Tooltip } from './bootstrap'
let tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'));
let tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
tooltipTriggerList.map(function (tooltipTriggerEl) {
let options = {
delay: {show: 50, hide: 50},
html: tooltipTriggerEl.getAttribute("data-bs-html") === "true" ?? false,
placement: tooltipTriggerEl.getAttribute('data-bs-placement') ?? 'auto'
};
return new Tooltip(tooltipTriggerEl, options);
});
let options = {
delay: { show: 50, hide: 50 },
html: tooltipTriggerEl.getAttribute('data-bs-html') === 'true',
placement: tooltipTriggerEl.getAttribute('data-bs-placement') ?? 'auto',
}
return new Tooltip(tooltipTriggerEl, options)
})

View File

@@ -4,32 +4,32 @@
* This will prevent any flashes of the light theme (default) before switching.
*/
const themeConfig = {
"theme": "light",
"theme-base": "gray",
"theme-font": "sans-serif",
"theme-primary": "blue",
"theme-radius": "1",
'theme': 'light',
'theme-base': 'gray',
'theme-font': 'sans-serif',
'theme-primary': 'blue',
'theme-radius': '1',
}
const params = new Proxy(new URLSearchParams(window.location.search), {
get: (searchParams, prop) => searchParams.get(prop),
get: (searchParams, prop) => searchParams.get(prop),
})
for (const key in themeConfig) {
const param = params[key]
let selectedValue
const param = params[key]
let selectedValue
if (!!param) {
localStorage.setItem('tabler-' + key, param)
selectedValue = param
} else {
const storedTheme = localStorage.getItem('tabler-' + key)
selectedValue = storedTheme ? storedTheme : themeConfig[key]
}
if (!!param) {
localStorage.setItem('tabler-' + key, param)
selectedValue = param
} else {
const storedTheme = localStorage.getItem('tabler-' + key)
selectedValue = storedTheme ? storedTheme : themeConfig[key]
}
if (selectedValue !== themeConfig[key]) {
document.documentElement.setAttribute('data-bs-' + key, selectedValue)
} else {
document.documentElement.removeAttribute('data-bs-' + key)
}
}
if (selectedValue !== themeConfig[key]) {
document.documentElement.setAttribute('data-bs-' + key, selectedValue)
} else {
document.documentElement.removeAttribute('data-bs-' + key)
}
}

Some files were not shown because too many files have changed in this diff Show More