1
0
mirror of https://github.com/tabler/tabler.git synced 2025-12-21 17:34:25 +04:00

Compare commits

...

90 Commits

Author SHA1 Message Date
codecalm
7d5d9bc847 chore: mark banner package as private 2025-03-01 14:30:41 +01:00
codecalm
776a85cf1a chore: remove obsolete changeset files for layout and styling updates 2025-03-01 14:25:42 +01:00
github-actions[bot]
ac10f55405 chore: update versions (#2131)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-03-01 14:19:38 +01:00
codecalm
d0f45a41f8 update changes pririties 2025-03-01 14:08:28 +01:00
codecalm
16a42ba330 Fix signature component with styling and update canvas dimensions 2025-03-01 13:46:18 +01:00
codecalm
f7d5b6a05e Add Playwright configuration and visual regression tests; refactor SCSS files and update component naming 2025-03-01 13:03:42 +01:00
Paweł Kuna
4376968bca add Signature Pad feature (#2183)
Co-authored-by: ethancrawford <ethan_jc@hotmail.com>
2025-03-01 12:36:41 +01:00
Paweł Kuna
dee2b8ad64 Replace Playwright workflow with Argos workflow for testing (#2185) 2025-03-01 12:27:51 +01:00
BG-Software
2c9a4dfb37 Decrease padding of form-control input in 2-step-verification-code (#2181) 2025-02-28 10:19:37 +01:00
Paweł Kuna
e46fec5050 Update twelve-shirts-mix.md 2025-02-28 00:11:53 +01:00
Paweł Kuna
f3c409ffc2 Refactor alert component styles and markup, remove Bootstrap styles (#2141) 2025-02-28 00:04:50 +01:00
codecalm
309ff40a48 Update package versions in package.json 2025-02-26 19:37:25 +01:00
codecalm
eea2d38f39 Remove unused dependencies from pnpm-lock.yaml 2025-02-26 19:33:40 +01:00
codecalm
876bec9db3 Remove console log from HTML formatting in reformat-mdx script 2025-02-26 19:22:41 +01:00
codecalm
f06cce0300 Clean up HTML syntax and remove unused dependencies in documentation and package.json 2025-02-26 19:20:37 +01:00
codecalm
e1931f8c37 Refactor accordion component styles and markup, remove preview dependency 2025-02-26 18:55:53 +01:00
Paweł Kuna
c240b5ad21 Refactor accordion component styles and markup, remove Bootstrap styles (#2139) 2025-02-26 18:53:01 +01:00
codecalm
baafe08d6e Add condition to skip tests for draft pull requests in Playwright workflow 2025-02-26 18:38:27 +01:00
codecalm
cba487f5b7 build fix 2025-02-19 03:19:27 +01:00
Paweł Kuna
edbaa1eddd Add selectable table functionality with active background color (#2171) 2025-02-19 03:16:53 +01:00
Paweł Kuna
378fba89f5 Refactor badge styles, remove Bootstrap styles (#2169) 2025-02-19 02:20:25 +01:00
codecalm
b0a62b7cf5 Add threshold option to argosScreenshot for improved visual comparison 2025-02-19 02:09:48 +01:00
codecalm
1415820cb1 Fix screenshot filename in visual regression tests to use the correct HTML file name 2025-02-19 01:49:58 +01:00
codecalm
81a8738823 Remove limit on visual regression tests to include all HTML files for comprehensive comparison 2025-02-19 01:45:59 +01:00
codecalm
417d0bc444 Fix Playwright version retrieval in workflow to use devDependencies from package.json 2025-02-19 01:31:54 +01:00
codecalm
22e10d4dba Refactor Playwright workflow by removing unnecessary artifact upload step 2025-02-19 01:22:17 +01:00
codecalm
57f6219f7c Integrate Argos CI for visual regression testing and streamline screenshot comparison 2025-02-19 01:18:22 +01:00
codecalm
fbe3680142 Limit visual regression tests to the first 10 HTML files for improved performance 2025-02-19 01:14:53 +01:00
codecalm
c2b446c209 Enhance Playwright workflow with version retrieval and caching for improved performance 2025-02-19 01:13:48 +01:00
codecalm
09844ab64b Remove snapshot update flag from Playwright test command 2025-02-19 01:09:11 +01:00
codecalm
cea1c87c21 Update Playwright test command to include snapshot updates 2025-02-19 01:06:31 +01:00
Paweł Kuna
a2640e2147 Add Playwright configuration and visual regression tests (#2170) 2025-02-19 00:58:10 +01:00
Paweł Kuna
9cd532745a Update border radius variables for consistency across components (#2167) 2025-02-15 13:33:39 +01:00
Paweł Kuna
063bdc28ab Update and simplify main menu (#2166) 2025-02-15 13:20:29 +01:00
Luca Sabato
5d8392366c Fixed missing images in the README and getting started page + minor formatting changes (#2161)
Co-authored-by: Paweł Kuna <1282324+codecalm@users.noreply.github.com>
2025-02-14 14:14:28 +01:00
Paweł Kuna
2d05b5d5d3 Fix chart styling with border-radius (#2160) 2025-02-14 00:17:37 +01:00
Paweł Kuna
ca4ba14718 Enhance navbar styles with new hover effects and color variables (#2159) 2025-02-14 00:01:41 +01:00
codecalm
9755e1e9e9 Update changelog to consolidate payment provider support details 2025-02-13 23:07:24 +01:00
codecalm
954e42f9c0 Update changelog texts 2025-02-13 23:06:57 +01:00
BG-Software
b47815d530 Fix instruction for CDN icons version (#2157) 2025-02-13 23:00:18 +01:00
oksuzgil
1edaff454b New payment provider (TROY) (#2146)
Co-authored-by: Paweł Kuna <1282324+codecalm@users.noreply.github.com>
Co-authored-by: codecalm <codecalm@gmail.com>
2025-02-13 22:59:45 +01:00
Paweł Kuna
b47725dcc2 New text features page (#2152) 2025-02-13 22:49:42 +01:00
Luca Sabato
b85ef1a95e added "start" command to package.json scripts as alias for dev (#2156)
Co-authored-by: Paweł Kuna <1282324+codecalm@users.noreply.github.com>
2025-02-13 22:49:29 +01:00
Paweł Kuna
eff95dc033 Add section comments and format HTML for improved readability (#2158) 2025-02-13 22:41:46 +01:00
ethancrawford
846c48d140 Add various spelling fixes and grammar improvements (#2153)
Co-authored-by: BG-Software <73077398+BG-Software-BG@users.noreply.github.com>
2025-02-13 22:29:45 +01:00
codecalm
ee3862fcf4 Enhance Markdown styling by adding image support in paragraphs and updating image reference in example 2025-02-13 21:41:08 +01:00
codecalm
2fe9e70b54 Update layout for Markdown page to use 'markdown' layout 2025-02-13 21:37:55 +01:00
codecalm
002528fadd Refactor colorpicker to use dynamic color values from site.colors 2025-02-13 21:34:08 +01:00
codecalm
ee5e25a52b Bump @tabler/core version to minor 2025-02-12 21:14:35 +01:00
Paweł Kuna
bd3d959cea Refactor SCSS files to replace divide function with calc (#2150) 2025-02-12 21:12:52 +01:00
BG-Software
afd070012d Fix apexcharts heatmap example in docs (#2147) 2025-02-12 21:12:25 +01:00
ethancrawford
d6a10938e3 Fix broken 'top pages' table (#2144)
Co-authored-by: BG-Software <73077398+BG-Software-BG@users.noreply.github.com>
Co-authored-by: Paweł Kuna <1282324+codecalm@users.noreply.github.com>
2025-02-12 21:09:14 +01:00
Paweł Kuna
f95f2509c7 Update color utility classes and fix colors in pricing page (#2122) 2025-02-12 21:01:04 +01:00
codecalm
3dea9de29c Add "preview" to ignore list in changeset configuration 2025-02-12 19:48:41 +01:00
codecalm
3b0623fc42 build fix 2025-02-12 19:44:43 +01:00
Bartłomiej Gawęda
f38fac3508 Remove rimraf in preview 2025-02-12 19:36:55 +01:00
Paweł Kuna
b4b4d1a816 Add Scroll Spy page (#2142) 2025-02-12 19:21:31 +01:00
Bartłomiej Gawęda
821a1c5405 Use shx for mkdir and rm commands, remove rimraf 2025-02-12 19:11:04 +01:00
codecalm
1b0266e612 Enhance copy-img script to ensure destination directory exists and use shx for cross-platform compatibility 2025-02-12 18:59:23 +01:00
codecalm
3320246d0f Fix clean script in package.json to remove only the dist directory 2025-02-12 18:45:59 +01:00
codecalm
55f467c945 Replace background tasks with concurrently for improved script execution in package.json 2025-02-12 18:37:16 +01:00
codecalm
958ad128ad Refactor package.json scripts for improved readability and consistency 2025-02-12 18:31:04 +01:00
codecalm
06c3b5dd65 Update pnpm to version 9.15.4 in package.json and pnpm-lock.yaml 2025-02-11 20:00:05 +01:00
codecalm
cac2606016 Use cross-env for setting NODE_ENV in watch-html script for better compatibility 2025-02-11 19:52:00 +01:00
codecalm
bc3a8360a7 Add pnpm as a dependency in package.json and update pnpm-lock.yaml 2025-02-11 19:50:52 +01:00
codecalm
6b3bf15c4c Replace 'rm -rf' with 'rimraf' for cross-platform compatibility in clean scripts 2025-02-11 19:15:43 +01:00
Paweł Kuna
76f5de44e7 Update timeline card layout and profile header styles (#2140)
* Update timeline card layout and profile header styles

* Create large-walls-wave.md
2025-02-08 14:14:38 +01:00
Paweł Kuna
24b944cbdc Remove box-shadow from avatar styles for a cleaner appearance (#2137)
* Remove box-shadow from avatar styles for a cleaner appearance

* Create ten-houses-punch.md
2025-02-08 13:58:39 +01:00
BG-Software
687267de38 Fix overflow of label in a floating-input (#2072)
* Fix overflow of label in a floating-input

Temporary fix for the bug in twbs/bootstrap v5.3.3.

* Create dry-rice-march.md

---------

Co-authored-by: codecalm <codecalm@gmail.com>
2025-02-08 13:57:11 +01:00
Paweł Kuna
ea144622a1 Add documentation for segmented control component (#2134)
* Add documentation for segmented control component

* Enhance documentation for segmented control component with additional examples and usage guidelines

* Create stale-pianos-crash.md

* Add changeset for @tabler/core minor update
2025-02-06 21:59:04 +01:00
codecalm
52fa8658ea Update package dependencies to latest versions 2025-02-06 21:28:25 +01:00
codecalm
ffa095f981 Update asset paths from 'core' to 'dist' in configuration and layout files 2025-02-06 18:45:17 +01:00
codecalm
6b7a761fd4 Update robots.txt handling and improve sitemap URL generation 2025-02-06 18:24:17 +01:00
codecalm
3b85669999 Merge branch 'dev' of https://github.com/tabler/tabler into dev 2025-02-06 18:24:00 +01:00
codecalm
ffaf92b67b Update changeset for segmented control component 2025-02-06 18:23:58 +01:00
falsulaiman
78383ef568 Update _nav.scss (#2133)
* Update _nav.scss

### Issue: Dash (`-`) causing W3C validator error and CSS issues

**Problem**:
The use of a dash (`-`) in certain areas is triggering errors in the W3C validator and affecting the proper functioning of CSS.

1. **HTML Issue**: The dash might be incorrectly placed in attribute names or element IDs, causing validation errors.
   - Example: `data-name` is fine, but ensure it's used correctly and within the valid context.

2. **CSS Issue**: If the dash is used improperly in class or ID names, it can cause selector issues in CSS.
   - Example: `.my-class-name` is correct, but make sure that the class is correctly applied to the element and styled properly in CSS.

**Proposed Fix**:
- Ensure that any attribute or class names are formatted correctly. For example, `data-name` is valid, but check for any spelling mistakes or misplaced dashes.
- In CSS, ensure proper selector syntax like:
   ```css
   .my-class-name {
       /* Styles here */
   }

* Fix margin calculation for nav links in _nav.scss

* Create red-pens-punch.md

---------

Co-authored-by: codecalm <codecalm@gmail.com>
Co-authored-by: Paweł Kuna <1282324+codecalm@users.noreply.github.com>
2025-02-06 18:23:13 +01:00
Paweł Kuna
cb278c762d Add segmented control component (#2087)
* Add segmented control component and update related files

* Implement segmented navigation component and update related styles

* Create grumpy-flowers-act.md

* Refactor .gitignore and move playground pages to preview directory

* Enhance segmented navigation with hover state and class support

* Refactor segmented control layout for improved responsiveness and alignment
2025-02-06 18:02:46 +01:00
codecalm
117fbbb2d5 Update .gitignore to include preview directory files 2025-02-06 00:07:17 +01:00
codecalm
60699ed9c3 Remove "New" badges from menu items in menu.json 2025-02-05 23:06:31 +01:00
codecalm
54f0802f72 Merge branch 'dev' of https://github.com/tabler/tabler into dev 2025-02-05 22:52:38 +01:00
codecalm
c2afa77258 update changesets 2025-02-05 22:52:37 +01:00
BG-Software
c079e646ef Improve documentation for buttons (#2129)
* Fix background-image of buttons with avatars

* Remove duplicated code blocks in buttons docs

+ Fix links to tabler.io/icons.
+ Replace Twitter with X on icon button.

* Create silly-lobsters-move.md
2025-02-05 22:51:34 +01:00
codecalm
1394c3420c Merge branch 'main' of https://github.com/tabler/tabler into dev 2025-02-05 22:51:16 +01:00
codecalm
92275670f5 Add styles for tom-select and nouislider to libs.json 2025-02-05 22:50:23 +01:00
codecalm
37af5425ff Enhance autosize and input mask initialization with conditional checks; update Eleventy config to set server passthrough copy behavior 2025-02-05 22:19:18 +01:00
codecalm
d40dc60cd8 Update environment variable handling in Eleventy configuration 2025-02-05 22:12:30 +01:00
BG-Software
11f4487286 Use the full license agreement for illustrations in docs (#2128)
* Use the full license agreement for illustrations in docs

* Create short-wombats-rhyme.md
2025-02-05 22:07:27 +01:00
codecalm
0689fa2abf Merge branch 'dev' of https://github.com/tabler/tabler into dev 2025-02-05 22:05:42 +01:00
codecalm
4268994034 Change release workflow trigger branch from main to dev 2025-02-05 22:05:40 +01:00
Paweł Kuna
8dffb4e345 Update robots.txt handling and improve sitemap URL generation (#2130)
* Update robots.txt handling and improve sitemap URL generation

* Add dynamic page data handling and update sitemap generation

* Remove debug output from sitemap generation

* Create thin-clouds-glow.md
2025-02-05 22:04:57 +01:00
208 changed files with 9399 additions and 3531 deletions

View File

@@ -1,5 +0,0 @@
---
"@tabler/core": patch
---
Enable `scrollSpy` in `countup` module

View File

@@ -1,4 +0,0 @@
---
---
Refactor bundlewatch workflow to use Turbo

View File

@@ -1,5 +0,0 @@
---
"@tabler/core": patch
---
Fix size of `apexcharts` tooltip marker

View File

@@ -1,5 +0,0 @@
---
"@tabler/core": patch
---
Refactored the project into a monorepo, removed Gulp, and introduced a new, more efficient build process.

View File

@@ -1,5 +0,0 @@
---
"@tabler/core": patch
---
Fix vertical alignment in single page and error layouts

66
.github/workflows/argos.yml vendored Normal file
View File

@@ -0,0 +1,66 @@
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
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

View File

@@ -44,9 +44,6 @@ jobs:
- name: Install pnpm dependencies
run: pnpm install --no-frozen-lockfile
- name: Build
run: pnpm run build
- name: Run bundlewatch
run: pnpm run bundlewatch
env:

View File

@@ -3,7 +3,7 @@ name: Release
on:
push:
branches:
- main
- dev
permissions:
contents: read

8
.gitignore vendored
View File

@@ -19,9 +19,11 @@ node_modules/
/svg-tmp/
/components/
/percy.sh
/src/pages/playground.html
/src/pages/playground-*.html
/src/pages/features.html
/preview/pages/playground.html
/preview/pages/screenshot.html
/preview/pages/screenshot-*.html
/preview/pages/playground-*.html
/preview/pages/features.html
.pnp.loader.mjs
.pnp.cjs

View File

@@ -16,8 +16,7 @@
- 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
- 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
### Patch Changes

View File

@@ -1,5 +1,5 @@
<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/preview/static/logo.svg" alt="A premium and open source dashboard template with a responsive and high-quality UI." width="300"></a><br><br>
A premium and open source dashboard template with a responsive and high-quality UI.
</p>
@@ -18,9 +18,9 @@ A premium and open source dashboard template with a responsive and high-quality
**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) :)**
<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>
<a href="https://github.com/sponsors/codecalm">
<img src="https://cdn.jsdelivr.net/gh/tabler/sponsors@latest/sponsors.svg" alt="Tabler sponsors">
</a>
</p>
## 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">
<a href="https://www.lambdatest.com/" target="_blank">
<picture>
<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">
<img src="https://github.com/user-attachments/assets/d3dede5a-d702-47c3-bb66-4d887948ed83" alt="Tabler Icons preview" width="296">
</picture>
</a>
<a href="https://www.lambdatest.com/" target="_blank">
<picture>
<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">
<img src="https://github.com/user-attachments/assets/d3dede5a-d702-47c3-bb66-4d887948ed83" alt="Tabler Icons preview" width="296">
</picture>
</a>
</p>
## 🔎 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>
<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/preview/static/tabler-preview.png" alt="Tabler Preview">
</a>
</p>
## 🚀 Features
@@ -67,8 +70,11 @@ To run the documentation site locally, follow instructions in the [Documentation
## 💕 Sponsor Tabler
<a href="https://github.com/sponsors/codecalm" target="_blank"><img src="/src/static/sponsor-banner-readme.png?raw=true" alt="Sponsor Tabler" /></a>
<p align="center">
<a href="https://github.com/sponsors/codecalm" target="_blank">
<img src="https://raw.githubusercontent.com/tabler/tabler/dev/preview/static/sponsor-banner-homepage.svg" alt="Sponsor Banner">
</a>
</p>
### Sponsors
@@ -94,12 +100,15 @@ To use our build system and run our documentation locally, you'll need a copy of
**OSX users**:
```pnpm install```
```sh
pnpm install
```
and then
```npm run start```
```sh
npm run start
```
**Windows users**:
@@ -216,4 +225,4 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
<!-- prettier-ignore-end -->
<!-- ALL-CONTRIBUTORS-LIST:END -->
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!

View File

@@ -6,33 +6,58 @@ import { readFileSync, writeFileSync } from 'node:fs';
import { join, dirname } from 'node:path';
import { fileURLToPath } from 'node:url'
import { sync } from 'glob';
import beautify from 'js-beautify';
import * as prettier from "prettier";
const __dirname = dirname(fileURLToPath(import.meta.url))
const docs = sync(join(__dirname, '..', 'docs', '**', '*.mdx'))
docs.forEach((file, i) => {
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 = oldContent.replace(/(```([a-z0-9]+).*?\n)(.*?)(```)/gs, (m, m1, m2, m3, m4) => {
const content = await replaceAsync(oldContent, /(```([a-z0-9]+).*?\n)(.*?)(```)/gs, async (m, m1, m2, m3, m4) => {
if (m2 === 'html') {
// m3 = beautify.default.html(m3, {
// "indent_size": 2,
// "indent_char": " ",
// }).trim();
m3 = await formatHTML(m3);
// remove empty lines
m3 = m3.replace(/^\s*[\r\n]/gm, '');
return m1 + m3 + "\n" + m4;
return m1 + m3.trim() + "\n" + m4;
}
return m
return m.trim();
})
if (content !== oldContent) {
writeFileSync(file, content, 'utf8')
console.log(`Reformatted ${file}`)
}
})
}

33
core/CHANGELOG.md Normal file
View File

@@ -0,0 +1,33 @@
# @tabler/core
## 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

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.4 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.4 KiB

View File

@@ -5,6 +5,6 @@ import autosize from 'autosize';
const elements = document.querySelectorAll('[data-bs-toggle="autosize"]');
if (elements.length) {
elements.forEach(function (element) {
autosize(element);
autosize && autosize(element);
});
}

View File

@@ -4,7 +4,7 @@ import IMask from 'imask';
var maskElementList = [].slice.call(document.querySelectorAll('[data-mask]'));
maskElementList.map(function (maskEl) {
return new IMask(maskEl, {
IMask && new IMask(maskEl, {
mask: maskEl.dataset.mask,
lazy: maskEl.dataset['mask-visible'] === 'true'
})

View File

@@ -1,32 +1,32 @@
{
"name": "@tabler/core",
"version": "1.0.0",
"version": "1.1.0",
"description": "Premium and Open Source dashboard template with responsive and high quality UI.",
"homepage": "https://tabler.io",
"scripts": {
"dev": "pnpm run watch",
"build": "pnpm run clean && pnpm run css && pnpm run js && pnpm run copy",
"clean": "rm -rf dist/* demo",
"clean": "shx rm -rf dist demo",
"css": "pnpm run css-compile && pnpm run css-prefix && pnpm run css-rtl && pnpm run css-minify && pnpm run css-banner",
"css-compile": "sass scss/:dist/css/ --no-source-map --load-path=node_modules",
"css-banner": "node build/add-banner.mjs",
"css-prefix": "postcss --config build/postcss.config.mjs --replace 'dist/css/*.css' '!dist/css/*.rtl*.css' '!dist/css/*.min.css'",
"css-rtl": "cross-env NODE_ENV=RTL postcss --config build/postcss.config.mjs --dir 'dist/css' --ext '.rtl.css' 'dist/css/*.css' '!dist/css/*.min.css' '!dist/css/*.rtl.css'",
"css-prefix": "postcss --config build/postcss.config.mjs --replace \"dist/css/*.css\" \"!dist/css/*.rtl*.css\" \"!dist/css/*.min.css\"",
"css-rtl": "cross-env NODE_ENV=RTL postcss --config build/postcss.config.mjs --dir \"dist/css\" --ext \".rtl.css\" \"dist/css/*.css\" \"!dist/css/*.min.css\" \"!dist/css/*.rtl.css\"",
"css-minify": "pnpm run css-minify-main && pnpm run css-minify-rtl",
"css-minify-main": "cleancss -O1 --format breakWith=lf --with-rebase --source-map --source-map-inline-sources --output dist/css/ --batch --batch-suffix '.min' 'dist/css/*.css' '!dist/css/*.min.css' '!dist/css/*rtl*.css'",
"css-minify-rtl": "cleancss -O1 --format breakWith=lf --with-rebase --source-map --source-map-inline-sources --output dist/css/ --batch --batch-suffix '.min' 'dist/css/*rtl.css' '!dist/css/*.min.css'",
"css-minify-main": "cleancss -O1 --format breakWith=lf --with-rebase --source-map --source-map-inline-sources --output dist/css/ --batch --batch-suffix \".min\" \"dist/css/*.css\" \"!dist/css/*.min.css\" \"!dist/css/*rtl*.css\"",
"css-minify-rtl": "cleancss -O1 --format breakWith=lf --with-rebase --source-map --source-map-inline-sources --output dist/css/ --batch --batch-suffix \".min\" \"dist/css/*rtl.css\" \"!dist/css/*.min.css\"",
"js": "pnpm run js-compile && pnpm run js-minify",
"js-compile": "pnpm run js-compile-standalone && pnpm run js-compile-standalone-esm",
"js-compile-standalone": "rollup --config build/rollup.config.mjs --sourcemap",
"js-compile-standalone-esm": "rollup --environment ESM:true --config build/rollup.config.mjs --sourcemap",
"js-minify": "pnpm run js-minify-standalone && pnpm run js-minify-standalone-esm",
"js-minify-standalone": "terser --compress passes=2 --mangle --comments '/^!/' --source-map 'content=dist/js/tabler.js.map,includeSources,url=tabler.min.js.map' --output dist/js/tabler.min.js dist/js/tabler.js",
"js-minify-standalone-esm": "terser --compress passes=2 --mangle --comments '/^!/' --source-map 'content=dist/js/tabler.esm.js.map,includeSources,url=tabler.esm.min.js.map' --output dist/js/tabler.esm.min.js dist/js/tabler.esm.js",
"js-minify-standalone": "terser --compress passes=2 --mangle --comments \"/^!/\" --source-map \"content=dist/js/tabler.js.map,includeSources,url=tabler.min.js.map\" --output dist/js/tabler.min.js dist/js/tabler.js",
"js-minify-standalone-esm": "terser --compress passes=2 --mangle --comments \"/^!/\" --source-map \"content=dist/js/tabler.esm.js.map,includeSources,url=tabler.esm.min.js.map\" --output dist/js/tabler.esm.min.js dist/js/tabler.esm.js",
"copy": "pnpm run copy-img",
"copy-img": "cp -r img dist/img",
"watch": "pnpm run watch-css & pnpm run watch-js",
"watch-css": "nodemon --watch scss/ --ext scss --exec 'pnpm run css-compile && pnpm run css-prefix'",
"watch-js": "nodemon --watch js/ --ext js --exec 'pnpm run js-compile'",
"copy-img": "shx mkdir -p dist/img && shx cp -rf img/* dist/img",
"watch": "concurrently \"pnpm run watch-css\" \"pnpm run watch-js\"",
"watch-css": "nodemon --watch scss/ --ext scss --exec \"pnpm run css-compile && pnpm run css-prefix\"",
"watch-js": "nodemon --watch js/ --ext js --exec \"pnpm run js-compile\"",
"bundlewatch": "bundlewatch",
"format:check": "prettier --check src/**/*.{js,scss} --cache",
"format:write": "prettier --write src/**/*.{js,scss} --cache"
@@ -89,7 +89,7 @@
},
{
"path": "./dist/css/tabler-flags.css",
"maxSize": "2 kB"
"maxSize": "2.5 kB"
},
{
"path": "./dist/css/tabler-flags.min.css",
@@ -97,7 +97,7 @@
},
{
"path": "./dist/css/tabler-payments.css",
"maxSize": "2 kB"
"maxSize": "2.2 kB"
},
{
"path": "./dist/css/tabler-payments.min.css",

View File

@@ -14,11 +14,9 @@
@import "bootstrap/scss/nav";
@import "bootstrap/scss/navbar";
@import "bootstrap/scss/card";
@import "bootstrap/scss/accordion";
// @import "bootstrap/scss/accordion";
@import "bootstrap/scss/breadcrumb";
@import "bootstrap/scss/pagination";
@import "bootstrap/scss/badge";
@import "bootstrap/scss/alert";
@import "bootstrap/scss/progress";
@import "bootstrap/scss/list-group";
@import "bootstrap/scss/close";

View File

@@ -1,9 +1,9 @@
@import "bootstrap/scss/functions";
@import "mixins";
@import "variables";
@import "variables-dark";
@import "utilities";
@import "mixins";
@import "bootstrap-config";
@import "bootstrap-override";

View File

@@ -49,6 +49,7 @@
@import "ui/ribbons";
@import "ui/markdown";
@import "ui/placeholder";
@import "ui/segmented";
@import "ui/steps";
@import "ui/status";
@import "ui/switch-icon";
@@ -62,6 +63,7 @@
@import "ui/charts";
@import "ui/offcanvas";
@import "ui/chat";
@import "ui/signature";
@import "utils/background";
@import "utils/colors";

View File

@@ -43,8 +43,9 @@ $utilities: (
v-text: vertical-text,
grab: grab,
grabbing: grabbing,
crosshair: crosshair,
),
),
),
"border": (
property: border,
values: $border-values,
@@ -93,4 +94,13 @@ $utilities: (
responsive: true,
values: 2 3 4,
),
"bg-pattern": (
property: background,
class: bg-pattern,
values: (
transparent: #{url-svg(
'<svg width="16" height="16" viewBox="0 0 16 16"><rect x="0" y="0" width="8" height="8" fill="rgba(130, 130, 130, .1)" /><rect x="8" y="8" width="8" height="8" fill="rgba(130, 130, 130, .1)" /></svg>'
)} repeat center/16px 16px,
)
)
) !default;

View File

@@ -97,7 +97,9 @@ $h5-line-height: 1rem !default;
$h6-font-size: 0.625rem !default;
$h6-line-height: 1rem !default;
$small-font-size: 85.714285% !default;
$font-size-reative-xs: .71428571em !default;
$font-size-reative-sm: .85714285em !default;
$font-size-reative-md: 1em !default;
$font-sizes: (
1: $h1-font-size,
@@ -293,8 +295,8 @@ $theme-colors: map-merge($theme-colors, map-merge($extra-colors, $social-colors)
$border-width: 1px !default;
$border-width-wide: 2px !default;
$border-radius-sm: 2px !default;
$border-radius: 4px !default;
$border-radius-sm: 4px !default;
$border-radius: 6px !default;
$border-radius-lg: 8px !default;
$border-radius-pill: 100rem !default;
@@ -309,7 +311,7 @@ $icon-color: var(--#{$prefix}gray-400) !default;
// Code
$code-color: var(--#{$prefix}gray-600) !default;
$code-font-size: $small-font-size !default;
$code-font-size: $font-size-reative-sm !default;
$code-line-height: 1.25rem !default;
$code-bg: var(--#{$prefix}bg-surface-secondary) !default;
@@ -553,13 +555,15 @@ $breadcrumb-variants: (
) !default;
// Badges
$badge-font-size: $code-font-size !default;
$badge-font-size: $font-size-reative-sm !default;
$badge-font-size-sm: $font-size-reative-xs !default;
$badge-font-size-lg: $font-size-reative-md !default;
$badge-line-height: $code-line-height !default;
$badge-font-weight: var(--#{$prefix}font-weight-medium) !default;
$badge-padding-y: 0.25em !default;
$badge-padding-x: 0.5em !default;
$badge-empty-size: 0.5rem !default;
$badge-color: var(--#{$prefix}gray-500) !default;
$badge-empty-size: 10px !default;
$badge-color: var(--#{$prefix}secondary) !default;
$badge-bg-color: var(--#{$prefix}bg-surface-secondary) !default;
// Buttons
@@ -605,8 +609,8 @@ $btn-box-shadow: var(--#{$prefix}box-shadow-input) !default;
// Cards
$card-title-spacer-y: 1.25rem !default;
$card-box-shadow: var(--#{$prefix}shadow-card) !default;
$card-hover-box-shadow: var(--#{$prefix}shadow-card-hover) !default;
$card-box-shadow: var(--#{$prefix}box-shadow-card) !default;
$card-hover-box-shadow: var(--#{$prefix}box-shadow-card-hover) !default;
$card-bg: var(--#{$prefix}bg-surface) !default;
$card-bg-hover: $white !default;
@@ -614,7 +618,7 @@ $card-color: inherit !default;
$card-border-width: var(--#{$prefix}border-width) !default;
$card-border-color: var(--#{$prefix}border-color-translucent) !default;
$card-border-radius: var(--#{$prefix}border-radius) !default;
$card-border-radius: var(--#{$prefix}border-radius-lg) !default;
$card-spacer-x: 1.25rem !default;
$card-spacer-y: 1rem !default;
@@ -681,7 +685,7 @@ $dropdown-divider-margin-y: var(--#{$prefix}spacer-2) !default;
// Tooltip
$tooltip-bg: var(--#{$prefix}bg-surface-dark) !default;
$tooltip-color: var(--#{$prefix}light) !default;
$tooltip-padding-y: var(--#{$prefix}spacer-2) !default;
$tooltip-padding-y: var(--#{$prefix}spacer-1) !default;
$tooltip-padding-x: var(--#{$prefix}spacer-2) !default;
// Loader
@@ -729,9 +733,10 @@ $modal-sm: 380px !default;
$nav-link-padding-y: 0.5rem !default;
$nav-link-padding-x: 0.75rem !default;
$nav-link-color: var(--#{$prefix}gray-500) !default;
$nav-link-active-color: var(--#{$prefix}body-color) !default;
$nav-link-disabled-color: var(--#{$prefix}disabled-color) !default;
$nav-link-icon-size: $icon-size !default;
$nav-link-icon-color: var(--#{$prefix}icon-color) !default;
$nav-link-icon-color: inherit !default;
$nav-pills-link-active-color: var(--#{$prefix}primary) !default;
$nav-pills-link-active-bg: var(--#{$prefix}active-bg) !default;
@@ -753,7 +758,7 @@ $nav-tabs-bg: var(--#{$prefix}bg-surface-tertiary) !default;
// Navbar
$navbar-height: 3.5rem !default;
$navbar-padding-y: 0.25rem !default;
$navbar-light-color: var(--#{$prefix}muted) !default;
$navbar-light-color: var(--#{$prefix}secondary) !default;
$navbar-hover-color: $white !default;
@@ -762,8 +767,8 @@ $navbar-border-color: var(--#{$prefix}border-color) !default;
$navbar-light-color: var(--#{$prefix}body-color) !default;
$navbar-light-brand-color: var(--#{$prefix}body-color) !default;
$navbar-light-active-color: var(--#{$prefix}body-color) color !default;
$navbar-light-hover-color: var(--#{$prefix}body-color) color !default;
$navbar-light-active-color: var(--#{$prefix}body-color) !default;
$navbar-light-hover-color: var(--#{$prefix}body-color) !default;
$navbar-light-disabled-color: var(--#{$prefix}disabled-color) !default;
$navbar-light-active-bg: rgba(0, 0, 0, 0.2) !default;
@@ -787,6 +792,7 @@ $navbar-toggler-focus-width: 0 !default;
$navbar-overlap-height: 9rem !default;
$navbar-nav-link-padding-x: $nav-link-padding-x !default;
$navbar-nav-link-hover-bg: rgba(0, 0, 0, .04) !default;
$navbar-active-border-color: var(--#{$prefix}primary) !default;
@@ -803,6 +809,9 @@ $popover-bg: var(--#{$prefix}bg-surface) !default;
$popover-header-bg: transparent !default;
$popover-border-color: var(--#{$prefix}border-color) !default;
$popover-body-color: inherit !default;
$popover-body-padding-x: .5rem !default;
$popover-body-padding-y: .5rem !default;
$popover-box-shadow: var(--#{$prefix}box-shadow-lg) !default;
// Footer
$footer-padding-y: 2rem !default;
@@ -855,6 +864,7 @@ $table-th-bg: var(--#{$prefix}bg-surface-tertiary) !default;
$table-striped-order: even !default;
$table-striped-bg: var(--#{$prefix}bg-surface-tertiary) !default;
$table-group-separator-color: var(--#{$prefix}border-color-translucent) !default;
$table-active-bg: var(--#{$prefix}active-bg) !default;
$table-sort-bg-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1'><path d='M5 7l3 -3l3 3'/><path d='M5 10l3 3l3 -3'/></svg>") !default;
$table-sort-asc-bg-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'><path fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1' d='M5 7l3 3l3 -3'/></svg>") !default;

View File

@@ -107,8 +107,8 @@ Navbar
.nav-link {
position: relative;
min-width: 2rem;
min-height: 2rem;
min-width: 2.5rem;
min-height: 2.5rem;
justify-content: center;
border-radius: var(--#{$prefix}border-radius);
@@ -122,11 +122,6 @@ Navbar
}
}
.navbar-nav {
margin: 0;
padding: 0;
}
.navbar-expand {
@each $breakpoint in map-keys($grid-breakpoints) {
$next: breakpoint-next($breakpoint, $grid-breakpoints);
@@ -146,6 +141,10 @@ Navbar
.nav-item.active {
position: relative;
.nav-link {
color: var(--#{$prefix}navbar-active-color);
}
&:after {
content: "";
position: absolute;
@@ -276,6 +275,9 @@ Navbar transparent
Navbar nav
*/
.navbar-nav {
--#{$prefix}nav-link-hover-bg: #{$navbar-nav-link-hover-bg};
margin: 0;
padding: 0;
align-items: stretch;
.nav-item {

View File

@@ -53,7 +53,7 @@
justify-content: center;
text-decoration: none;
padding: .25rem;
color: var(--#{$prefix}muted);
color: var(--#{$prefix}secondary);
font-size: var(--#{$prefix}font-size-h5);
border-radius: var(--#{$prefix}border-radius);
line-height: 1;

View File

@@ -18,7 +18,7 @@
}
.hero-description {
color: var(--#{$prefix}muted);
color: var(--#{$prefix}secondary);
font-size: var(--#{$prefix}font-size-h2);
line-height: 1.5;
margin: 0 auto;

View File

@@ -81,7 +81,7 @@
}
.section-description {
color: var(--#{$prefix}muted);
color: var(--#{$prefix}secondary);
font-size: var(--#{$prefix}font-size-h3);
line-height: var(--#{$prefix}line-height-h3);
margin-top: 1rem;

View File

@@ -6,6 +6,9 @@
@return shade-color($color, 10%);
}
//
// Replace all occurrences of a substring within a string.
//
@function str-replace($string, $search, $replace: "") {
$index: str-index($string, $search);
@@ -42,3 +45,52 @@
@return if($n > 1, nth($breakpoint-names, $n - 1), null);
}
//
// Escape SVG strings.
//
@function escape-svg($string) {
@if str-index($string, "data:image/svg+xml") {
@each $char, $encoded in $escaped-characters {
// Do not escape the url brackets
@if str-index($string, "url(") == 1 {
$string: url("#{str-replace(str-slice($string, 6, -3), $char, $encoded)}");
} @else {
$string: str-replace($string, $char, $encoded);
}
}
}
@return $string;
}
/**
* Converts a given value to a percentage string.
*
* @param {Number} $value - The value to be converted to a percentage.
* @return {String} - The percentage representation of the value.
*/
@function to-percentage($value) {
@return if(unitless($value), percentage($value), $value);
}
/**
* Generates a transparent version of the given color.
*
* @param {Color} $color - The base color to be made transparent.
* @param {Number} $alpha - The level of transparency, ranging from 0 (fully transparent) to 1 (fully opaque). Default is 1.
* @return {Color} - The resulting color with the specified transparency.
*/
@function color-transparent($color, $alpha: 1, $background: transparent) {
@if $alpha == 1 {
@return $color;
} @else {
@return color-mix(in srgb, #{$color} #{to-percentage($alpha)}, $background);
}
}
@function url-svg($svg) {
$svg: str-replace($svg, '#', '%23');
$svg: str-replace($svg, '<svg', '<svg xmlns="http://www.w3.org/2000/svg"');
@return url('data:image/svg+xml;charset=UTF-8,#{$svg}');
}

View File

@@ -1,24 +1,172 @@
.accordion {
--#{$prefix}accordion-color: #{$accordion-color};
--#{$prefix}accordion-color: var(--#{$prefix}body-color);
--#{$prefix}accordion-border-color: var(--#{$prefix}border-color);
--#{$prefix}accordion-border-radius: #{$accordion-border-radius};
--#{$prefix}accordion-inner-border-radius: #{$accordion-inner-border-radius};
--#{$prefix}accordion-btn-color: var(--#{$prefix}accordion-color);
--#{$prefix}accordion-btn-bg: #{$accordion-button-bg};
--#{$prefix}accordion-btn-toggle-width: 1.25rem;
--#{$prefix}accordion-padding-x: #{$accordion-body-padding-x};
--#{$prefix}accordion-btn-padding-x: var(--#{$prefix}accordion-padding-x);
--#{$prefix}accordion-btn-padding-y: #{$accordion-button-padding-y};
--#{$prefix}accordion-body-padding-x: var(--#{$prefix}accordion-padding-x);
--#{$prefix}accordion-body-padding-y: #{$accordion-body-padding-y};
--#{$prefix}accordion-active-color: #{$accordion-button-active-color};
--#{$prefix}accordion-gap: 0;
display: flex;
flex-direction: column;
gap: var(--#{$prefix}accordion-gap);
}
.accordion-button {
&:focus:not(:focus-visible) {
outline: none;
box-shadow: none;
}
&:after {
opacity: $text-secondary-opacity;
}
.accordion-header {
position: relative;
display: flex;
gap: 1rem;
align-items: center;
width: 100%;
padding: var(--#{$prefix}accordion-btn-padding-y) var(--#{$prefix}accordion-padding-x);
color: var(--#{$prefix}accordion-btn-color);
text-align: left;
background-color: transparent;
border: 0;
overflow-anchor: none;
transition: transform $transition-time;
&:not(.collapsed) {
font-weight: var(--#{$prefix}font-weight-bold);
border-bottom-color: transparent;
box-shadow: none;
color: var(--#{$prefix}accordion-active-color);
}
&:after {
opacity: 1;
&:hover {
z-index: 2;
}
&:focus {
z-index: 3;
outline: 0;
box-shadow: var(--#{$prefix}accordion-btn-focus-box-shadow);
&:not(:focus-visible) {
outline: none;
box-shadow: none;
}
}
}
}
.accordion-header-icon {
color: var(--#{$prefix}secondary);
}
.accordion-header-toggle {
display: flex;
line-height: 1;
transition: $transition-time transform;
margin-left: auto;
margin-right: 0;
color: var(--#{$prefix}secondary);
width: var(--#{$prefix}accordion-btn-toggle-width);
height: var(--#{$prefix}accordion-btn-toggle-width);
.accordion-header:not(.collapsed) & {
transform: rotate(-180deg);
color: var(--#{$prefix}accordion-active-color);
}
path {
transition: $transition-time opacity;
}
}
.accordion-header-toggle-plus {
.accordion-header:not(.collapsed) & {
path:first-child {
opacity: 0;
}
}
}
.accordion-header-text {
margin-bottom: 0;
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
margin-bottom: 0;
}
}
.accordion-item {
color: var(--#{$prefix}accordion-color);
border: var(--#{$prefix}border-width) solid var(--#{$prefix}accordion-border-color);
&:first-of-type {
@include border-top-radius(var(--#{$prefix}accordion-border-radius));
> .accordion-header {
@include border-top-radius(var(--#{$prefix}accordion-inner-border-radius));
}
}
&:not(:first-of-type) {
border-top: 0;
}
&:last-of-type {
@include border-bottom-radius(var(--#{$prefix}accordion-border-radius));
> .accordion-header {
&.collapsed {
@include border-bottom-radius(var(--#{$prefix}accordion-inner-border-radius));
}
}
> .accordion-collapse {
@include border-bottom-radius(var(--#{$prefix}accordion-border-radius));
}
}
}
.accordion-body {
color: var(--#{$prefix}secondary);
padding: 0 var(--#{$prefix}accordion-body-padding-x) var(--#{$prefix}accordion-body-padding-y);
}
.accordion-flush {
> .accordion-item {
border-right: 0;
border-left: 0;
@include border-radius(0);
&:first-child {
border-top: 0;
}
&:last-child {
border-bottom: 0;
}
// stylelint-disable selector-max-class
> .accordion-collapse,
> .accordion-header .accordion-button,
> .accordion-header .accordion-button.collapsed {
@include border-radius(0);
}
// stylelint-enable selector-max-class
}
}
.accordion-tabs {
--#{$prefix}accordion-gap: 0.75rem;
> .accordion-item {
border: var(--#{$prefix}border-width) solid var(--#{$prefix}accordion-border-color);
border-radius: var(--#{$prefix}accordion-border-radius);
}
}
.accordion-inverted {
.accordion-header-toggle {
order: -1;
margin-left: 0;
}
}

View File

@@ -1,40 +1,86 @@
.alert {
--#{$prefix}alert-color: #{var(--#{$prefix}secondary)};
--#{$prefix}alert-bg: #{var(--#{$prefix}bg-surface)};
border: $alert-border-width var(--#{$prefix}border-style) $alert-border-color;
border-left: .25rem var(--#{$prefix}border-style) var(--#{$prefix}alert-color);
box-shadow: $alert-shadow;
--#{$prefix}alert-bg: transparent;
--#{$prefix}alert-padding-x: #{$alert-padding-x};
--#{$prefix}alert-padding-y: #{$alert-padding-y};
--#{$prefix}alert-margin-bottom: #{$alert-margin-bottom};
--#{$prefix}alert-color: inherit;
--#{$prefix}alert-border-color: var(--#{$prefix}border-color);
--#{$prefix}alert-border: var(--#{$prefix}border-width) solid var(--#{$prefix}alert-border-color);
--#{$prefix}alert-border-radius: var(--#{$prefix}border-radius);
--#{$prefix}alert-link-color: inherit;
--#{$prefix}alert-heading-font-weight: var(--#{$prefix}font-weight-medium);
>:last-child {
margin-bottom: 0;
position: relative;
padding: var(--#{$prefix}alert-padding-y) var(--#{$prefix}alert-padding-x);
margin-bottom: var(--#{$prefix}alert-margin-bottom);
background-color: var(--#{$prefix}alert-bg);
border-radius: var(--#{$prefix}alert-border-radius);
border: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}alert-border-color);
display: flex;
flex-direction: row;
gap: 1rem;
}
.alert-heading {
color: inherit;
margin-bottom: .25rem; // todo: use variable
font-weight: var(--#{$prefix}alert-heading-font-weight);
}
.alert-description {
color: var(--#{$prefix}secondary);
}
.alert-icon {
color: var(--#{$prefix}alert-color);
width: 1.25rem !important; // todo: use variable
height: 1.25rem !important;
}
.alert-action {
color: var(--#{$prefix}alert-color);
text-decoration: underline;
&:hover {
text-decoration: none;
}
}
.alert-list {
margin: 0;
}
.alert-link {
font-weight: $alert-link-font-weight;
color: var(--#{$prefix}alert-link-color);
&,
&:hover {
color: var(--#{$prefix}alert-color);
}
}
.alert-dismissible {
padding-right: 3rem; //todo: use variable
.btn-close {
position: absolute;
top: 0;
right: 0;
z-index: 1;
padding: calc(var(--#{$prefix}alert-padding-y) * 1.25) var(--#{$prefix}alert-padding-x);
}
}
.alert-important {
border-color: transparent;
background: var(--#{$prefix}alert-color);
color: #fff;
border-color: var(--#{$prefix}alert-color);
color: var(--#{$prefix}alert-color);
.alert-icon,
.alert-link,
.alert-title {
.btn-close,
.alert-description {
color: inherit;
}
.alert-link:hover {
color: inherit;
}
.btn-close {
filter: var(--#{$prefix}btn-close-white-filter);
}
}
.alert-link, {
&,
&:hover {
color: var(--#{$prefix}alert-color);
}
}
@each $name, $color in $theme-colors {
@@ -42,18 +88,3 @@
--#{$prefix}alert-color: var(--#{$prefix}#{$name});
}
}
.alert-icon {
color: var(--#{$prefix}alert-color);
width: 1.5rem !important;
height: 1.5rem !important;
margin: -.125rem $alert-padding-x -.125rem 0;
}
.alert-title {
font-size: $h4-font-size;
line-height: $h4-line-height;
font-weight: var(--#{$prefix}font-weight-bold);
margin-bottom: .25rem;
color: var(--#{$prefix}alert-color);
}

View File

@@ -90,6 +90,7 @@
height: 4rem;
border: var(--#{$prefix}border-width) dashed var(--#{$prefix}border-color);
background: $form-check-input-bg;
box-shadow: none;
flex-direction: column;
@include transition(color $transition-time, background-color $transition-time);

View File

@@ -1,36 +1,46 @@
.badge {
--#{$prefix}badge-padding-x: #{$badge-padding-x};
--#{$prefix}badge-padding-y: #{$badge-padding-y};
--#{$prefix}badge-font-size: #{$badge-font-size};
--#{$prefix}badge-font-weight: #{$badge-font-weight};
--#{$prefix}badge-color: #{$badge-color};
--#{$prefix}badge-border-radius: #{$badge-border-radius};
--#{$prefix}badge-icon-size: 1em;
--#{$prefix}badge-line-height: 1;
display: inline-flex;
padding: var(--#{$prefix}badge-padding-y) var(--#{$prefix}badge-padding-x);
font-weight: var(--#{$prefix}badge-font-weight);
font-size: var(--#{$prefix}badge-font-size);
color: var(--#{$prefix}badge-color);
text-align: center;
white-space: nowrap;
justify-content: center;
align-items: center;
gap: .25rem;
background: $badge-bg-color;
overflow: hidden;
user-select: none;
border: var(--#{$prefix}border-width) var(--#{$prefix}border-style) transparent;
min-width: ($badge-padding-y * 2 ) + (divide($badge-font-size, 100%) * 1em);
font-weight: $headings-font-weight;
letter-spacing: .04em;
border-radius: var(--#{$prefix}badge-border-radius);
min-width: calc(1em + var(--#{$prefix}badge-padding-y) * 2 + 2px);
letter-spacing: 0.04em;
vertical-align: bottom;
line-height: var(--#{$prefix}badge-line-height);
@at-root a#{&} {
color: $card-bg;
}
.avatar {
box-sizing: content-box;
width: 1.25rem;
height: 1.25rem;
margin: 0 .5rem 0 -.5rem;
}
.icon {
width: 1em;
height: 1em;
font-size: 1rem;
font-size: var(--#{$prefix}badge-icon-size);
stroke-width: 2;
}
}
.badge:empty,
.badge-empty {
.badge:empty,
.badge-dot {
display: inline-block;
width: $badge-empty-size;
height: $badge-empty-size;
@@ -76,4 +86,28 @@
.badge-blink {
animation: blink 2s infinite;
}
//
// Badge sizes
//
.badge-sm {
--#{$prefix}badge-font-size: #{$badge-font-size-sm};
--#{$prefix}badge-icon-size: 1em;
--#{$prefix}badge-padding-y: 2px;
--#{$prefix}badge-padding-x: 0.25rem;
}
.badge-lg {
--#{$prefix}badge-font-size: #{$badge-font-size-lg};
--#{$prefix}badge-icon-size: 1em;
--#{$prefix}badge-padding-y: 0.25rem;
--#{$prefix}badge-padding-x: 0.5rem;
}
//
// Badge with only icon
//
.badge-icononly {
--#{$prefix}badge-padding-x: 0;
}

View File

@@ -20,6 +20,7 @@
justify-content: center;
white-space: nowrap;
box-shadow: var(--#{$prefix}btn-box-shadow);
position: relative;
.icon {
width: var(--#{$prefix}btn-icon-size);
@@ -224,6 +225,7 @@
// Action button
//
.btn-action {
--#{$prefix}border-color: transparent;
padding: 0;
border: 0;
color: var(--#{$prefix}secondary);
@@ -234,6 +236,7 @@
justify-content: center;
border-radius: var(--#{$prefix}border-radius);
background: transparent;
box-shadow: none;
&:after {
content: none;
@@ -253,14 +256,6 @@
&.show {
color: var(--#{$prefix}primary);
}
.icon {
margin: 0;
width: 1.25rem;
height: 1.25rem;
font-size: 1.25rem;
stroke-width: 1;
}
}
.btn-actions {

View File

@@ -28,8 +28,8 @@
}
.calendar-date {
flex: 0 0 divide(100%, 7);
max-width: divide(100%, 7);
flex: 0 0 calc(100% / 7);
max-width: calc(100% / 7);
padding: .2rem;
text-align: center;
border: 0;

View File

@@ -19,6 +19,7 @@
align-items: center;
margin: 0;
line-height: $line-height-base;
gap: .5rem;
}
.dropdown-item-icon {

View File

@@ -227,4 +227,15 @@ Upload files
.form-file-button {
margin-left: 0;
border-left: 0;
}
/**
Floating inputs
*/
// Fix for the bug in twbs/bootstrap v5.3.3. Issue #39080. Should be fixed in v5.3.4
label[for="floating-input"] {
max-width: 100%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}

View File

@@ -36,7 +36,8 @@ Markdown
padding: .5rem 1.5rem;
}
> img {
> img,
> p > img {
border-radius: var(--#{$prefix}border-radius);
}
}

View File

@@ -13,7 +13,7 @@
.nav-link.active,
.nav-item.show .nav-link {
font-weight: var(--#{$prefix}font-weight-bold);
font-weight: var(--#{$prefix}font-weight-medium);
}
&.nav-pills {
@@ -36,7 +36,7 @@
.nav-link {
padding-left: 0;
padding-right: 0;
margin: 0 0 (- $nav-bordered-border-width);
margin: 0 0 calc(-1 * #{$nav-bordered-border-width});
border: 0;
border-bottom: $nav-bordered-link-active-border-width var(--#{$prefix}border-style) transparent;
}
@@ -51,8 +51,13 @@
.nav-link {
display: flex;
@include transition(color $transition-time);
@include transition(color $transition-time, background-color $transition-time);
align-items: center;
&:hover,
&:focus {
background-color: var(--#{$prefix}nav-link-hover-bg);
}
}
.nav-link-toggle {
@@ -88,4 +93,4 @@
justify-content: center;
}
}
}
}

View File

@@ -1,4 +1,4 @@
$payment-icons: ("2c2p", "2checkout", "adyen", "affirm", "alipay-plus", "alipay", "allegro-pay", "amazon-pay", "amazon", "americanexpress", "applepay", "authorize", "autopay", "bancontact", "binance-usd", "bitcoin", "bitpay", "bkash", "blik", "braintree", "cash-app", "chime", "cirrus", "clickandbuy", "coinkite", "dinersclub", "directdebit", "discover", "dotpay", "dwolla", "easypaisa", "ebay", "elo", "epayco", "esewa", "ethereum", "eway", "fonepay", "giropay", "google-pay", "googlewallet", "hubspot", "ingenico", "ideal", "imepay", "jcb", "khalti", "klarna", "laser", "litecoin", "maestro", "mastercard", "mercado-pago", "metamask", "mir", "monero", "moneygram", "neteller", "ogone", "okpay", "opensea", "paybox", "payconiq", "payka", "payline", "paymill", "payone", "payoneer", "paypal", "paypo", "paysafe", "paysafecard", "payu", "payza", "poli", "przelewy24", "revolut-pay", "ripple", "sage", "samsung-pay", "sepa", "shop-pay", "shopify", "skrill", "solana", "solo", "spingo", "square", "stax", "stripe", "switch", "tether", "tpay", "true-usd", "ukash", "unionpay", "venmo", "verifone", "verisign", "visa", "we-chat-pay", "webmoney", "westernunion", "wise", "worldpay", "zelle");
$payment-icons: ("2c2p", "2checkout", "adyen", "affirm", "alipay-plus", "alipay", "allegro-pay", "amazon-pay", "amazon", "americanexpress", "applepay", "authorize", "autopay", "bancontact", "binance-usd", "bitcoin", "bitpay", "bkash", "blik", "braintree", "cash-app", "chime", "cirrus", "clickandbuy", "coinkite", "dinersclub", "directdebit", "discover", "dotpay", "dwolla", "easypaisa", "ebay", "elo", "epayco", "esewa", "ethereum", "eway", "fonepay", "giropay", "google-pay", "googlewallet", "hubspot", "ingenico", "ideal", "imepay", "jcb", "khalti", "klarna", "laser", "litecoin", "maestro", "mastercard", "mercado-pago", "metamask", "mir", "monero", "moneygram", "neteller", "ogone", "okpay", "opensea", "paybox", "payconiq", "payka", "payline", "paymill", "payone", "payoneer", "paypal", "paypo", "paysafe", "paysafecard", "payu", "payza", "poli", "przelewy24", "revolut-pay", "ripple", "sage", "samsung-pay", "sepa", "shop-pay", "shopify", "skrill", "solana", "solo", "spingo", "square", "stax", "stripe", "switch", "tether", "tpay", "troy", "true-usd", "ukash", "unionpay", "venmo", "verifone", "verisign", "visa", "we-chat-pay", "webmoney", "westernunion", "wise", "worldpay", "zelle");
.payment {
height: $avatar-size;

View File

@@ -0,0 +1,101 @@
.nav-segmented {
--#{$prefix}nav-bg: var(--#{$prefix}bg-surface-tertiary);
--#{$prefix}nav-padding: 2px;
--#{$prefix}nav-height: 2.5rem;
--#{$prefix}nav-gap: .25rem;
--#{$prefix}nav-active-bg: var(--#{$prefix}bg-surface);
--#{$prefix}nav-font-size: inherit;
--#{$prefix}nav-radius: 6px;
--#{$prefix}nav-link-disabled-color: var(--#{$prefix}disabled-color);
--#{$prefix}nav-link-gap: .25rem;
--#{$prefix}nav-link-padding-x: .75rem;
--#{$prefix}nav-link-icon-size: 1.25rem;
display: inline-flex;
flex-wrap: wrap;
gap: var(--#{$prefix}nav-gap);
padding: var(--#{$prefix}nav-padding);
list-style: none;
background: var(--#{$prefix}nav-bg);
border-radius: calc(var(--#{$prefix}nav-radius) + var(--#{$prefix}nav-padding));
box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .04);
.nav-link {
display: inline-flex;
gap: calc(.25rem + var(--#{$prefix}nav-link-gap));
align-items: center;
margin: 0;
font-size: var(--#{$prefix}nav-font-size);
min-width: calc(var(--#{$prefix}nav-height) - 2 * var(--#{$prefix}nav-padding));
height: calc(var(--#{$prefix}nav-height) - 2 * var(--#{$prefix}nav-padding));
padding: 0 calc(var(--#{$prefix}nav-link-padding-x) - 2px);
border: 1px solid transparent;
background: transparent;
color: var(--#{$prefix}secondary);
text-align: center;
text-decoration: none;
white-space: nowrap;
cursor: pointer;
transition: background-color $transition-time, color $transition-time;
border-radius: var(--#{$prefix}nav-radius);
flex-grow: 1;
justify-content: center;
&:hover,
&.hover {
background: rgba(0, 0, 0, .04);
color: var(--#{$prefix}body-color);
}
&.disabled,
&:disabled {
color: var(--#{$prefix}nav-link-disabled-color);
cursor: not-allowed;
}
}
.nav-link-input:checked + .nav-link,
.nav-link.active {
color: var(--#{$prefix}body-color);
background: var(--#{$prefix}nav-active-bg);
border-color: var(--#{$prefix}border-color);
}
.nav-link-input {
display: none;
}
.nav-link-icon {
width: var(--#{$prefix}nav-link-icon-size);
height: var(--#{$prefix}nav-link-icon-size);
margin: 0 -.25rem;
color: inherit;
}
}
.nav-segmented-vertical {
flex-direction: column;
.nav-link {
justify-content: flex-start;
}
}
.nav-sm {
--#{$prefix}nav-height: 2rem;
--#{$prefix}nav-font-size: var(--tblr-font-size-h5);
--#{$prefix}nav-radius: 4px;
--#{$prefix}nav-link-padding-x: .5rem;
--#{$prefix}nav-link-gap: .25rem;
--#{$prefix}nav-link-icon-size: 1rem;
}
.nav-lg {
--#{$prefix}nav-height: 3rem;
--#{$prefix}nav-font-size: var(--tblr-font-size-h3);
--#{$prefix}nav-radius: 8px;
--#{$prefix}nav-link-padding-x: 1rem;
--#{$prefix}nav-link-gap: .5rem;
--#{$prefix}nav-link-icon-size: 1.5rem;
}

View File

@@ -0,0 +1,13 @@
.signature {
border: var(--#{$prefix}border-width) solid var(--#{$prefix}border-color);
padding: var(--#{$prefix}spacer-1);
border-radius: var(--#{$prefix}border-radius);
}
.signature-canvas {
border: var(--#{$prefix}border-width) dashed var(--#{$prefix}border-color);
border-radius: var(--#{$prefix}border-radius-sm);
display: block;
cursor: crosshair;
width: 100%;
}

View File

@@ -148,3 +148,14 @@ Table sort
background: transparent;
}
}
//
// Table selectable
//
.table-selectable {
tbody tr {
&:has(.table-selectable-check:checked) {
background-color: $table-active-bg;
}
}
}

View File

@@ -72,7 +72,7 @@ b {
}
blockquote {
padding-left: 1rem;
padding: 1rem 1rem 1rem;
border-left: 2px var(--#{$prefix}border-style) var(--#{$prefix}border-color);
p {
@@ -89,7 +89,8 @@ blockquote {
}
}
ul, ol {
ul,
ol {
padding-left: 1.5rem;
}
@@ -123,6 +124,12 @@ code {
border-radius: var(--#{$prefix}border-radius);
}
abbr {
text-decoration: underline dotted;
cursor: help;
text-decoration-skip-ink: none;
}
kbd,
.kbd {
border: $kbd-border;
@@ -145,18 +152,23 @@ img {
margin-left: 0;
}
/**
Selection
*/
::selection {
background-color: rgba(var(--#{$prefix}primary-rgb), .16);
::selection,
.text-selected {
background-color: color-transparent(var(--#{$prefix}primary), .1);
}
.text-selected {
display: inline-block;
}
/**
Links
*/
[class^="link-"], [class*=" link-"] {
[class^="link-"],
[class*=" link-"] {
&.disabled {
color: $nav-link-disabled-color !important;
pointer-events: none;
@@ -173,3 +185,68 @@ Subheader
.subheader {
@include subheader;
}
/**
Mentions
*/
.mention {
display: inline-block;
box-shadow: var(--tblr-box-shadow-border);
border-radius: var(--#{$prefix}border-radius-pill);
line-height: calc(16em / 12);
font-size: calc(12em / 14);
color: var(--#{$prefix}body-color);
background: var(--#{$prefix}bg-surface-tertiary);
padding: calc(2em / 12) calc(8em / 12);
font-weight: var(--#{$prefix}font-weight-medium);
@at-root a#{&} {
cursor: pointer;
&:hover,
&.hover {
background: var(--#{$prefix}bg-surface-secondary);
text-decoration: underline;
}
}
}
.mention-avatar,
.mention-app,
.mention-color {
width: calc(14em / 12);
height: calc(14em / 12);
border-radius: var(--#{$prefix}border-radius-pill);
margin: calc(-2em / 12) calc(4em / 12) 0 calc(-4em / 12);
display: inline-flex;
background: no-repeat center center/cover;
box-shadow: var(--#{$prefix}box-shadow-border);
vertical-align: middle;
text-align: center;
}
.mention-app {
box-shadow: none;
background: none;
border-radius: 0;
}
.mention-count {
color: var(--#{$prefix}secondary);
margin-left: calc(8em / 12);
}
$text-variants: (
incorrect: var(--#{$prefix}red),
correct: var(--#{$prefix}green),
);
@each $variant, $color in $text-variants {
.text-#{$variant} {
background: color-transparent($color, .04);
background: color-transparent($color, 4%);
text-decoration: underline;
text-decoration-thickness: 1px;
text-decoration-color: $color;
}
}

View File

@@ -31,7 +31,7 @@
@each $color, $value in $gray-colors {
.bg-#{"" + $color} {
--#{$prefix}bg-opacity: .1;
--#{$prefix}bg-opacity: 1;
background-color: rgba(var(--#{$prefix}#{$color}-rgb), var(--#{$prefix}bg-opacity)) !important;
}
@@ -39,3 +39,15 @@
color: $value !important;
}
}
.bg-surface {
background-color: var(--#{$prefix}bg-surface) !important;
}
.bg-surface-secondary {
background-color: var(--#{$prefix}bg-surface-secondary) !important;
}
.bg-surface-tertiary {
background-color: var(--#{$prefix}bg-surface-tertiary) !important;
}

View File

@@ -2,6 +2,6 @@
@for $i from 0 through 20 {
.opacity-#{$i * 5} {
opacity: divide($i * 5, 100) !important;
opacity: calc(#{$i * 5} / 100) !important;
}
}

View File

@@ -40,4 +40,9 @@
.apexcharts-radialbar-track .apexcharts-radialbar-area {
stroke: var(--#{$prefix}border-color) !important;
}
.apexcharts-svg,
.apexcharts-canvas {
border-radius: inherit;
}

View File

@@ -1,6 +1,6 @@
---
title: Tabler Icons
summary: Tabler Icons is a powerful and versatile icon library that offers a huge collection of high quality icons suitable for a wide range of applications. With its clean and modern aesthetic, extensive customisation options, and user-friendly website and plugins, Tabler Icons is an excellent resource for designers and developers looking to enhance their projects with high-quality icons.
summary: Tabler Icons is a powerful and versatile icon library that offers a huge collection of high quality icons suitable for a wide range of applications. With its clean and modern aesthetic, extensive customization options, and user-friendly website and plugins, Tabler Icons is an excellent resource for designers and developers looking to enhance their projects with high-quality icons.
order: 2
description: Over 5000 pixel-perfect icons for web design and development
---

View File

@@ -14,7 +14,7 @@ or just [download from Github](https://github.com/tabler/tabler-icons/releases).
## How to use
It's build with ESmodules so it's completely tree-shakable. Each icon can be imported as a component.
It's built with ESmodules so it's completely tree-shakable. Each icon can be imported as a component.
```js
import { IconArrowDown } from '@tabler/icons-preact';

View File

@@ -14,7 +14,7 @@ or just [download from Github](https://github.com/tabler/tabler-icons/releases).
## How to use
It's build with ESmodules so it's completely tree-shakable. Each icon can be imported as a component.
It's built with ESmodules so it's completely tree-shakable. Each icon can be imported as a component.
```jsx
import { IconArrowLeft } from '@tabler/icons-react';

View File

@@ -15,7 +15,7 @@ or just [download from Github](https://github.com/tabler/tabler-icons/releases).
## How to use
It's build with ESmodules so it's completely tree-shakable. Each icon can be imported as a component.
It's built with ESmodules so it's completely tree-shakable. Each icon can be imported as a component.
```js
import { IconArrowRight } from '@tabler/icons-solidjs';

View File

@@ -15,7 +15,7 @@ or just [download from Github](https://github.com/tabler/tabler-icons/releases).
## How to use
It's build with ESmodules so it's completely tree-shakable. Each icon can be imported as a component.
It's built with ESmodules so it's completely tree-shakable. Each icon can be imported as a component.
```sveltehtml
<script lang="ts">
@@ -29,7 +29,7 @@ import { IconHeart } from '@tabler/icons-svelte';
You can pass additional props to adjust the icon.
```html
```sveltehtml
<IconHeart size={48} stroke={1} />
```

View File

@@ -15,7 +15,7 @@ or just [download from Github](https://github.com/tabler/tabler-icons/releases).
## How to use
All icons are Vue components that contain SVG elements. So any icon can be imported and used as a component. It also helps to use threeshaking, so you only import the icons you use.
All icons are Vue components that contain SVG elements, so any icon can be imported and used as a component. It also helps to use treeshaking, so you only import the icons you use.
```vue
<template>

View File

@@ -30,9 +30,14 @@ or just [download from Github](https://github.com/tabler/tabler-icons/releases).
### CDN
```html
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@tabler/icons-webfont@$ICONS_VERSION/dist/tabler-icons.min.css">
<link
rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/@tabler/icons-webfont@$ICONS_VERSION/dist/tabler-icons.min.css"
/>
```
Instead of a specific version, you can use `latest` to always get the newest icons.
## Usage
### HTML

View File

@@ -16,8 +16,6 @@ All PNG files are stored in `icons` subdirectory.
## CDN
Replace `$ICONS_VERSION` with `latest` or any specific version you need.
#### Outline version
```html
@@ -29,3 +27,5 @@ Replace `$ICONS_VERSION` with `latest` or any specific version you need.
```html
<img src="https://unpkg.com/@tabler/icons-png@$ICONS_VERSION/icons/filled/home.png" />
```
Instead of a specific version, you can use `latest` to always get the newest icons.

View File

@@ -29,7 +29,18 @@ You can paste the content of the icon file into your HTML code to display it on
```html
<a href="">
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-disabled" width="24" height="24" viewBox="0 0 24 24" stroke-width="1.25" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-disabled"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="1.25"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
...
</svg>
Click me
@@ -59,8 +70,6 @@ Add an icon to be displayed on your page with the following markup (`activity` i
## CDN
Replace `$ICONS_VERSION` with `latest` or any specific version you need.
#### Outline version
```html
@@ -72,3 +81,5 @@ Replace `$ICONS_VERSION` with `latest` or any specific version you need.
```html
<img src="https://unpkg.com/@tabler/icons@$ICONS_VERSION/icons/filled/home.svg" />
```
Instead of a specific version, you can use `latest` to always get the newest icons.

File diff suppressed because it is too large Load Diff

View File

@@ -2,21 +2,89 @@
title: Tabler Illustrations License
---
Codecalm.net grants you an on-going, non-exclusive license to use the Tabler Illustrations.
### Personal License
By purchasing Tabler Illustrations, you are granted an ongoing, non-exclusive license by codecalm.net to use Tabler Illustrations.
The license grants permission to one individual (the Licensee) to access and use the Tabler Illustrations.
## What You Can Do with Tabler Illustrations
You **can**:
* Use the Tabler Illustrations to create unlimited End Products.
* Modify the Tabler Illustrations to create derivative Tabler Illustrations. Those Tabler Illustrations are subject to this license.
* Use the Tabler Illustrations to create unlimited End Products for unlimited Clients.
* Use the Tabler Illustrations to create End Products where the End Product is sold to End Users.
## What You Cannot Do with Tabler Illustrations
You **cannot**:
* Use the Tabler Illustrations to create End Products that are designed to allow an End User to build their own End Products using the Tabler Illustrations or derivatives of the Tabler Illustrations.
* Re-distribute the Tabler Illustrations or derivatives of the Tabler Illustrations separately from an End Product, neither in code or as design assets.
* Share your access to the Tabler Illustrations with any other individuals.
* Re-distribute the Tabler Illustrations or derivatives of the Tabler Illustrations separately from an End Product, neither in code nor as design assets.
* Share your access to the Tabler Illustrations with any other individuals. You need a Team License for that to be allowed.
* Use the Tabler Illustrations to create End Products that are open source and freely available to End Users.
* Use the Tabler Illustrations to produce anything that may be deemed by Codecalm.net, in their sole and absolute discretion, to be competitive or in conflict with the business of Codecalm.net
* Use the Tabler Illustrations to produce anything that may be deemed by codecalm.net, in their sole and absolute discretion, to be competitive or in conflict with the business of codecalm.net
#### Example usage
Examples of usage **allowed** by the license:* Creating a personal website by yourself.
* Creating a website or web application for a client that will be owned by that client.
* Creating a commercial SaaS application (like an invoicing app for example) where end users have to pay a fee to use the application.
* Creating a commercial self-hosted web application that is sold to end users for a one-time fee.
Examples of usage **not allowed** by the license:
* Creating a repository of your favorite Tabler Illustrations (or derivatives based on Tabler Illustrations) and publishing it publicly.
* Creating a UI library using Tabler Illustrations and making it available either for sale or for free.
* Converting a Tabler Illustrations to another framework and making it available either for sale or for free.
* Creating a Figma or Sketch file based on the Tabler Illustrations.
* Creating a "website builder" project where end users can build their own websites using illustrations included with or derived from Tabler Illustrations.
* Creating a theme, template, or project starter kit using the illustrations and making it available either for sale or for free.
* Creating a web application where the primary purpose is clearly not to simply re-distribute the illustrations (like a conference organization app that uses the illustrations for its UI for example) that is free and open source, where the source code is publicly available.
In simple terms, use Tabler Illustrations for anything you like as long as it doesn't compete with Tabler Illustrations.
### Team License
By purchasing Tabler Illustrations, you are granted an ongoing, non-exclusive license by codecalm.net to use Tabler Illustrations.
The license grants permission for up to 10 Employees and Contractors of the Licensee to access and use the Tabler Illustrations.
You **can**:
* Use the Tabler Illustrations to create unlimited End Products.
* Modify the Tabler Illustrations to create derivative Tabler Illustrations. Those Tabler Illustrations are subject to this license.
* Use the Tabler Illustrations to create unlimited End Products for unlimited Clients.
* Use the Tabler Illustrations to create End Products where the End Product is sold to End Users.
You **cannot**:
* Use the Tabler Illustrations to create End Products that are designed to allow an End User to build their own End Products using the Tabler Illustrations or derivatives of the Tabler Illustrations.
* Re-distribute the Tabler Illustrations or derivatives of the Tabler Illustrations separately from an End Product.
* Use the Tabler Illustrations to create End Products that are the property of any individual or entity other than the Licensee or Clients of the Licensee.
* Grant access to the Tabler Illustrations to individuals who are not an Employee or Contractor of the Licensee.
* Use the Tabler Illustrations to create End Products that are open source and freely available to End Users.
* Use the Tabler Illustrations to produce anything that may be deemed by codecalm.net, in their sole and absolute discretion, to be competitive or in conflict with the business of codecalm.net
#### Example usage
Examples of usage **allowed** by the license:
* Creating a website for your company.
* Creating a website or web application for a client that will be owned by that client.
* Creating a commercial SaaS application (like an invoicing app for example) where end users have to pay a fee to use the application.
* Creating a commercial self-hosted web application that is sold to end users for a one-time fee.
Examples of use **not allowed** by the license:
* Creating a repository of your favorite Tabler Illustrations (or derivatives based on Tabler Illustrations) and publishing it publicly.
* Creating a UI library using Tabler Illustrations and making it available either for sale or for free.
* Converting a Tabler Illustrations to another framework and making it available either for sale or for free.
* Creating a "website builder" project where end users can build their own websites using illustrations included with or derived from Tabler Illustrations.
* Creating a theme or template using the illustrations and making it available either for sale or for free.
* Creating any End Product that is not the sole property of either your company or a client of your company. For example your employees/contractors can't use your company Tabler Illustrations license to build their own websites or side projects.
* Giving someone access to Tabler Illustrations when they purchase a product from you. For example, you can't use a Team License as a way to give someone access to Tabler Illustrations when they purchase an online course from you.
* Selling access to your team account to people who don't work for you company.
---
In case of differences between above license agreements and the license agreements provided with the product, the license agreement provided with the product shall prevail.

View File

@@ -11,6 +11,6 @@ Find all the guides and resources you need to develop with Tabler and our other
<Card title="UI Components" href="/docs/ui" icon="paint">Free and open source web application UI kit based on Bootstrap</Card>
<Card title="Icons" href="/docs/icons" icon="ghost"><IconsCount /> pixel-perfect icons for web design and development</Card>
<Card title="Illustrations" href="/docs/illustrations" icon="brand-figma"><IllustrationsCount /> customizable SVG illustrations for your web project</Card>
<Card title="Email Templates" icon="mail" disabled badge="Comming soon"><EmailsCount /> responsive email templates ready to use in your marketing campaigns</Card>
<Card title="Avatars" icon="user-circle" disabled badge="Comming soon">Package of over 100 avatars for your next web project</Card>
</Cards>
<Card title="Email Templates" icon="mail" disabled badge="Coming soon"><EmailsCount /> responsive email templates ready to use in your marketing campaigns</Card>
<Card title="Avatars" icon="user-circle" disabled badge="Coming soon">Package of over 100 avatars for your next web project</Card>
</Cards>

View File

@@ -1,6 +1,6 @@
---
title: Colors
summary: The choice of colors for a website or app interface has an big influence on how users interact with the product and what decisions they make. Harmonic colors can contribute to a nice first impression and encourage users to engage with your product, so it's a very important aspect of a successful design, which needs to be well thought out.
summary: The choice of colors for a website or app interface has a big influence on how users interact with the product and what decisions they make. Harmonious colors can contribute to a nice first impression and encourage users to engage with your product, so it's a very important aspect of a successful design, which needs to be well thought out.
bootstrapLink: utilities/colors/
description: Impact of colors on user interface design.
---
@@ -80,4 +80,4 @@ Use the colors of popular social networks to create a recognizable design and ma
{ name: "flickr", value: "#0063dc" },
{ name: "bitbucket", value: "#0052cc" },
{ name: "tabler", value: "#066fd1" }
]} />
]} />

View File

@@ -7,7 +7,7 @@ description: Role of typography in interface design.
## Headings
Use HTML headings to organize content on your website and make the structure clear and user-friendly. The `h1` to `h6` tags are used to define HTML headings.
Use HTML headings to organize content on your website and make the structure clear and user-friendly. The `h1` to `h6` tags are used to define HTML headings.
The `h1` tag is the highest level and the `h6` tag is the lowest level.
```html
@@ -19,7 +19,7 @@ The `h1` tag is the highest level and the `h6` tag is the lowest level.
<h6>H6 Heading</h6>
```
There is example of headings with different levels:
Below are examples of headings with different levels:
```html example vertical columns={1}
<h1>H1 Heading</h1>
@@ -32,17 +32,20 @@ There is example of headings with different levels:
## Paragraphs
Organize longer pieces of text into paragraphs using the `p` tag. It is the most common element for text content.
Organize longer pieces of text into paragraphs using the `p` tag. It is the most common element for text content.
```html
<p>At vero eos et accusam et justo duo dolores et ea rebum.</p>
```
If you use second paragraph, it will be separated from the first one by a blank line.
If you use a second paragraph, it will be separated from the first one by a blank line.
```html example vertical centered columns={2}
<div>
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.</p>
<p>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt
ut labore et dolore magna aliquyam erat, sed diam voluptua.
</p>
<p>At vero eos et accusam et justo duo dolores et ea rebum.</p>
</div>
```
@@ -50,7 +53,7 @@ If you use second paragraph, it will be separated from the first one by a blank
## Semantic text elements
Use a variety of semantic text elements, depending of how you want to display particular fragments of content.
Use a variety of semantic text elements, depending on how you want to display particular fragments of content.
```html
<abbr title="Internationalization">I18N</abbr>
@@ -65,18 +68,17 @@ Use a variety of semantic text elements, depending of how you want to display pa
<mark>Highlighted</mark>
<s>Strikethrough</s>
<samp>Sample</samp>
Text <sub>Subscripted</sub>
Text <sup>Superscripted</sup>
Text <sub>Subscripted</sub> Text <sup>Superscripted</sup>
<time>20:00</time>
<u>Underline</u>
<var>x</var> = <var>y</var> + 2
```
Here is an example of semantic text elements:
Here are examples of semantic text elements:
```html example vertical separated columns={1}
<div>
<abbr title="Internationalization">I1f8N</abbr>
<abbr title="Internationalization">I18N</abbr>
</div>
<div><strong>Bold</strong></div>
<div>
@@ -109,19 +111,15 @@ Here is an example of semantic text elements:
<div>
<samp>Sample</samp>
</div>
<div>Text <sub>Subscripted</sub>
</div>
<div>Text <sup>Superscripted</sup>
</div>
<div>Text <sub>Subscripted</sub></div>
<div>Text <sup>Superscripted</sup></div>
<div>
<time>20:00</time>
</div>
<div>
<u>Underline</u>
</div>
<div>
<var>x</var> = <var>y</var> + 2
</div>
<div><var>x</var> = <var>y</var> + 2</div>
```
@@ -132,9 +130,17 @@ Use the `hr` tag to represent a thematic break between paragraphs within one sec
```html example vertical centered columns={2}
<div>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. A atque ex excepturi fuga magnam nam reiciendis velit. Amet eius eos eveniet fuga in ipsa, ipsum voluptatum. Dolorem expedita quibusdam veniam?</p>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. A atque ex excepturi fuga magnam nam
reiciendis velit. Amet eius eos eveniet fuga in ipsa, ipsum voluptatum. Dolorem expedita
quibusdam veniam?
</p>
<hr />
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. A atque ex excepturi fuga magnam nam reiciendis velit. Amet eius eos eveniet fuga in ipsa, ipsum voluptatum. Dolorem expedita quibusdam veniam?</p>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. A atque ex excepturi fuga magnam nam
reiciendis velit. Amet eius eos eveniet fuga in ipsa, ipsum voluptatum. Dolorem expedita
quibusdam veniam?
</p>
</div>
```
@@ -148,25 +154,29 @@ You can also add a label to a horizontal rule and align it as you see fit.
```html example vertical centered columns={2}
<p>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut
labore et dolore magna aliquyam erat, sed diam voluptua.
</p>
<div class="hr-text">
<span>Rule text</span>
</div>
<p>
At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea
takimata sanctus est Lorem ipsum dolor sit amet.
</p>
<div class="hr-text hr-text-center">
<span>Rule text</span>
</div>
<p>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut
labore et dolore magna aliquyam erat, sed diam voluptua.
</p>
<div class="hr-text hr-text-end">
<span>Rule text</span>
</div>
<p>
At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea
takimata sanctus est Lorem ipsum dolor sit amet.
</p>
```
@@ -262,9 +272,7 @@ Use the `.antialiased` utility to render text using subpixel antialiasing or use
Use the `<kbd>` to indicate input that is typically entered via keyboard.
```html example vertical centered
<div>
To edit settings, press <kbd>ctrl</kbd> + <kbd>,</kbd> or <kbd>ctrl</kbd> + <kbd>C</kbd>.
</div>
<div>To edit settings, press <kbd>ctrl</kbd> + <kbd>,</kbd> or <kbd>ctrl</kbd> + <kbd>C</kbd>.</div>
```
```html
@@ -273,14 +281,26 @@ To edit settings, press <kbd>ctrl</kbd> + <kbd>,</kbd> or <kbd>ctrl</kbd> + <kbd
## Markdown elements
If you can't use the CSS classes you want or if you just want to use HTML tags, use the `.markdown` class in a container. It will apply the default styles for markdown elements.
If you can't use the CSS classes you want, or you just want to use HTML tags, use the `.markdown` class in a container. It will apply the default styles for markdown elements.
```html example centered background="white" columns={2} height="30rem"
<div class="markdown">
<h1>Hello World</h1>
<p>Lorem ipsum<sup>[1]</sup> dolor sit amet, consectetur adipiscing elit. Nulla accumsan, metus ultrices eleifend gravida, nulla nunc varius lectus, nec rutrum justo nibh eu lectus. Ut vulputate semper dui. Fusce erat odio, sollicitudin vel erat vel, interdum mattis neque. Sub<sub>script</sub> works as well!</p>
<p>
Lorem ipsum<sup>[1]</sup> dolor sit amet, consectetur adipiscing elit. Nulla accumsan, metus
ultrices eleifend gravida, nulla nunc varius lectus, nec rutrum justo nibh eu lectus. Ut
vulputate semper dui. Fusce erat odio, sollicitudin vel erat vel, interdum mattis neque. Sub<sub
>script</sub
>
works as well!
</p>
<h2>Second level</h2>
<p>Curabitur accumsan turpis pharetra <strong>augue tincidunt</strong> blandit. Quisque condimentum maximus mi, sit amet commodo arcu rutrum id. Proin pretium urna vel cursus venenatis. Suspendisse potenti. Etiam mattis sem rhoncus lacus dapibus facilisis. Donec at dignissim dui. Ut et neque nisl.</p>
<p>
Curabitur accumsan turpis pharetra <strong>augue tincidunt</strong> blandit. Quisque condimentum
maximus mi, sit amet commodo arcu rutrum id. Proin pretium urna vel cursus venenatis.
Suspendisse potenti. Etiam mattis sem rhoncus lacus dapibus facilisis. Donec at dignissim dui.
Ut et neque nisl.
</p>
<ul>
<li>In fermentum leo eu lectus mollis, quis dictum mi aliquet.</li>
<li>Morbi eu nulla lobortis, lobortis est in, fringilla felis.</li>

View File

@@ -37,12 +37,14 @@ Alert classes affect the color of all the text inside an alert. Use another clas
Add a link to your alert message to redirect users to the details they need to complete or additional information they should read. Use `alert-link` class to style the link and match the text color.
```html example vertical background="surface" columns={2} centered height="120px"
<div class="alert alert-danger m-0">This is a danger alert — <a href="#" class="alert-link">check it out</a>!</div>
<div class="alert alert-danger m-0">
This is a danger alert — <a href="#" class="alert-link">check it out</a>!
</div>
```
## Dismissible alerts
Add the `x` close button to make an alert modal dismissible. Thanks to that, your alert modal will disappear only once the user closes it.
Add the `x` close button to make an alert modal dismissible. Thanks to that, your alert modal will disappear only when the user closes it.
```html
<a class="btn-close" data-bs-dismiss="alert" aria-label="close"></a>
@@ -83,7 +85,7 @@ Add the `x` close button to make an alert modal dismissible. Thanks to that, you
Add an icon to your alert modal to make it more user-friendly and help users easily identify the message.
Use `alert-icon` class for `<svg>` or `<i>`, when using webfont, to provide the proper styling.
Use the `alert-icon` class on an `<svg>` (or on an `<i>` when using the webfont) to provide the proper styling.
```html example vertical background="surface" columns={2} centered separated height="420px"
<div class="alert alert-success" role="alert">
@@ -155,7 +157,9 @@ Use `alert-icon` class for `<svg>` or `<i>`, when using webfont, to provide the
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M12 9v2m0 4v.01" />
<path d="M5 19h14a2 2 0 0 0 1.84 -2.75l-7.1 -12.25a2 2 0 0 0 -3.5 0l-7.1 12.25a2 2 0 0 0 1.75 2.75" />
<path
d="M5 19h14a2 2 0 0 0 1.84 -2.75l-7.1 -12.25a2 2 0 0 0 -3.5 0l-7.1 12.25a2 2 0 0 0 1.75 2.75"
/>
</svg>
</div>
<div>
@@ -201,10 +205,14 @@ Add an avatar to your alert modal to make it more personalized.
<div class="alert alert-success" role="alert">
<div class="d-flex">
<div>
<span class="avatar me-3" style="background-image: url(/static/samples/avatars/039m.jpg)"></span>
<span
class="avatar me-3"
style="background-image: url(/static/samples/avatars/039m.jpg)"
></span>
</div>
<div>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Lorem ipsum dolor sit amet, consectetur adipisicing elit.
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Lorem ipsum dolor sit amet,
consectetur adipisicing elit. Lorem ipsum dolor sit amet, consectetur adipisicing elit.
</div>
</div>
</div>
@@ -214,27 +222,36 @@ Add an avatar to your alert modal to make it more personalized.
<span class="avatar me-3">JL</span>
</div>
<div>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Lorem ipsum dolor sit amet, consectetur adipisicing elit.
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Lorem ipsum dolor sit amet,
consectetur adipisicing elit. Lorem ipsum dolor sit amet, consectetur adipisicing elit.
</div>
</div>
</div>
<div class="alert alert-warning" role="alert">
<div class="d-flex">
<div>
<span class="avatar me-3" style="background-image: url(/static/samples/avatars/035f.jpg)"></span>
<span
class="avatar me-3"
style="background-image: url(/static/samples/avatars/035f.jpg)"
></span>
</div>
<div>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Lorem ipsum dolor sit amet, consectetur adipisicing elit.
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Lorem ipsum dolor sit amet,
consectetur adipisicing elit. Lorem ipsum dolor sit amet, consectetur adipisicing elit.
</div>
</div>
</div>
<div class="alert alert-danger" role="alert">
<div class="d-flex">
<div>
<span class="avatar me-3" style="background-image: url(/static/samples/avatars/056f.jpg)"></span>
<span
class="avatar me-3"
style="background-image: url(/static/samples/avatars/056f.jpg)"
></span>
</div>
<div>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Lorem ipsum dolor sit amet, consectetur adipisicing elit.
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Lorem ipsum dolor sit amet,
consectetur adipisicing elit. Lorem ipsum dolor sit amet, consectetur adipisicing elit.
</div>
</div>
</div>
@@ -295,7 +312,7 @@ Buttons don't inherit the alert's color, so you should set the proper class if y
## Important alerts
If you want your alert to be really eye-catching, you can add a `alert-important` class. It will use the selected color as a background for the alert.
If you want your alert to be really eye-catching, you can add an `alert-important` class. It will use the selected color as a background for the alert.
```html
<div class="alert alert-important alert-success alert-dismissible" role="alert">...</div>
@@ -354,9 +371,9 @@ You can also use other elements, like icons and dismissible buttons, with this t
</div>
```
## Custom alert's color
## Custom alert color
You're not limited to the 4 default alert's colors. You can use any [base or social color](../base/colors) you want.
You're not limited to the 4 default alert colors. You can use any [base or social color](../base/colors) you want.
```html example vertical background="surface" columns={2} centered separated height="420px"
<div class="alert alert-lime" role="alert">
@@ -374,7 +391,10 @@ You're not limited to the 4 default alert's colors. You can use any [base or soc
<div class="alert alert-instagram alert-dismissible alert-important" role="alert">
<div class="d-flex">
<div>
<span class="avatar me-3" style="background-image: url(/static/samples/avatars/035f.jpg)"></span>
<span
class="avatar me-3"
style="background-image: url(/static/samples/avatars/035f.jpg)"
></span>
</div>
<div>
<h4 class="alert-title">Sophia just added a new post on Instagram</h4>

View File

@@ -1,12 +1,12 @@
---
title: Avatars
summary: Avatars help customise various elements of a user interface and make the product experience more personalised. They are often used in communication apps, collaboration tools and social media.
summary: Avatars help customize various elements of a user interface and make the product experience more personalized. They are often used in communication apps, collaboration tools and social media.
description: Personalize UI with user avatars.
---
## Default markup
Use the `avatar` class to add an avatar to your interface design for greater customisation.
Use the `avatar` class to add an avatar to your interface design for greater customization.
```html example centered separated code
<span class="avatar" style="background-image: url(/samples/avatars/002f.jpg)"></span>
@@ -16,7 +16,7 @@ Use the `avatar` class to add an avatar to your interface design for greater cus
## Avatar image
Set an image as the background to make users easy to indentify and create a personalised experience.
Set an image as the background to make users easy to indentify and create a personalized experience.
```html example centered separated code
<span class="avatar" style="background-image: url(/samples/avatars/016f.jpg)"></span>
@@ -38,25 +38,58 @@ You can also use initials instead of pictures.
## Avatar icons
Apart from pictures and initials, you can also use icons to make the avatars more universal.
Besides pictures and initials, you can also use icons to make the avatars more universal.
```html example centered separated
<span class="avatar">
<svg xmlns="http://www.w3.org/2000/svg" class="icon avatar-icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon avatar-icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<circle cx="12" cy="7" r="4" />
<path d="M6 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2" />
</svg>
</span>
<span class="avatar">
<svg xmlns="http://www.w3.org/2000/svg" class="icon avatar-icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon avatar-icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<line x1="12" y1="5" x2="12" y2="19" />
<line x1="5" y1="12" x2="19" y2="12" />
</svg>
</span>
<span class="avatar">
<svg xmlns="http://www.w3.org/2000/svg" class="icon avatar-icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon avatar-icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<circle cx="9" cy="7" r="4" />
<path d="M3 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2" />
@@ -99,7 +132,7 @@ Using Bootstraps typical naming structure, you can create a standard avatar o
## Avatar status
Add a status indicator to your avatar to show, for instance, if a users is online or offline or indicate the number of messages they have received.
Add a status indicator to your avatar to show, for instance, if a user is online or offline or indicate the number of messages they have received.
```html example centered separated code
<span class="avatar" style="background-image: url(/samples/avatars/018m.jpg)"></span>
@@ -109,9 +142,7 @@ Add a status indicator to your avatar to show, for instance, if a users is onlin
<span class="avatar" style="background-image: url(/samples/avatars/022m.jpg)">
<span class="badge bg-success"></span>
</span>
<span class="avatar">
<span class="badge bg-warning"></span>SA
</span>
<span class="avatar"> <span class="badge bg-warning"></span>SA </span>
<span class="avatar" style="background-image: url(/samples/avatars/022m.jpg)">
<span class="badge bg-info"></span>
</span>
@@ -163,13 +194,34 @@ Make the list stack once a certain number of avatars is reached to make it look
```html example centered separated code
<div class="avatar-list avatar-list-stacked">
<span class="avatar avatar-sm rounded-circle" style="background-image: url(/samples/avatars/035m.jpg)"></span>
<span class="avatar avatar-sm rounded-circle" style="background-image: url(/samples/avatars/027f.jpg)"></span>
<span class="avatar avatar-sm rounded-circle" style="background-image: url(/samples/avatars/036f.jpg)"></span>
<span
class="avatar avatar-sm rounded-circle"
style="background-image: url(/samples/avatars/035m.jpg)"
></span>
<span
class="avatar avatar-sm rounded-circle"
style="background-image: url(/samples/avatars/027f.jpg)"
></span>
<span
class="avatar avatar-sm rounded-circle"
style="background-image: url(/samples/avatars/036f.jpg)"
></span>
<span class="avatar avatar-sm rounded-circle">SA</span>
<span class="avatar avatar-sm rounded-circle" style="background-image: url(/samples/avatars/034f.jpg)"></span>
<span class="avatar avatar-sm rounded-circle" style="background-image: url(/samples/avatars/043f.jpg)"></span>
<span class="avatar avatar-sm rounded-circle" style="background-image: url(/samples/avatars/039f.jpg)"></span>
<span class="avatar avatar-sm rounded-circle" style="background-image: url(/samples/avatars/020m.jpg)"></span>
<span
class="avatar avatar-sm rounded-circle"
style="background-image: url(/samples/avatars/034f.jpg)"
></span>
<span
class="avatar avatar-sm rounded-circle"
style="background-image: url(/samples/avatars/043f.jpg)"
></span>
<span
class="avatar avatar-sm rounded-circle"
style="background-image: url(/samples/avatars/039f.jpg)"
></span>
<span
class="avatar avatar-sm rounded-circle"
style="background-image: url(/samples/avatars/020m.jpg)"
></span>
</div>
```

View File

@@ -27,18 +27,12 @@ The default badges are square and come in the basic set of colors.
## Headings
```html example columns={1} height="20rem" centered
<h1>Example heading <span class="badge">New</span>
</h1>
<h2>Example heading <span class="badge">New</span>
</h2>
<h3>Example heading <span class="badge">New</span>
</h3>
<h4>Example heading <span class="badge">New</span>
</h4>
<h5>Example heading <span class="badge">New</span>
</h5>
<h6>Example heading <span class="badge">New</span>
</h6>
<h1>Example heading <span class="badge">New</span></h1>
<h2>Example heading <span class="badge">New</span></h2>
<h3>Example heading <span class="badge">New</span></h3>
<h4>Example heading <span class="badge">New</span></h4>
<h5>Example heading <span class="badge">New</span></h5>
<h6>Example heading <span class="badge">New</span></h6>
```
## Outline badges
@@ -111,8 +105,8 @@ Badges can be used as part of links or buttons to provide a counter.
The results can be seen in the example below.
```html example centered separated
<button type="button" class="btn">Notifications <span class="badge bg-red-lt ms-2">4</span>
</button>
<button type="button" class="btn">Notifications <span class="badge bg-green-lt ms-2">4</span>
<button type="button" class="btn">Notifications <span class="badge bg-red-lt ms-2">4</span></button>
<button type="button" class="btn">
Notifications <span class="badge bg-green-lt ms-2">4</span>
</button>
```

View File

@@ -92,7 +92,18 @@ You can use icons in breadcrumbs to make them more visually appealing. The examp
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="#">
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<polyline points="5 12 3 12 12 3 21 12 19 12" />
<path d="M5 12v8a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-8" />
@@ -151,18 +162,33 @@ You can use breadcrumbs in headers to show the current page location and provide
</ol>
</div>
<h2 class="page-title">
<span class="text-truncate">Knights of Ni, we are but simple travelers who seek the enchanter who lives beyond these woods.</span>
<span class="text-truncate"
>Knights of Ni, we are but simple travelers who seek the enchanter who lives beyond these
woods.</span
>
</h2>
</div>
<div class="col-auto">
<div class="btn-list">
<a href="#" class="btn d-none d-md-inline-flex">
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M7 7h-1a2 2 0 0 0 -2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2 -2v-1" />
<path d="M20.385 6.585a2.1 2.1 0 0 0 -2.97 -2.97l-8.415 8.385v3h3l8.385 -8.415z" />
<path d="M16 5l3 3" />
</svg> Edit
</svg>
Edit
</a>
<a href="#" class="btn btn-primary">Publish</a>
</div>

File diff suppressed because it is too large Load Diff

View File

@@ -25,24 +25,16 @@ Cards with the `.card-sm` class are well suited for small items such as widgets,
```html example vertical centered separated height={500} background="base"
<div class="card card-sm">
<div class="card-body">
This is some text within a card body.
</div>
<div class="card-body">This is some text within a card body.</div>
</div>
<div class="card">
<div class="card-body">
This is some text within a card body.
</div>
<div class="card-body">This is some text within a card body.</div>
</div>
<div class="card card-md">
<div class="card-body">
This is some text within a card body.
</div>
<div class="card-body">This is some text within a card body.</div>
</div>
<div class="card card-lg">
<div class="card-body">
This is some text within a card body.
</div>
<div class="card-body">This is some text within a card body.</div>
</div>
```
@@ -81,18 +73,23 @@ To create a more visually appealing card, add a title and an image. Thanks to th
```html example centered columns={1} height={500} background="base"
<div class="card">
<!-- Photo -->
<div class="img-responsive img-responsive-21x9 card-img-top" style="background-image: url(/samples/photos/cup-of-coffee-and-an-open-book.jpg)"></div>
<div
class="img-responsive img-responsive-21x9 card-img-top"
style="background-image: url(/samples/photos/cup-of-coffee-and-an-open-book.jpg)"
></div>
<div class="card-body">
<h3 class="card-title">Card with title and image</h3>
<p class="text-secondary">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam deleniti fugit incidunt, iste, itaque minima
neque pariatur perferendis sed suscipit velit vitae voluptatem.</p>
<p class="text-secondary">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam deleniti fugit incidunt,
iste, itaque minima neque pariatur perferendis sed suscipit velit vitae voluptatem.
</p>
</div>
</div>
```
## Blog post card
Add an image to your blog post card to make it eye-catching. You can do it by adding the image in the `.card-img-top` class. Thanks to the `.d-flex` and `.flex-column` classes within `.card-body`, the author details will be displayed at the bottom of the card.
Add an image to your blog post card to make it eye-catching. You can do it by adding the image, with a `.card-img-top` class, inside the `.card` element. Thanks to the `.d-flex` and `.flex-column` classes within `.card-body`, the author details will be displayed at the bottom of the card.
```html example centered columns={1} height={600} background="base"
<div class="card d-flex flex-column">
@@ -103,7 +100,10 @@ Add an image to your blog post card to make it eye-catching. You can do it by ad
<h3 class="card-title">
<a href="#">How do you know she is a witch?</a>
</h3>
<div class="text-secondary">Are you suggesting that coconuts migrate? No, no, no! Yes, yes. A bit. But she's got a wart. You ...</div>
<div class="text-secondary">
Are you suggesting that coconuts migrate? No, no, no! Yes, yes. A bit. But she's got a wart.
You ...
</div>
<div class="d-flex align-items-center pt-4 mt-auto">
<span class="avatar" style="background-image: url(/samples/avatars/023m.jpg)"></span>
<div class="ms-3">
@@ -112,8 +112,21 @@ Add an image to your blog post card to make it eye-catching. You can do it by ad
</div>
<div class="ms-auto">
<a href="#" class="icon d-none d-md-inline-block ms-3 text-secondary">
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-heart" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path d="M19.5 12.572l-7.5 7.428l-7.5 -7.428a5 5 0 1 1 7.5 -6.566a5 5 0 1 1 7.5 6.572"></path>
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-heart"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path
d="M19.5 12.572l-7.5 7.428l-7.5 -7.428a5 5 0 1 1 7.5 -6.566a5 5 0 1 1 7.5 6.572"
></path>
</svg>
</a>
</div>
@@ -135,7 +148,9 @@ Add the `.row-deck` class to `.row`, if you want to display several cards next t
</div>
<div class="col-md-4">
<div class="card">
<div class="card-body">Extra long content of card. Lorem ipsum dolor sit amet, consetetur sadipscing elitr</div>
<div class="card-body">
Extra long content of card. Lorem ipsum dolor sit amet, consetetur sadipscing elitr
</div>
</div>
</div>
<div class="col-md-4">
@@ -155,7 +170,11 @@ You can also add an image on the left side of the card. To do it, add the `.card
<div class="row row-0 flex-fill">
<div class="col-md-3">
<a href="#">
<img src="/samples/photos/a-woman-works-on-a-laptop-at-home.jpg" class="w-100 h-100 object-cover" alt="Card side image" />
<img
src="/samples/photos/a-woman-works-on-a-laptop-at-home.jpg"
class="w-100 h-100 object-cover"
alt="Card side image"
/>
</a>
</div>
<div class="col">
@@ -163,7 +182,10 @@ You can also add an image on the left side of the card. To do it, add the `.card
<h3 class="card-title">
<a href="#">Shut up!</a>
</h3>
<div class="text-secondary">Burn her! How do you know she is a witch? You don't frighten us, English pig-dogs! Go and boil yo...</div>
<div class="text-secondary">
Burn her! How do you know she is a witch? You don't frighten us, English pig-dogs! Go and
boil yo...
</div>
<div class="d-flex align-items-center pt-4 mt-auto">
<span class="avatar" style="background-image: url(/samples/avatars/029m.jpg)"></span>
<div class="ms-3">
@@ -172,8 +194,21 @@ You can also add an image on the left side of the card. To do it, add the `.card
</div>
<div class="ms-auto">
<a href="#" class="icon d-none d-md-inline-block ms-3 text-red">
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-heart" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path d="M19.5 12.572l-7.5 7.428l-7.5 -7.428a5 5 0 1 1 7.5 -6.566a5 5 0 1 1 7.5 6.572"></path>
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-heart"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path
d="M19.5 12.572l-7.5 7.428l-7.5 -7.428a5 5 0 1 1 7.5 -6.566a5 5 0 1 1 7.5 6.572"
></path>
</svg>
</a>
</div>
@@ -186,7 +221,7 @@ You can also add an image on the left side of the card. To do it, add the `.card
## Color variations
Add a status color to your card, either at the top or on the side of the card, to customise it and make it more eye-catching.
Add a status color to your card, either at the top or on the side of the card, to customize it and make it more eye-catching.
```html example columns={2} centered height={400} background="base"
<div class="row row-deck">
@@ -195,8 +230,10 @@ Add a status color to your card, either at the top or on the side of the card, t
<div class="card-status-top bg-danger"></div>
<div class="card-body">
<h3 class="card-title">Card with top status</h3>
<p class="text-secondary">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam deleniti fugit incidunt, iste, itaque minima
neque pariatur perferendis sed suscipit velit vitae voluptatem.</p>
<p class="text-secondary">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam deleniti fugit incidunt,
iste, itaque minima neque pariatur perferendis sed suscipit velit vitae voluptatem.
</p>
</div>
</div>
</div>
@@ -205,8 +242,10 @@ Add a status color to your card, either at the top or on the side of the card, t
<div class="card-status-start bg-green"></div>
<div class="card-body">
<h3 class="card-title">Card with side status</h3>
<p class="text-secondary">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam deleniti fugit incidunt, iste, itaque minima
neque pariatur perferendis sed suscipit velit vitae voluptatem.</p>
<p class="text-secondary">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam deleniti fugit incidunt,
iste, itaque minima neque pariatur perferendis sed suscipit velit vitae voluptatem.
</p>
</div>
</div>
</div>
@@ -218,16 +257,20 @@ Add a status color to your card, either at the top or on the side of the card, t
<div class="card-status-top bg-danger"></div>
<div class="card-body">
<h3 class="card-title">Card with top status</h3>
<p class="text-secondary">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam deleniti fugit incidunt, iste, itaque minima
neque pariatur perferendis sed suscipit velit vitae voluptatem.</p>
<p class="text-secondary">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam deleniti fugit incidunt,
iste, itaque minima neque pariatur perferendis sed suscipit velit vitae voluptatem.
</p>
</div>
</div>
<div class="card">
<div class="card-status-start bg-green"></div>
<div class="card-body">
<h3 class="card-title">Card with side status</h3>
<p class="text-secondary">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam deleniti fugit incidunt, iste, itaque minima
neque pariatur perferendis sed suscipit velit vitae voluptatem.</p>
<p class="text-secondary">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam deleniti fugit incidunt,
iste, itaque minima neque pariatur perferendis sed suscipit velit vitae voluptatem.
</p>
</div>
</div>
```
@@ -240,8 +283,10 @@ Use the `card-stacked` class to stack up multiple cards, if you want to save scr
<div class="card card-stacked">
<div class="card-body">
<h3 class="card-title">Stacked card</h3>
<p class="text-secondary">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam deleniti fugit incidunt, iste, itaque minima
neque pariatur perferendis sed suscipit velit vitae voluptatem.</p>
<p class="text-secondary">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam deleniti fugit incidunt,
iste, itaque minima neque pariatur perferendis sed suscipit velit vitae voluptatem.
</p>
</div>
</div>
```
@@ -271,7 +316,8 @@ Organize multiple cards into tabs to be able to display more content in a well-o
<div class="card-body">
<div class="card-title">Content of tab #1</div>
<p class="text-secondary">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid distinctio dolorem expedita, fugiat hic magni molestiae molestias odit.
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid
distinctio dolorem expedita, fugiat hic magni molestiae molestias odit.
</p>
</div>
</div>
@@ -279,7 +325,8 @@ Organize multiple cards into tabs to be able to display more content in a well-o
<div class="card-body">
<div class="card-title">Content of tab #2</div>
<p class="text-secondary">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid distinctio dolorem expedita, fugiat hic magni molestiae molestias odit.
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid
distinctio dolorem expedita, fugiat hic magni molestiae molestias odit.
</p>
</div>
</div>
@@ -287,7 +334,8 @@ Organize multiple cards into tabs to be able to display more content in a well-o
<div class="card-body">
<div class="card-title">Content of tab #3</div>
<p class="text-secondary">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid distinctio dolorem expedita, fugiat hic magni molestiae molestias odit.
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid
distinctio dolorem expedita, fugiat hic magni molestiae molestias odit.
</p>
</div>
</div>
@@ -295,7 +343,8 @@ Organize multiple cards into tabs to be able to display more content in a well-o
<div class="card-body">
<div class="card-title">Content of tab #4</div>
<p class="text-secondary">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid distinctio dolorem expedita, fugiat hic magni molestiae molestias odit.
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid
distinctio dolorem expedita, fugiat hic magni molestiae molestias odit.
</p>
</div>
</div>
@@ -327,7 +376,8 @@ Organize multiple cards into tabs to be able to display more content in a well-o
<div class="card-body">
<div class="card-title">Content of tab #1</div>
<p class="text-secondary">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid distinctio dolorem expedita, fugiat hic magni molestiae molestias odit.
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid
distinctio dolorem expedita, fugiat hic magni molestiae molestias odit.
</p>
</div>
</div>
@@ -336,7 +386,8 @@ Organize multiple cards into tabs to be able to display more content in a well-o
<div class="card-body">
<div class="card-title">Content of tab #2</div>
<p class="text-secondary">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid distinctio dolorem expedita, fugiat hic magni molestiae molestias odit.
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid
distinctio dolorem expedita, fugiat hic magni molestiae molestias odit.
</p>
</div>
</div>
@@ -345,7 +396,8 @@ Organize multiple cards into tabs to be able to display more content in a well-o
<div class="card-body">
<div class="card-title">Content of tab #3</div>
<p class="text-secondary">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid distinctio dolorem expedita, fugiat hic magni molestiae molestias odit.
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid
distinctio dolorem expedita, fugiat hic magni molestiae molestias odit.
</p>
</div>
</div>
@@ -354,7 +406,8 @@ Organize multiple cards into tabs to be able to display more content in a well-o
<div class="card-body">
<div class="card-title">Content of tab #4</div>
<p class="text-secondary">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid distinctio dolorem expedita, fugiat hic magni molestiae molestias odit.
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid
distinctio dolorem expedita, fugiat hic magni molestiae molestias odit.
</p>
</div>
</div>

View File

@@ -12,7 +12,12 @@ Use a carousel to make your website design more visually appealing for users. In
```html example centered columns={2} height="35rem"
<div id="carousel-sample" class="carousel slide" data-bs-ride="carousel">
<div class="carousel-indicators">
<button type="button" data-bs-target="#carousel-sample" data-bs-slide-to="0" class="active"></button>
<button
type="button"
data-bs-target="#carousel-sample"
data-bs-slide-to="0"
class="active"
></button>
<button type="button" data-bs-target="#carousel-sample" data-bs-slide-to="1"></button>
<button type="button" data-bs-target="#carousel-sample" data-bs-slide-to="2"></button>
<button type="button" data-bs-target="#carousel-sample" data-bs-slide-to="3"></button>
@@ -20,26 +25,52 @@ Use a carousel to make your website design more visually appealing for users. In
</div>
<div class="carousel-inner">
<div class="carousel-item active">
<img class="d-block w-100" alt="" src="/samples/photos/city-lights-reflected-in-the-water-at-night.jpg" />
<img
class="d-block w-100"
alt=""
src="/samples/photos/city-lights-reflected-in-the-water-at-night.jpg"
/>
</div>
<div class="carousel-item">
<img class="d-block w-100" alt="" src="/samples/photos/color-palette-guide-sample-colors-catalog-.jpg" />
<img
class="d-block w-100"
alt=""
src="/samples/photos/color-palette-guide-sample-colors-catalog-.jpg"
/>
</div>
<div class="carousel-item">
<img class="d-block w-100" alt="" src="/samples/photos/finances-us-dollars-and-bitcoins-currency-money.jpg" />
<img
class="d-block w-100"
alt=""
src="/samples/photos/finances-us-dollars-and-bitcoins-currency-money.jpg"
/>
</div>
<div class="carousel-item">
<img class="d-block w-100" alt="" src="/samples/photos/tropical-palm-leaves-floral-pattern-background.jpg" />
<img
class="d-block w-100"
alt=""
src="/samples/photos/tropical-palm-leaves-floral-pattern-background.jpg"
/>
</div>
<div class="carousel-item">
<img class="d-block w-100" alt="" src="/samples/photos/young-woman-working-in-a-cafe.jpg" />
</div>
</div>
<a class="carousel-control-prev" data-bs-target="#carousel-sample" role="button" data-bs-slide="prev">
<a
class="carousel-control-prev"
data-bs-target="#carousel-sample"
role="button"
data-bs-slide="prev"
>
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="visually-hidden">Previous</span>
</a>
<a class="carousel-control-next" data-bs-target="#carousel-sample" role="button" data-bs-slide="next">
<a
class="carousel-control-next"
data-bs-target="#carousel-sample"
role="button"
data-bs-slide="next"
>
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="visually-hidden">Next</span>
</a>
@@ -53,7 +84,12 @@ You can replace the standard indicators with dots. Just add the `carousel-indica
```html example centered columns={2} height="35rem"
<div id="carousel-indicators-dot" class="carousel slide carousel-fade" data-bs-ride="carousel">
<div class="carousel-indicators carousel-indicators-dot">
<button type="button" data-bs-target="#carousel-indicators-dot" data-bs-slide-to="0" class="active"></button>
<button
type="button"
data-bs-target="#carousel-indicators-dot"
data-bs-slide-to="0"
class="active"
></button>
<button type="button" data-bs-target="#carousel-indicators-dot" data-bs-slide-to="1"></button>
<button type="button" data-bs-target="#carousel-indicators-dot" data-bs-slide-to="2"></button>
<button type="button" data-bs-target="#carousel-indicators-dot" data-bs-slide-to="3"></button>
@@ -61,19 +97,35 @@ You can replace the standard indicators with dots. Just add the `carousel-indica
</div>
<div class="carousel-inner">
<div class="carousel-item active">
<img class="d-block w-100" alt="" src="/samples/photos/stylish-workspace-with-macbook-pro.jpg" />
<img
class="d-block w-100"
alt=""
src="/samples/photos/stylish-workspace-with-macbook-pro.jpg"
/>
</div>
<div class="carousel-item">
<img class="d-block w-100" alt="" src="/samples/photos/coffee-on-a-table-with-other-items.jpg" />
<img
class="d-block w-100"
alt=""
src="/samples/photos/coffee-on-a-table-with-other-items.jpg"
/>
</div>
<div class="carousel-item">
<img class="d-block w-100" alt="" src="/samples/photos/book-on-the-grass.jpg" />
</div>
<div class="carousel-item">
<img class="d-block w-100" alt="" src="/samples/photos/a-woman-works-at-a-desk-with-a-laptop-and-a-cup-of-coffee.jpg" />
<img
class="d-block w-100"
alt=""
src="/samples/photos/a-woman-works-at-a-desk-with-a-laptop-and-a-cup-of-coffee.jpg"
/>
</div>
<div class="carousel-item">
<img class="d-block w-100" alt="" src="/samples/photos/people-by-a-banquet-table-full-with-food.jpg" />
<img
class="d-block w-100"
alt=""
src="/samples/photos/people-by-a-banquet-table-full-with-food.jpg"
/>
</div>
</div>
</div>
@@ -81,32 +133,80 @@ You can replace the standard indicators with dots. Just add the `carousel-indica
## Thumb indicators
The syntax is similar with thumbnails. Add class `carousel-indicators-thumb` and add `background-image` to element `[data-bs-target]`. Default thumbnails have an aspect ratio of 1:1. To change this use `ratio` utils.
The syntax is similar for thumbnails. Add class `carousel-indicators-thumb` and add `background-image` to element `[data-bs-target]`. Default thumbnails have an aspect ratio of 1:1. To change this use `ratio` utils.
```html example centered columns={2} height="35rem"
<div id="carousel-indicators-thumb" class="carousel slide carousel-fade" data-bs-ride="carousel">
<div class="carousel-indicators carousel-indicators-thumb">
<button type="button" data-bs-target="#carousel-indicators-thumb" data-bs-slide-to="0" class="ratio ratio-4x3 active" style="background-image: url(/samples/photos/group-of-people-sightseeing-in-the-city.jpg)"></button>
<button type="button" data-bs-target="#carousel-indicators-thumb" data-bs-slide-to="1" class="ratio ratio-4x3" style="background-image: url(/samples/photos/young-woman-working-in-a-cafe.jpg)"></button>
<button type="button" data-bs-target="#carousel-indicators-thumb" data-bs-slide-to="2" class="ratio ratio-4x3" style="background-image: url(/samples/photos/soft-photo-of-woman-on-the-bed-with-the-book-and-cup-of-coffee-in-hands.jpg)"></button>
<button type="button" data-bs-target="#carousel-indicators-thumb" data-bs-slide-to="3" class="ratio ratio-4x3" style="background-image: url(/samples/photos/stylish-workplace-with-computer-at-home.jpg)"></button>
<button type="button" data-bs-target="#carousel-indicators-thumb" data-bs-slide-to="4" class="ratio ratio-4x3" style="background-image: url(/samples/photos/stylish-workspace-with-macbook-pro.jpg)"></button>
<button
type="button"
data-bs-target="#carousel-indicators-thumb"
data-bs-slide-to="0"
class="ratio ratio-4x3 active"
style="background-image: url(/samples/photos/group-of-people-sightseeing-in-the-city.jpg)"
></button>
<button
type="button"
data-bs-target="#carousel-indicators-thumb"
data-bs-slide-to="1"
class="ratio ratio-4x3"
style="background-image: url(/samples/photos/young-woman-working-in-a-cafe.jpg)"
></button>
<button
type="button"
data-bs-target="#carousel-indicators-thumb"
data-bs-slide-to="2"
class="ratio ratio-4x3"
style="
background-image: url(/samples/photos/soft-photo-of-woman-on-the-bed-with-the-book-and-cup-of-coffee-in-hands.jpg);
"
></button>
<button
type="button"
data-bs-target="#carousel-indicators-thumb"
data-bs-slide-to="3"
class="ratio ratio-4x3"
style="background-image: url(/samples/photos/stylish-workplace-with-computer-at-home.jpg)"
></button>
<button
type="button"
data-bs-target="#carousel-indicators-thumb"
data-bs-slide-to="4"
class="ratio ratio-4x3"
style="background-image: url(/samples/photos/stylish-workspace-with-macbook-pro.jpg)"
></button>
</div>
<div class="carousel-inner">
<div class="carousel-item active">
<img class="d-block w-100" alt="" src="/samples/photos/group-of-people-sightseeing-in-the-city.jpg" />
<img
class="d-block w-100"
alt=""
src="/samples/photos/group-of-people-sightseeing-in-the-city.jpg"
/>
</div>
<div class="carousel-item">
<img class="d-block w-100" alt="" src="/samples/photos/young-woman-working-in-a-cafe.jpg" />
</div>
<div class="carousel-item">
<img class="d-block w-100" alt="" src="/samples/photos/soft-photo-of-woman-on-the-bed-with-the-book-and-cup-of-coffee-in-hands.jpg" />
<img
class="d-block w-100"
alt=""
src="/samples/photos/soft-photo-of-woman-on-the-bed-with-the-book-and-cup-of-coffee-in-hands.jpg"
/>
</div>
<div class="carousel-item">
<img class="d-block w-100" alt="" src="/samples/photos/stylish-workplace-with-computer-at-home.jpg" />
<img
class="d-block w-100"
alt=""
src="/samples/photos/stylish-workplace-with-computer-at-home.jpg"
/>
</div>
<div class="carousel-item">
<img class="d-block w-100" alt="" src="/samples/photos/stylish-workspace-with-macbook-pro.jpg" />
<img
class="d-block w-100"
alt=""
src="/samples/photos/stylish-workspace-with-macbook-pro.jpg"
/>
</div>
</div>
</div>
@@ -117,13 +217,38 @@ The syntax is similar with thumbnails. Add class `carousel-indicators-thumb` and
To make the indicators go to the right side, add the `carousel-indicators-vertical` class. You can combine it with other classes that are responsible for dots or thumbnails.
```html example centered columns={2} height="35rem"
<div id="carousel-indicators-dot-vertical" class="carousel slide carousel-fade" data-bs-ride="carousel">
<div
id="carousel-indicators-dot-vertical"
class="carousel slide carousel-fade"
data-bs-ride="carousel"
>
<div class="carousel-indicators carousel-indicators-vertical carousel-indicators-dot">
<button type="button" data-bs-target="#carousel-indicators-dot-vertical" data-bs-slide-to="0" class="active"></button>
<button type="button" data-bs-target="#carousel-indicators-dot-vertical" data-bs-slide-to="1"></button>
<button type="button" data-bs-target="#carousel-indicators-dot-vertical" data-bs-slide-to="2"></button>
<button type="button" data-bs-target="#carousel-indicators-dot-vertical" data-bs-slide-to="3"></button>
<button type="button" data-bs-target="#carousel-indicators-dot-vertical" data-bs-slide-to="4"></button>
<button
type="button"
data-bs-target="#carousel-indicators-dot-vertical"
data-bs-slide-to="0"
class="active"
></button>
<button
type="button"
data-bs-target="#carousel-indicators-dot-vertical"
data-bs-slide-to="1"
></button>
<button
type="button"
data-bs-target="#carousel-indicators-dot-vertical"
data-bs-slide-to="2"
></button>
<button
type="button"
data-bs-target="#carousel-indicators-dot-vertical"
data-bs-slide-to="3"
></button>
<button
type="button"
data-bs-target="#carousel-indicators-dot-vertical"
data-bs-slide-to="4"
></button>
</div>
<div class="carousel-inner">
<div class="carousel-item active">
@@ -133,44 +258,116 @@ To make the indicators go to the right side, add the `carousel-indicators-vertic
<img class="d-block w-100" alt="" src="/samples/photos/making-magic-with-fairy-lights.jpg" />
</div>
<div class="carousel-item">
<img class="d-block w-100" alt="" src="/samples/photos/finances-us-dollars-and-bitcoins-currency-money-5.jpg" />
<img
class="d-block w-100"
alt=""
src="/samples/photos/finances-us-dollars-and-bitcoins-currency-money-5.jpg"
/>
</div>
<div class="carousel-item">
<img class="d-block w-100" alt="" src="/samples/photos/cup-of-coffee-on-table-in-cafe-2.jpg" />
<img
class="d-block w-100"
alt=""
src="/samples/photos/cup-of-coffee-on-table-in-cafe-2.jpg"
/>
</div>
<div class="carousel-item">
<img class="d-block w-100" alt="" src="/samples/photos/young-woman-sitting-on-the-sofa-and-working-on-her-laptop-2.jpg" />
<img
class="d-block w-100"
alt=""
src="/samples/photos/young-woman-sitting-on-the-sofa-and-working-on-her-laptop-2.jpg"
/>
</div>
</div>
</div>
```
Likewise, you can add thumbnails on the right side:
An example of adding thumbnails on the right side:
```html example centered columns={2} height="35rem"
<div id="carousel-indicators-thumb-vertical" class="carousel slide carousel-fade" data-bs-ride="carousel">
<div
id="carousel-indicators-thumb-vertical"
class="carousel slide carousel-fade"
data-bs-ride="carousel"
>
<div class="carousel-indicators carousel-indicators-vertical carousel-indicators-thumb">
<button type="button" data-bs-target="#carousel-indicators-thumb-vertical" data-bs-slide-to="0" class="ratio ratio-4x3 active" style="background-image: url(/samples/photos/finances-us-dollars-and-bitcoins-currency-money.jpg)"></button>
<button type="button" data-bs-target="#carousel-indicators-thumb-vertical" data-bs-slide-to="1" class="ratio ratio-4x3" style="background-image: url(/samples/photos/businesswoman-working-at-her-laptop.jpg)"></button>
<button type="button" data-bs-target="#carousel-indicators-thumb-vertical" data-bs-slide-to="2" class="ratio ratio-4x3" style="background-image: url(/samples/photos/color-palette-guide-sample-colors-catalog-.jpg)"></button>
<button type="button" data-bs-target="#carousel-indicators-thumb-vertical" data-bs-slide-to="3" class="ratio ratio-4x3" style="background-image: url(/samples/photos/blue-sofa-with-pillows-in-a-designer-living-room-interior.jpg)"></button>
<button type="button" data-bs-target="#carousel-indicators-thumb-vertical" data-bs-slide-to="4" class="ratio ratio-4x3" style="background-image: url(/samples/photos/beautiful-blonde-woman-on-a-wooden-pier-by-the-lake.jpg)"></button>
<button
type="button"
data-bs-target="#carousel-indicators-thumb-vertical"
data-bs-slide-to="0"
class="ratio ratio-4x3 active"
style="
background-image: url(/samples/photos/finances-us-dollars-and-bitcoins-currency-money.jpg);
"
></button>
<button
type="button"
data-bs-target="#carousel-indicators-thumb-vertical"
data-bs-slide-to="1"
class="ratio ratio-4x3"
style="background-image: url(/samples/photos/businesswoman-working-at-her-laptop.jpg)"
></button>
<button
type="button"
data-bs-target="#carousel-indicators-thumb-vertical"
data-bs-slide-to="2"
class="ratio ratio-4x3"
style="background-image: url(/samples/photos/color-palette-guide-sample-colors-catalog-.jpg)"
></button>
<button
type="button"
data-bs-target="#carousel-indicators-thumb-vertical"
data-bs-slide-to="3"
class="ratio ratio-4x3"
style="
background-image: url(/samples/photos/blue-sofa-with-pillows-in-a-designer-living-room-interior.jpg);
"
></button>
<button
type="button"
data-bs-target="#carousel-indicators-thumb-vertical"
data-bs-slide-to="4"
class="ratio ratio-4x3"
style="
background-image: url(/samples/photos/beautiful-blonde-woman-on-a-wooden-pier-by-the-lake.jpg);
"
></button>
</div>
<div class="carousel-inner">
<div class="carousel-item active">
<img class="d-block w-100" alt="" src="/samples/photos/finances-us-dollars-and-bitcoins-currency-money.jpg" />
<img
class="d-block w-100"
alt=""
src="/samples/photos/finances-us-dollars-and-bitcoins-currency-money.jpg"
/>
</div>
<div class="carousel-item">
<img class="d-block w-100" alt="" src="/samples/photos/businesswoman-working-at-her-laptop.jpg" />
<img
class="d-block w-100"
alt=""
src="/samples/photos/businesswoman-working-at-her-laptop.jpg"
/>
</div>
<div class="carousel-item">
<img class="d-block w-100" alt="" src="/samples/photos/color-palette-guide-sample-colors-catalog-.jpg" />
<img
class="d-block w-100"
alt=""
src="/samples/photos/color-palette-guide-sample-colors-catalog-.jpg"
/>
</div>
<div class="carousel-item">
<img class="d-block w-100" alt="" src="/samples/photos/blue-sofa-with-pillows-in-a-designer-living-room-interior.jpg" />
<img
class="d-block w-100"
alt=""
src="/samples/photos/blue-sofa-with-pillows-in-a-designer-living-room-interior.jpg"
/>
</div>
<div class="carousel-item">
<img class="d-block w-100" alt="" src="/samples/photos/beautiful-blonde-woman-on-a-wooden-pier-by-the-lake.jpg" />
<img
class="d-block w-100"
alt=""
src="/samples/photos/beautiful-blonde-woman-on-a-wooden-pier-by-the-lake.jpg"
/>
</div>
</div>
</div>
@@ -184,7 +381,11 @@ Add captions to your slides easily with the `.carousel-caption` element within a
<div id="carousel-captions" class="carousel slide" data-bs-ride="carousel">
<div class="carousel-inner">
<div class="carousel-item active">
<img class="d-block w-100" alt="" src="/samples/photos/workplace-with-laptop-on-table-at-home-4.jpg" />
<img
class="d-block w-100"
alt=""
src="/samples/photos/workplace-with-laptop-on-table-at-home-4.jpg"
/>
<div class="carousel-caption-background d-none d-md-block"></div>
<div class="carousel-caption d-none d-md-block">
<h3>Slide label</h3>
@@ -192,7 +393,11 @@ Add captions to your slides easily with the `.carousel-caption` element within a
</div>
</div>
<div class="carousel-item">
<img class="d-block w-100" alt="" src="/samples/photos/people-watching-a-presentation-in-a-room.jpg" />
<img
class="d-block w-100"
alt=""
src="/samples/photos/people-watching-a-presentation-in-a-room.jpg"
/>
<div class="carousel-caption-background d-none d-md-block"></div>
<div class="carousel-caption d-none d-md-block">
<h3>Slide label</h3>
@@ -200,7 +405,11 @@ Add captions to your slides easily with the `.carousel-caption` element within a
</div>
</div>
<div class="carousel-item">
<img class="d-block w-100" alt="" src="/samples/photos/people-by-a-banquet-table-full-with-food.jpg" />
<img
class="d-block w-100"
alt=""
src="/samples/photos/people-by-a-banquet-table-full-with-food.jpg"
/>
<div class="carousel-caption-background d-none d-md-block"></div>
<div class="carousel-caption d-none d-md-block">
<h3>Slide label</h3>
@@ -208,7 +417,11 @@ Add captions to your slides easily with the `.carousel-caption` element within a
</div>
</div>
<div class="carousel-item">
<img class="d-block w-100" alt="" src="/samples/photos/books-and-purple-flowers-on-a-wooden-stool-by-the-bed.jpg" />
<img
class="d-block w-100"
alt=""
src="/samples/photos/books-and-purple-flowers-on-a-wooden-stool-by-the-bed.jpg"
/>
<div class="carousel-caption-background d-none d-md-block"></div>
<div class="carousel-caption d-none d-md-block">
<h3>Slide label</h3>
@@ -224,11 +437,21 @@ Add captions to your slides easily with the `.carousel-caption` element within a
</div>
</div>
</div>
<a class="carousel-control-prev" data-bs-target="#carousel-captions" role="button" data-bs-slide="prev">
<a
class="carousel-control-prev"
data-bs-target="#carousel-captions"
role="button"
data-bs-slide="prev"
>
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="visually-hidden">Previous</span>
</a>
<a class="carousel-control-next" data-bs-target="#carousel-captions" role="button" data-bs-slide="next">
<a
class="carousel-control-next"
data-bs-target="#carousel-captions"
role="button"
data-bs-slide="next"
>
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="visually-hidden">Next</span>
</a>

File diff suppressed because it is too large Load Diff

View File

@@ -26,7 +26,10 @@ description: Detailed product information in grids.
<div class="datagrid-title">Creator</div>
<div class="datagrid-content">
<div class="d-flex align-items-center">
<span class="avatar avatar-xs me-2 rounded" style="background-image: url(/samples/avatars/027m.jpg)"></span>
<span
class="avatar avatar-xs me-2 rounded"
style="background-image: url(/samples/avatars/027m.jpg)"
></span>
Paweł Kuna
</div>
</div>
@@ -38,20 +41,30 @@ description: Detailed product information in grids.
<div class="datagrid-item">
<div class="datagrid-title">Edge network</div>
<div class="datagrid-content">
<span class="status status-green">
Active
</span>
<span class="status status-green"> Active </span>
</div>
</div>
<div class="datagrid-item">
<div class="datagrid-title">Avatars list</div>
<div class="datagrid-content">
<div class="avatar-list avatar-list-stacked">
<span class="avatar avatar-xs rounded" style="background-image: url(/samples/avatars/029f.jpg)"></span>
<span
class="avatar avatar-xs rounded"
style="background-image: url(/samples/avatars/029f.jpg)"
></span>
<span class="avatar avatar-xs rounded">JL</span>
<span class="avatar avatar-xs rounded" style="background-image: url(/samples/avatars/015f.jpg)"></span>
<span class="avatar avatar-xs rounded" style="background-image: url(/samples/avatars/004m.jpg)"></span>
<span class="avatar avatar-xs rounded" style="background-image: url(/samples/avatars/037m.jpg)"></span>
<span
class="avatar avatar-xs rounded"
style="background-image: url(/samples/avatars/015f.jpg)"
></span>
<span
class="avatar avatar-xs rounded"
style="background-image: url(/samples/avatars/004m.jpg)"
></span>
<span
class="avatar avatar-xs rounded"
style="background-image: url(/samples/avatars/037m.jpg)"
></span>
<span class="avatar avatar-xs rounded">+3</span>
</div>
</div>
@@ -68,7 +81,18 @@ description: Detailed product information in grids.
<div class="datagrid-item">
<div class="datagrid-title">Icon</div>
<div class="datagrid-content">
<svg xmlns="http://www.w3.org/2000/svg" class="icon text-green" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon text-green"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M5 12l5 5l10 -10" />
</svg>
@@ -83,14 +107,12 @@ description: Detailed product information in grids.
</div>
<div class="datagrid-item">
<div class="datagrid-title">Longer description</div>
<div class="datagrid-content">
Lorem ipsum dolor sit amet, consectetur adipisicing elit.
</div>
<div class="datagrid-content">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</div>
</div>
</div>
```
You can adjust the datagrid to your needs setting the values of variables:
You can adjust the datagrid to your needs by setting the values of variables:
| Variable | Description | Default |
|----------|-------------|---------|

View File

@@ -14,7 +14,8 @@ Use dividers to visually separate content into parts. You can use a line only or
</p>
<div class="hr-text">See also</div>
<p>
Dicta error hic illo iure necessitatibus nihil officiis omnis perferendis, praesentium repellendus rerum, saepe sed, sit!
Dicta error hic illo iure necessitatibus nihil officiis omnis perferendis, praesentium repellendus
rerum, saepe sed, sit!
</p>
```
@@ -28,7 +29,8 @@ You can modify the position of the text which is to be included in a separator a
</p>
<div class="hr-text hr-text-start">Start divider</div>
<p>
Dicta error hic illo iure necessitatibus nihil officiis omnis perferendis, praesentium repellendus rerum, saepe sed, sit!
Dicta error hic illo iure necessitatibus nihil officiis omnis perferendis, praesentium repellendus
rerum, saepe sed, sit!
</p>
<div class="hr-text">Centered divider</div>
<p>
@@ -36,7 +38,8 @@ You can modify the position of the text which is to be included in a separator a
</p>
<div class="hr-text hr-text-end">End divider</div>
<p>
Dicta error hic illo iure necessitatibus nihil officiis omnis perferendis, praesentium repellendus rerum, saepe sed, sit!
Dicta error hic illo iure necessitatibus nihil officiis omnis perferendis, praesentium repellendus
rerum, saepe sed, sit!
</p>
```
@@ -50,7 +53,8 @@ Customize the color of dividers to make them go well with your design. Click [he
</p>
<div class="hr-text text-green">Green divider</div>
<p>
Dicta error hic illo iure necessitatibus nihil officiis omnis perferendis, praesentium repellendus rerum, saepe sed, sit!
Dicta error hic illo iure necessitatibus nihil officiis omnis perferendis, praesentium repellendus
rerum, saepe sed, sit!
</p>
<div class="hr-text text-red">Red divider</div>
<p>
@@ -58,6 +62,7 @@ Customize the color of dividers to make them go well with your design. Click [he
</p>
<div class="hr-text text-primary">Primary divider</div>
<p>
Dicta error hic illo iure necessitatibus nihil officiis omnis perferendis, praesentium repellendus rerum, saepe sed, sit!
Dicta error hic illo iure necessitatibus nihil officiis omnis perferendis, praesentium repellendus
rerum, saepe sed, sit!
</p>
```

View File

@@ -1,6 +1,6 @@
---
title: Dropdowns
summary: Use dropdowns to display lists of options or include more positions in a menu without overwhelming users with too many buttons and long lists. Dropdowns facilitate users' interaction with your website or software and make your design look clear.
summary: Use dropdowns to display lists of options or include more items in a menu without overwhelming users with too many buttons and long lists. Dropdowns facilitate users' interaction with your website or software and make your design look clear.
bootstrapLink: components/dropdowns
description: Organize options with dropdown menus.
---
@@ -28,12 +28,8 @@ Use dropdown dividers to separate groups of dropdown items for greater clarity.
<div class="dropdown">
<a href="#" class="btn dropdown-toggle" data-bs-toggle="dropdown">Open dropdown</a>
<div class="dropdown-menu">
<a class="dropdown-item" href="#">
Action
</a>
<a class="dropdown-item" href="#">
Another action
</a>
<a class="dropdown-item" href="#"> Action </a>
<a class="dropdown-item" href="#"> Another action </a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#">Separated link</a>
</div>
@@ -48,12 +44,8 @@ Make a dropdown item look active, so that it highlights when a user hovers over
<div class="dropdown">
<a href="#" class="btn dropdown-toggle" data-bs-toggle="dropdown">Open dropdown</a>
<div class="dropdown-menu">
<a class="dropdown-item" href="#">
Action
</a>
<a class="dropdown-item" href="#">
Another action
</a>
<a class="dropdown-item" href="#"> Action </a>
<a class="dropdown-item" href="#"> Another action </a>
<a class="dropdown-item active" href="#">Active action</a>
</div>
</div>
@@ -67,12 +59,8 @@ Make a dropdown item look disabled to display options which are currently not av
<div class="dropdown">
<a href="#" class="btn dropdown-toggle" data-bs-toggle="dropdown">Open dropdown</a>
<div class="dropdown-menu">
<a class="dropdown-item" href="#">
Action
</a>
<a class="dropdown-item" href="#">
Another action
</a>
<a class="dropdown-item" href="#"> Action </a>
<a class="dropdown-item" href="#"> Another action </a>
<a class="dropdown-item disabled" href="#">Disabled action</a>
</div>
</div>
@@ -87,12 +75,8 @@ Add a dropdown header to group dropdown items into sections and name them accord
<a href="#" class="btn dropdown-toggle" data-bs-toggle="dropdown">Open dropdown</a>
<div class="dropdown-menu">
<span class="dropdown-header">Dropdown header</span>
<a class="dropdown-item" href="#">
Action
</a>
<a class="dropdown-item" href="#">
Another action
</a>
<a class="dropdown-item" href="#"> Action </a>
<a class="dropdown-item" href="#"> Another action </a>
</div>
</div>
```
@@ -107,15 +91,39 @@ Use icons in your dropdowns to add more visual content and make the options easy
<div class="dropdown-menu">
<span class="dropdown-header">Dropdown header</span>
<a class="dropdown-item" href="#">
<svg xmlns="http://www.w3.org/2000/svg" class="icon dropdown-item-icon icon-tabler icon-tabler-settings" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon dropdown-item-icon icon-tabler icon-tabler-settings"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M10.325 4.317c.426 -1.756 2.924 -1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543 -.94 3.31 .826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.756 .426 1.756 2.924 0 3.35a1.724 1.724 0 0 0 -1.066 2.573c.94 1.543 -.826 3.31 -2.37 2.37a1.724 1.724 0 0 0 -2.572 1.065c-.426 1.756 -2.924 1.756 -3.35 0a1.724 1.724 0 0 0 -2.573 -1.066c-1.543 .94 -3.31 -.826 -2.37 -2.37a1.724 1.724 0 0 0 -1.065 -2.572c-1.756 -.426 -1.756 -2.924 0 -3.35a1.724 1.724 0 0 0 1.066 -2.573c-.94 -1.543 .826 -3.31 2.37 -2.37c1 .608 2.296 .07 2.572 -1.065z"></path>
<path
d="M10.325 4.317c.426 -1.756 2.924 -1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543 -.94 3.31 .826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.756 .426 1.756 2.924 0 3.35a1.724 1.724 0 0 0 -1.066 2.573c.94 1.543 -.826 3.31 -2.37 2.37a1.724 1.724 0 0 0 -2.572 1.065c-.426 1.756 -2.924 1.756 -3.35 0a1.724 1.724 0 0 0 -2.573 -1.066c-1.543 .94 -3.31 -.826 -2.37 -2.37a1.724 1.724 0 0 0 -1.065 -2.572c-1.756 -.426 -1.756 -2.924 0 -3.35a1.724 1.724 0 0 0 1.066 -2.573c-.94 -1.543 .826 -3.31 2.37 -2.37c1 .608 2.296 .07 2.572 -1.065z"
></path>
<path d="M12 12m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0"></path>
</svg>
Action
</a>
<a class="dropdown-item" href="#">
<svg xmlns="http://www.w3.org/2000/svg" class="icon dropdown-item-icon icon-tabler icon-tabler-pencil" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon dropdown-item-icon icon-tabler icon-tabler-pencil"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M4 20h4l10.5 -10.5a1.5 1.5 0 0 0 -4 -4l-10.5 10.5v4"></path>
<path d="M13.5 6.5l4 4"></path>
@@ -134,12 +142,8 @@ Add an arrow that points at the dropdown button.
<div class="dropdown">
<a href="#" class="btn dropdown-toggle" data-bs-toggle="dropdown">Open dropdown</a>
<div class="dropdown-menu dropdown-menu-arrow">
<a class="dropdown-item" href="#">
Action
</a>
<a class="dropdown-item" href="#">
Another action
</a>
<a class="dropdown-item" href="#"> Action </a>
<a class="dropdown-item" href="#"> Another action </a>
</div>
</div>
```
@@ -195,15 +199,39 @@ Make your dropdown suit the dark mode of your website or software.
<div class="dropdown-menu dropdown-menu-arrow bg-dark text-white">
<span class="dropdown-header">Dropdown header</span>
<a class="dropdown-item" href="#">
<svg xmlns="http://www.w3.org/2000/svg" class="icon dropdown-item-icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon dropdown-item-icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M10.325 4.317c.426 -1.756 2.924 -1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543 -.94 3.31 .826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.756 .426 1.756 2.924 0 3.35a1.724 1.724 0 0 0 -1.066 2.573c.94 1.543 -.826 3.31 -2.37 2.37a1.724 1.724 0 0 0 -2.572 1.065c-.426 1.756 -2.924 1.756 -3.35 0a1.724 1.724 0 0 0 -2.573 -1.066c-1.543 .94 -3.31 -.826 -2.37 -2.37a1.724 1.724 0 0 0 -1.065 -2.572c-1.756 -.426 -1.756 -2.924 0 -3.35a1.724 1.724 0 0 0 1.066 -2.573c-.94 -1.543 .826 -3.31 2.37 -2.37c1 .608 2.296 .07 2.572 -1.065z" />
<path
d="M10.325 4.317c.426 -1.756 2.924 -1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543 -.94 3.31 .826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.756 .426 1.756 2.924 0 3.35a1.724 1.724 0 0 0 -1.066 2.573c.94 1.543 -.826 3.31 -2.37 2.37a1.724 1.724 0 0 0 -2.572 1.065c-.426 1.756 -2.924 1.756 -3.35 0a1.724 1.724 0 0 0 -2.573 -1.066c-1.543 .94 -3.31 -.826 -2.37 -2.37a1.724 1.724 0 0 0 -1.065 -2.572c-1.756 -.426 -1.756 -2.924 0 -3.35a1.724 1.724 0 0 0 1.066 -2.573c-.94 -1.543 .826 -3.31 2.37 -2.37c1 .608 2.296 .07 2.572 -1.065z"
/>
<circle cx="12" cy="12" r="3" />
</svg>
Action
</a>
<a class="dropdown-item" href="#">
<svg xmlns="http://www.w3.org/2000/svg" class="icon dropdown-item-icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon dropdown-item-icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M7 7h-1a2 2 0 0 0 -2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2 -2v-1" />
<path d="M20.385 6.585a2.1 2.1 0 0 0 -2.97 -2.97l-8.415 8.385v3h3l8.385 -8.415z" />
@@ -222,16 +250,23 @@ Use a dropdown with card content to make it easy for users to get more informati
```html example height="35rem"
<div class="dropdown">
<a href="#" class="btn dropdown-toggle" data-bs-toggle="dropdown">Open dropdown</a>
<div class="dropdown-menu dropdown-menu-card" style="max-width: 16rem;">
<div class="dropdown-menu dropdown-menu-card" style="max-width: 16rem">
<div class="card d-flex flex-column">
<a href="#">
<img class="card-img-top" src="/samples/photos/friends-at-a-restaurant-drinking-wine.jpg" alt="How do you know she is a witch?" />
<img
class="card-img-top"
src="/samples/photos/friends-at-a-restaurant-drinking-wine.jpg"
alt="How do you know she is a witch?"
/>
</a>
<div class="card-body d-flex flex-column">
<h3 class="card-title">
<a href="#">How do you know she is a witch?</a>
</h3>
<div class="text-secondary">Are you suggesting that coconuts migrate? No, no, no! Yes, yes. A bit. But she's got a wart. You ...</div>
<div class="text-secondary">
Are you suggesting that coconuts migrate? No, no, no! Yes, yes. A bit. But she's got a
wart. You ...
</div>
<div class="d-flex align-items-center pt-4 mt-auto">
<span class="avatar" style="background-image: url(/samples/avatars/013m.jpg)"></span>
<div class="ms-3">
@@ -240,9 +275,22 @@ Use a dropdown with card content to make it easy for users to get more informati
</div>
<div class="ms-auto">
<a href="#" class="icon d-none d-md-inline-block ms-3 text-secondary">
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M19.5 12.572l-7.5 7.428l-7.5 -7.428m0 0a5 5 0 1 1 7.5 -6.566a5 5 0 1 1 7.5 6.572" />
<path
d="M19.5 12.572l-7.5 7.428l-7.5 -7.428m0 0a5 5 0 1 1 7.5 -6.566a5 5 0 1 1 7.5 6.572"
/>
</svg>
</a>
</div>

View File

@@ -1,6 +1,6 @@
---
title: Dropzone
summary: Dropzone is a simple JavaScript library that helps you add file drag and drop functionality to your web forms. It is one of the most popular drag and drop library on the web and is used by millions of people.
summary: Dropzone is a simple JavaScript library that helps you add file drag and drop functionality to your web forms. It is one of the most popular drag and drop libraries on the web and is used by millions of people.
description: Drag-and-drop file upload tool.
---
@@ -20,9 +20,9 @@ To initialize the Dropzone form, you need to create a new instance of the Dropzo
```html
<script>
document.addEventListener("DOMContentLoaded", function() {
new Dropzone("#dropzone-default")
})
document.addEventListener("DOMContentLoaded", function () {
new Dropzone("#dropzone-default");
});
</script>
```
@@ -35,9 +35,9 @@ The Dropzone form will now be active and ready to accept file uploads. When a us
</div>
</form>
<script>
document.addEventListener("DOMContentLoaded", function() {
new Dropzone("#dropzone-default")
})
document.addEventListener("DOMContentLoaded", function () {
new Dropzone("#dropzone-default");
});
</script>
```
@@ -58,9 +58,9 @@ By adding the `multiple` attribute to the input field, users can select multiple
</div>
</form>
<script>
document.addEventListener("DOMContentLoaded", function() {
new Dropzone("#dropzone-mulitple")
})
document.addEventListener("DOMContentLoaded", function () {
new Dropzone("#dropzone-mulitple");
});
</script>
```
@@ -79,9 +79,9 @@ You can further enhance the user experience by customizing the Dropzone interfac
</div>
</form>
<script>
document.addEventListener("DOMContentLoaded", function() {
new Dropzone("#dropzone-custom")
})
document.addEventListener("DOMContentLoaded", function () {
new Dropzone("#dropzone-custom");
});
</script>
```

View File

@@ -11,7 +11,18 @@ Use the default empty state to engage users in the critical moments of their exp
```html example height="300px"
<div class="empty">
<div class="empty-icon">
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<circle cx="12" cy="12" r="9" />
<line x1="9" y1="10" x2="9.01" y2="10" />
@@ -25,7 +36,18 @@ Use the default empty state to engage users in the critical moments of their exp
</p>
<div class="empty-action">
<a href="#" class="btn btn-primary">
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<circle cx="10" cy="10" r="7" />
<line x1="21" y1="21" x2="15" y2="15" />
@@ -51,7 +73,18 @@ Make your empty state screen more attractive and engaging by adding an illustrat
</p>
<div class="empty-action">
<a href="#" class="btn btn-primary">
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<line x1="12" y1="5" x2="12" y2="19" />
<line x1="5" y1="12" x2="19" y2="12" />
@@ -75,7 +108,18 @@ Instead of adding an icon or illustration you can simply give the text:
</p>
<div class="empty-action">
<a href="#" class="btn btn-primary">
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<line x1="5" y1="12" x2="19" y2="12" />
<line x1="5" y1="12" x2="11" y2="18" />

View File

@@ -1,6 +1,6 @@
---
title: Icons
summary: Use one of over 5000 icons created specifically for Tabler and make your dashboard look even more attractive. All icons are under MIT license, so you can use them without any problem both in private and commercial projects.
summary: Use any of over 5000 icons created specifically for Tabler and make your dashboard look even more attractive. All icons are under MIT license, so you can use them without any problem both in private and commercial projects.
banner: icons
description: Enhance dashboards with custom icons.
---
@@ -9,10 +9,21 @@ If you need to add icons to your website, you can use the Tabler Icons library.
## Base icon
To add icon to your code copy the SVG code from the Tabler Icons website and paste it into your HTML file.
To add an icon to your code copy the SVG code from the Tabler Icons website and paste it into your HTML file.
```html
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-heart" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-heart"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M19.5 12.572l-7.5 7.428l-7.5 -7.428a5 5 0 1 1 7.5 -6.566a5 5 0 1 1 7.5 6.572"></path>
</svg>
@@ -21,25 +32,73 @@ To add icon to your code copy the SVG code from the Tabler Icons website and pas
Results can be seen in the example below.
```html example centered separated
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-heart" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-heart"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M19.5 12.572l-7.5 7.428l-7.5 -7.428a5 5 0 1 1 7.5 -6.566a5 5 0 1 1 7.5 6.572"></path>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-ghost-2" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-ghost-2"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M10 9h.01"></path>
<path d="M14 9h.01"></path>
<path d="M12 3a7 7 0 0 1 7 7v1l1 0a2 2 0 1 1 0 4l-1 0v3l2 3h-10a6 6 0 0 1 -6 -5.775l0 -.226l-1 0a2 2 0 0 1 0 -4l1 0v-1a7 7 0 0 1 7 -7z"></path>
<path
d="M12 3a7 7 0 0 1 7 7v1l1 0a2 2 0 1 1 0 4l-1 0v3l2 3h-10a6 6 0 0 1 -6 -5.775l0 -.226l-1 0a2 2 0 0 1 0 -4l1 0v-1a7 7 0 0 1 7 -7z"
></path>
<path d="M11 14h2a1 1 0 0 0 -2 0z"></path>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-lego" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-lego"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M9.5 11l.01 0"></path>
<path d="M14.5 11l.01 0"></path>
<path d="M9.5 15a3.5 3.5 0 0 0 5 0"></path>
<path d="M7 5h1v-2h8v2h1a3 3 0 0 1 3 3v9a3 3 0 0 1 -3 3v1h-10v-1a3 3 0 0 1 -3 -3v-9a3 3 0 0 1 3 -3"></path>
<path
d="M7 5h1v-2h8v2h1a3 3 0 0 1 3 3v9a3 3 0 0 1 -3 3v1h-10v-1a3 3 0 0 1 -3 -3v-9a3 3 0 0 1 3 -3"
></path>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-building-carousel" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-building-carousel"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M12 12m-6 0a6 6 0 1 0 12 0a6 6 0 1 0 -12 0"></path>
<path d="M5 8m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"></path>
@@ -56,33 +115,120 @@ Results can be seen in the example below.
To use filled icons, you need to copy the SVG code from the Tabler Icons website and paste it into your HTML file.
```html
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-heart-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-heart-filled"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M6.979 3.074a6 6 0 0 1 4.988 1.425l.037 .033l.034 -.03a6 6 0 0 1 4.733 -1.44l.246 .036a6 6 0 0 1 3.364 10.008l-.18 .185l-.048 .041l-7.45 7.379a1 1 0 0 1 -1.313 .082l-.094 -.082l-7.493 -7.422a6 6 0 0 1 3.176 -10.215z" stroke-width="0" fill="currentColor"></path>
<path
d="M6.979 3.074a6 6 0 0 1 4.988 1.425l.037 .033l.034 -.03a6 6 0 0 1 4.733 -1.44l.246 .036a6 6 0 0 1 3.364 10.008l-.18 .185l-.048 .041l-7.45 7.379a1 1 0 0 1 -1.313 .082l-.094 -.082l-7.493 -7.422a6 6 0 0 1 3.176 -10.215z"
stroke-width="0"
fill="currentColor"
></path>
</svg>
```
Look at the example below to see the filled icons.
```html example centered separated
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-heart-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-heart-filled"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M6.979 3.074a6 6 0 0 1 4.988 1.425l.037 .033l.034 -.03a6 6 0 0 1 4.733 -1.44l.246 .036a6 6 0 0 1 3.364 10.008l-.18 .185l-.048 .041l-7.45 7.379a1 1 0 0 1 -1.313 .082l-.094 -.082l-7.493 -7.422a6 6 0 0 1 3.176 -10.215z" stroke-width="0" fill="currentColor"></path>
<path
d="M6.979 3.074a6 6 0 0 1 4.988 1.425l.037 .033l.034 -.03a6 6 0 0 1 4.733 -1.44l.246 .036a6 6 0 0 1 3.364 10.008l-.18 .185l-.048 .041l-7.45 7.379a1 1 0 0 1 -1.313 .082l-.094 -.082l-7.493 -7.422a6 6 0 0 1 3.176 -10.215z"
stroke-width="0"
fill="currentColor"
></path>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-bell-ringing-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-bell-ringing-filled"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M17.451 2.344a1 1 0 0 1 1.41 -.099a12.05 12.05 0 0 1 3.048 4.064a1 1 0 1 1 -1.818 .836a10.05 10.05 0 0 0 -2.54 -3.39a1 1 0 0 1 -.1 -1.41z" stroke-width="0" fill="currentColor"></path>
<path d="M5.136 2.245a1 1 0 0 1 1.312 1.51a10.05 10.05 0 0 0 -2.54 3.39a1 1 0 1 1 -1.817 -.835a12.05 12.05 0 0 1 3.045 -4.065z" stroke-width="0" fill="currentColor"></path>
<path d="M14.235 19c.865 0 1.322 1.024 .745 1.668a3.992 3.992 0 0 1 -2.98 1.332a3.992 3.992 0 0 1 -2.98 -1.332c-.552 -.616 -.158 -1.579 .634 -1.661l.11 -.006h4.471z" stroke-width="0" fill="currentColor"></path>
<path d="M12 2c1.358 0 2.506 .903 2.875 2.141l.046 .171l.008 .043a8.013 8.013 0 0 1 4.024 6.069l.028 .287l.019 .289v2.931l.021 .136a3 3 0 0 0 1.143 1.847l.167 .117l.162 .099c.86 .487 .56 1.766 -.377 1.864l-.116 .006h-16c-1.028 0 -1.387 -1.364 -.493 -1.87a3 3 0 0 0 1.472 -2.063l.021 -.143l.001 -2.97a8 8 0 0 1 3.821 -6.454l.248 -.146l.01 -.043a3.003 3.003 0 0 1 2.562 -2.29l.182 -.017l.176 -.004z" stroke-width="0" fill="currentColor"></path>
<path
d="M17.451 2.344a1 1 0 0 1 1.41 -.099a12.05 12.05 0 0 1 3.048 4.064a1 1 0 1 1 -1.818 .836a10.05 10.05 0 0 0 -2.54 -3.39a1 1 0 0 1 -.1 -1.41z"
stroke-width="0"
fill="currentColor"
></path>
<path
d="M5.136 2.245a1 1 0 0 1 1.312 1.51a10.05 10.05 0 0 0 -2.54 3.39a1 1 0 1 1 -1.817 -.835a12.05 12.05 0 0 1 3.045 -4.065z"
stroke-width="0"
fill="currentColor"
></path>
<path
d="M14.235 19c.865 0 1.322 1.024 .745 1.668a3.992 3.992 0 0 1 -2.98 1.332a3.992 3.992 0 0 1 -2.98 -1.332c-.552 -.616 -.158 -1.579 .634 -1.661l.11 -.006h4.471z"
stroke-width="0"
fill="currentColor"
></path>
<path
d="M12 2c1.358 0 2.506 .903 2.875 2.141l.046 .171l.008 .043a8.013 8.013 0 0 1 4.024 6.069l.028 .287l.019 .289v2.931l.021 .136a3 3 0 0 0 1.143 1.847l.167 .117l.162 .099c.86 .487 .56 1.766 -.377 1.864l-.116 .006h-16c-1.028 0 -1.387 -1.364 -.493 -1.87a3 3 0 0 0 1.472 -2.063l.021 -.143l.001 -2.97a8 8 0 0 1 3.821 -6.454l.248 -.146l.01 -.043a3.003 3.003 0 0 1 2.562 -2.29l.182 -.017l.176 -.004z"
stroke-width="0"
fill="currentColor"
></path>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-cherry-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-cherry-filled"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M16.588 5.191l.058 .045l.078 .074l.072 .084l.013 .018a.998 .998 0 0 1 .182 .727l-.022 .111l-.03 .092c-.99 2.725 -.666 5.158 .679 7.706a4 4 0 1 1 -4.613 4.152l-.005 -.2l.005 -.2a4.002 4.002 0 0 1 2.5 -3.511c-.947 -2.03 -1.342 -4.065 -1.052 -6.207c-.166 .077 -.332 .15 -.499 .218l.094 -.064c-2.243 1.47 -3.552 3.004 -3.98 4.57a4.5 4.5 0 1 1 -7.064 3.906l-.004 -.212l.005 -.212a4.5 4.5 0 0 1 5.2 -4.233c.332 -1.073 .945 -2.096 1.83 -3.069c-1.794 -.096 -3.586 -.759 -5.355 -1.986l-.268 -.19l-.051 -.04l-.046 -.04l-.044 -.044l-.04 -.046l-.04 -.05l-.032 -.047l-.035 -.06l-.053 -.11l-.038 -.116l-.023 -.117l-.005 -.042l-.005 -.118l.01 -.118l.023 -.117l.038 -.115l.03 -.066l.023 -.045l.035 -.06l.032 -.046l.04 -.051l.04 -.046l.044 -.044l.046 -.04l.05 -.04c4.018 -2.922 8.16 -2.922 12.177 0z" stroke-width="0" fill="currentColor"></path>
<path
d="M16.588 5.191l.058 .045l.078 .074l.072 .084l.013 .018a.998 .998 0 0 1 .182 .727l-.022 .111l-.03 .092c-.99 2.725 -.666 5.158 .679 7.706a4 4 0 1 1 -4.613 4.152l-.005 -.2l.005 -.2a4.002 4.002 0 0 1 2.5 -3.511c-.947 -2.03 -1.342 -4.065 -1.052 -6.207c-.166 .077 -.332 .15 -.499 .218l.094 -.064c-2.243 1.47 -3.552 3.004 -3.98 4.57a4.5 4.5 0 1 1 -7.064 3.906l-.004 -.212l.005 -.212a4.5 4.5 0 0 1 5.2 -4.233c.332 -1.073 .945 -2.096 1.83 -3.069c-1.794 -.096 -3.586 -.759 -5.355 -1.986l-.268 -.19l-.051 -.04l-.046 -.04l-.044 -.044l-.04 -.046l-.04 -.05l-.032 -.047l-.035 -.06l-.053 -.11l-.038 -.116l-.023 -.117l-.005 -.042l-.005 -.118l.01 -.118l.023 -.117l.038 -.115l.03 -.066l.023 -.045l.035 -.06l.032 -.046l.04 -.051l.04 -.046l.044 -.044l.046 -.04l.05 -.04c4.018 -2.922 8.16 -2.922 12.177 0z"
stroke-width="0"
fill="currentColor"
></path>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-circle-key-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-circle-key-filled"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M12 2c5.523 0 10 4.477 10 10a10 10 0 0 1 -20 0c0 -5.523 4.477 -10 10 -10zm2 5a3 3 0 0 0 -2.98 2.65l-.015 .174l-.005 .176l.005 .176c.019 .319 .087 .624 .197 .908l.09 .209l-3.5 3.5l-.082 .094a1 1 0 0 0 0 1.226l.083 .094l1.5 1.5l.094 .083a1 1 0 0 0 1.226 0l.094 -.083l.083 -.094a1 1 0 0 0 0 -1.226l-.083 -.094l-.792 -.793l.585 -.585l.793 .792l.094 .083a1 1 0 0 0 1.403 -1.403l-.083 -.094l-.792 -.793l.792 -.792a3 3 0 1 0 1.293 -5.708zm0 2a1 1 0 1 1 0 2a1 1 0 0 1 0 -2z" stroke-width="0" fill="currentColor"></path>
<path
d="M12 2c5.523 0 10 4.477 10 10a10 10 0 0 1 -20 0c0 -5.523 4.477 -10 10 -10zm2 5a3 3 0 0 0 -2.98 2.65l-.015 .174l-.005 .176l.005 .176c.019 .319 .087 .624 .197 .908l.09 .209l-3.5 3.5l-.082 .094a1 1 0 0 0 0 1.226l.083 .094l1.5 1.5l.094 .083a1 1 0 0 0 1.226 0l.094 -.083l.083 -.094a1 1 0 0 0 0 -1.226l-.083 -.094l-.792 -.793l.585 -.585l.793 .792l.094 .083a1 1 0 0 0 1.403 -1.403l-.083 -.094l-.792 -.793l.792 -.792a3 3 0 1 0 1.293 -5.708zm0 2a1 1 0 1 1 0 2a1 1 0 0 1 0 -2z"
stroke-width="0"
fill="currentColor"
></path>
</svg>
```
@@ -101,25 +247,77 @@ Look at the example below to see how the color of the icon changes.
```html example centered separated
<span class="text-red">
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-heart-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-heart-filled"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M6.979 3.074a6 6 0 0 1 4.988 1.425l.037 .033l.034 -.03a6 6 0 0 1 4.733 -1.44l.246 .036a6 6 0 0 1 3.364 10.008l-.18 .185l-.048 .041l-7.45 7.379a1 1 0 0 1 -1.313 .082l-.094 -.082l-7.493 -7.422a6 6 0 0 1 3.176 -10.215z" stroke-width="0" fill="currentColor"></path>
<path
d="M6.979 3.074a6 6 0 0 1 4.988 1.425l.037 .033l.034 -.03a6 6 0 0 1 4.733 -1.44l.246 .036a6 6 0 0 1 3.364 10.008l-.18 .185l-.048 .041l-7.45 7.379a1 1 0 0 1 -1.313 .082l-.094 -.082l-7.493 -7.422a6 6 0 0 1 3.176 -10.215z"
stroke-width="0"
fill="currentColor"
></path>
</svg>
</span>
<span class="text-yellow">
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-star-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-star-filled"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M8.243 7.34l-6.38 .925l-.113 .023a1 1 0 0 0 -.44 1.684l4.622 4.499l-1.09 6.355l-.013 .11a1 1 0 0 0 1.464 .944l5.706 -3l5.693 3l.1 .046a1 1 0 0 0 1.352 -1.1l-1.091 -6.355l4.624 -4.5l.078 -.085a1 1 0 0 0 -.633 -1.62l-6.38 -.926l-2.852 -5.78a1 1 0 0 0 -1.794 0l-2.853 5.78z" stroke-width="0" fill="currentColor"></path>
<path
d="M8.243 7.34l-6.38 .925l-.113 .023a1 1 0 0 0 -.44 1.684l4.622 4.499l-1.09 6.355l-.013 .11a1 1 0 0 0 1.464 .944l5.706 -3l5.693 3l.1 .046a1 1 0 0 0 1.352 -1.1l-1.091 -6.355l4.624 -4.5l.078 -.085a1 1 0 0 0 -.633 -1.62l-6.38 -.926l-2.852 -5.78a1 1 0 0 0 -1.794 0l-2.853 5.78z"
stroke-width="0"
fill="currentColor"
></path>
</svg>
</span>
<span class="text-blue">
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-circle" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-circle"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path>
</svg>
</span>
<span class="text-green">
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-square-rounded" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-square-rounded"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M12 3c7.2 0 9 1.8 9 9s-1.8 9 -9 9s-9 -1.8 -9 -9s1.8 -9 9 -9z"></path>
</svg>
@@ -142,16 +340,51 @@ To add an animation to the icon, you need to add the `icon-pulse`, `icon-tada`,
Look at the example below to see the animated icons.
```html example centered separated
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-pulse" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon icon-pulse"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M19.5 12.572l-7.5 7.428l-7.5 -7.428m0 0a5 5 0 1 1 7.5 -6.566a5 5 0 1 1 7.5 6.572" />
</svg>
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tada" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon icon-tada"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M10 5a2 2 0 0 1 4 0a7 7 0 0 1 4 6v3a4 4 0 0 0 2 3h-16a4 4 0 0 0 2 -3v-3a7 7 0 0 1 4 -6" />
<path
d="M10 5a2 2 0 0 1 4 0a7 7 0 0 1 4 6v3a4 4 0 0 0 2 3h-16a4 4 0 0 0 2 -3v-3a7 7 0 0 1 4 -6"
/>
<path d="M9 17v1a3 3 0 0 0 6 0v-1" />
</svg>
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-rotate" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon icon-rotate"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M4.05 11a8 8 0 1 1 .5 4m-.5 5v-5h5" />
</svg>

View File

@@ -25,8 +25,8 @@ Integrating the Inline Player into your website is straightforward. Below is a s
```html
<div id="player-youtube" data-plyr-provider="youtube" data-plyr-embed-id="dQw4w9WgXcQ"></div>
<script>
document.addEventListener("DOMContentLoaded", function() {
window.Plyr && (new Plyr('#player-youtube'));
document.addEventListener("DOMContentLoaded", function () {
window.Plyr && new Plyr("#player-youtube");
});
</script>
```
@@ -37,8 +37,8 @@ Look at the example below to see how the Inline Player works with a YouTube vide
<div id="player-youtube" data-plyr-provider="youtube" data-plyr-embed-id="dQw4w9WgXcQ"></div>
<script src="$TABLER_CDN/dist/libs/plyr/dist/plyr.min.js"></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
window.Plyr && (new Plyr('#player-youtube'));
document.addEventListener("DOMContentLoaded", function () {
window.Plyr && new Plyr("#player-youtube");
});
</script>
```
@@ -51,8 +51,8 @@ Heres how to embed a Vimeo video using the Inline Player:
<div id="player-vimeo" data-plyr-provider="vimeo" data-plyr-embed-id="515937365"></div>
<script src="$TABLER_CDN/dist/libs/plyr/dist/plyr.min.js"></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
window.Plyr && (new Plyr('#player-vimeo'));
document.addEventListener("DOMContentLoaded", function () {
window.Plyr && new Plyr("#player-vimeo");
});
</script>
```

View File

@@ -14,15 +14,9 @@ To create a modal, you need to add a `.modal` element to the document. Inside th
<div class="modal" tabindex="-1">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
...
</div>
<div class="modal-body">
...
</div>
<div class="modal-footer">
...
</div>
<div class="modal-header">...</div>
<div class="modal-body">...</div>
<div class="modal-footer">...</div>
</div>
</div>
</div>
@@ -42,7 +36,9 @@ Look at the example below to see how the modal looks.
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci animi beatae delectus deleniti dolorem eveniet facere fuga iste nemo nesciunt nihil odio perspiciatis, quia quis reprehenderit sit tempora totam unde.
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci animi beatae delectus
deleniti dolorem eveniet facere fuga iste nemo nesciunt nihil odio perspiciatis, quia quis
reprehenderit sit tempora totam unde.
</div>
<div class="modal-footer">
<button type="button" class="btn me-auto" data-bs-dismiss="modal">Close</button>
@@ -64,26 +60,37 @@ You can use the modal to create a prompt or alert. Look at the example below to
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
<div class="modal-status bg-danger"></div>
<div class="modal-body text-center py-4">
<svg xmlns="http://www.w3.org/2000/svg" class="icon mb-2 text-danger icon-lg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon mb-2 text-danger icon-lg"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M12 9v2m0 4v.01" />
<path d="M5 19h14a2 2 0 0 0 1.84 -2.75l-7.1 -12.25a2 2 0 0 0 -3.5 0l-7.1 12.25a2 2 0 0 0 1.75 2.75" />
<path
d="M5 19h14a2 2 0 0 0 1.84 -2.75l-7.1 -12.25a2 2 0 0 0 -3.5 0l-7.1 12.25a2 2 0 0 0 1.75 2.75"
/>
</svg>
<h3>Are you sure?</h3>
<div class="text-secondary">Do you really want to remove 84 files? What you've done cannot be undone.</div>
<div class="text-secondary">
Do you really want to remove 84 files? What you've done cannot be undone.
</div>
</div>
<div class="modal-footer">
<div class="w-100">
<div class="row">
<div class="col">
<a href="#" class="btn w-100" data-bs-dismiss="modal">
Cancel
</a>
<a href="#" class="btn w-100" data-bs-dismiss="modal"> Cancel </a>
</div>
<div class="col">
<a href="#" class="btn btn-danger w-100" data-bs-dismiss="modal">
Delete 84 items
</a>
<a href="#" class="btn btn-danger w-100" data-bs-dismiss="modal"> Delete 84 items </a>
</div>
</div>
</div>
@@ -92,10 +99,10 @@ You can use the modal to create a prompt or alert. Look at the example below to
</div>
</div>
<script>
document.addEventListener("DOMContentLoaded", function() {
var myModal = new bootstrap.Modal(document.getElementById('exampleModal'))
myModal.show()
})
document.addEventListener("DOMContentLoaded", function () {
var myModal = new bootstrap.Modal(document.getElementById("exampleModal"));
myModal.show();
});
</script>
```
@@ -106,26 +113,36 @@ You can use the modal to create a prompt or alert. Look at the example below to
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
<div class="modal-status bg-success"></div>
<div class="modal-body text-center py-4">
<svg xmlns="http://www.w3.org/2000/svg" class="icon mb-2 text-green icon-lg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon mb-2 text-green icon-lg"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<circle cx="12" cy="12" r="9" />
<path d="M9 12l2 2l4 -4" />
</svg>
<h3>Payment succedeed</h3>
<div class="text-secondary">Your payment of $290 has been successfully submitted. Your invoice has been sent to support@tabler.io.</div>
<h3>Payment succeeded</h3>
<div class="text-secondary">
Your payment of $290 has been successfully submitted. Your invoice has been sent to
support@tabler.io.
</div>
</div>
<div class="modal-footer">
<div class="w-100">
<div class="row">
<div class="col">
<a href="#" class="btn w-100" data-bs-dismiss="modal">
Go to dashboard
</a>
<a href="#" class="btn w-100" data-bs-dismiss="modal"> Go to dashboard </a>
</div>
<div class="col">
<a href="#" class="btn btn-success w-100" data-bs-dismiss="modal">
View invoice
</a>
<a href="#" class="btn btn-success w-100" data-bs-dismiss="modal"> View invoice </a>
</div>
</div>
</div>
@@ -134,10 +151,10 @@ You can use the modal to create a prompt or alert. Look at the example below to
</div>
</div>
<script>
document.addEventListener("DOMContentLoaded", function() {
var myModal = new bootstrap.Modal(document.getElementById('exampleModal'))
myModal.show()
})
document.addEventListener("DOMContentLoaded", function () {
var myModal = new bootstrap.Modal(document.getElementById("exampleModal"));
myModal.show();
});
</script>
```
@@ -159,20 +176,33 @@ You can use the modal to create a form. Look at the example below to see how the
<div class="modal-body">
<div class="mb-3">
<label class="form-label">Name</label>
<input type="text" class="form-control" name="example-text-input" placeholder="Your report name" />
<input
type="text"
class="form-control"
name="example-text-input"
placeholder="Your report name"
/>
</div>
<label class="form-label">Report type</label>
<div class="form-selectgroup-boxes row mb-3">
<div class="col-md-6">
<label class="form-selectgroup-item">
<input type="radio" name="report-type" value="1" class="form-selectgroup-input" checked />
<input
type="radio"
name="report-type"
value="1"
class="form-selectgroup-input"
checked
/>
<span class="form-selectgroup-label d-flex align-items-center p-3">
<span class="me-3">
<span class="form-selectgroup-check"></span>
</span>
<span class="form-selectgroup-label-content">
<span class="form-selectgroup-title strong mb-1">Simple</span>
<span class="d-block text-secondary">Provide only basic data needed for the report</span>
<span class="d-block text-secondary"
>Provide only basic data needed for the report</span
>
</span>
</span>
</label>
@@ -186,7 +216,10 @@ You can use the modal to create a form. Look at the example below to see how the
</span>
<span class="form-selectgroup-label-content">
<span class="form-selectgroup-title strong mb-1">Advanced</span>
<span class="d-block text-secondary">Insert charts and additional advanced analyses to be inserted in the report</span>
<span class="d-block text-secondary"
>Insert charts and additional advanced analyses to be inserted in the
report</span
>
</span>
</span>
</label>
@@ -197,9 +230,7 @@ You can use the modal to create a form. Look at the example below to see how the
<div class="mb-3">
<label class="form-label">Report url</label>
<div class="input-group input-group-flat">
<span class="input-group-text">
https://tabler.io/reports/
</span>
<span class="input-group-text"> https://tabler.io/reports/ </span>
<input type="text" class="form-control ps-0" value="report-01" autocomplete="off" />
</div>
</div>
@@ -239,11 +270,20 @@ You can use the modal to create a form. Look at the example below to see how the
</div>
</div>
<div class="modal-footer">
<a href="#" class="btn btn-link link-secondary" data-bs-dismiss="modal">
Cancel
</a>
<a href="#" class="btn btn-link link-secondary" data-bs-dismiss="modal"> Cancel </a>
<a href="#" class="btn btn-primary ms-auto" data-bs-dismiss="modal">
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-plus" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-plus"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M12 5l0 14"></path>
<path d="M5 12l14 0"></path>

View File

@@ -11,7 +11,8 @@ To create an offcanvas, add the `.offcanvas` class to a container element. You c
```html
<div class="offcanvas offcanvas-start" tabindex="-1" id="offcanvas">
<div class="offcanvas-body">
Content for the offcanvas goes here. You can place just about any Tabler component or custom elements here.
Content for the offcanvas goes here. You can place just about any Tabler component or custom
elements here.
</div>
</div>
```
@@ -19,9 +20,15 @@ To create an offcanvas, add the `.offcanvas` class to a container element. You c
Look at the example below to see how the offcanvas works.
```html example vendors height="25rem"
<div class="offcanvas offcanvas-start show" tabindex="-1" id="offcanvas" aria-labelledby="offcanvasLabel">
<div
class="offcanvas offcanvas-start show"
tabindex="-1"
id="offcanvas"
aria-labelledby="offcanvasLabel"
>
<div class="offcanvas-body">
Content for the offcanvas goes here. You can place just about any Tabler component or custom elements here.
Content for the offcanvas goes here. You can place just about any Tabler component or custom
elements here.
</div>
</div>
```
@@ -31,12 +38,20 @@ Look at the example below to see how the offcanvas works.
The offcanvas component is used to display a cookies banner. It is a great way to inform users about the use of cookies on your website and to get their consent.
```html example vendors height="25rem"
<div class="offcanvas offcanvas-bottom h-auto show" tabindex="-1" id="offcanvasBottom" aria-modal="true" role="dialog">
<div
class="offcanvas offcanvas-bottom h-auto show"
tabindex="-1"
id="offcanvasBottom"
aria-modal="true"
role="dialog"
>
<div class="offcanvas-body">
<div class="container">
<div class="row align-items-center">
<div class="col">
<strong>Do you like cookies?</strong> 🍪 We use cookies to ensure you get the best experience on our website. <a href="./terms-of-service.html" target="_blank">Learn more</a>
<strong>Do you like cookies?</strong> 🍪 We use cookies to ensure you get the best
experience on our website.
<a href="./terms-of-service.html" target="_blank">Learn more</a>
</div>
<div class="col-auto">
<button type="button" class="btn btn-primary" data-bs-dismiss="offcanvas">

View File

@@ -1,12 +1,12 @@
---
title: Placeholder
summary: Placeholder is used to reserve space for content that soon will appear in a layout.
summary: Placeholder is used to reserve space for content that will soon appear in a layout.
description: Reserve space for upcoming content.
---
## Placeholder line
Placeholder lines can contain have lines of text. Their length is different and depends on the `col-` class.
Placeholder lines can contain lines of text. Their length is different and depends on the `col-` class.
```html example columns={1}
<div class="placeholder col-9"></div>
@@ -15,7 +15,7 @@ Placeholder lines can contain have lines of text. Their length is different and
<div class="placeholder col-8"></div>
```
However, it may be useful, however, to specify the full width in order to fit the content more effectively.
However, it may be useful to specify the full width in order to fit the content more effectively.
```html example columns={1}
<div class="placeholder col-12"></div>
@@ -24,7 +24,7 @@ However, it may be useful, however, to specify the full width in order to fit th
<div class="placeholder col-12"></div>
```
You can also move the lines to right or to center:
You can also move the lines to the right or center them:
```html example columns={1}
<div class="text-end">
@@ -41,7 +41,7 @@ You can also move the lines to right or to center:
## Placeholder heading
A placeholder can contain also a header element looks like header:
A placeholder can also contain an element that looks like a header:
```html example columns={1}
<div class="placeholder col-9 mb-3"></div>
@@ -51,13 +51,13 @@ A placeholder can contain also a header element looks like header:
## Placeholder avatar
You can use a placeholder, which will look like an avatar. You can use the `avatar` component, and get the image in the right proportions.
You can use a placeholder that will look like an avatar. You can use the `avatar` component, and get the image in the right proportions.
```html
<div class="avatar placeholder"></div>
```
Look at the example below to see how the avatar placeholder looks like.
Look at the example below to see how the avatar placeholder looks.
```html example columns={1} centered
<div class="row">
@@ -71,7 +71,7 @@ Look at the example below to see how the avatar placeholder looks like.
</div>
```
You can also use the `avatar` component with different sizes. Look at the example below to see how the avatar placeholder looks like.
You can also use the `avatar` component with different sizes. Look at the example below to see how the avatar placeholder looks.
```html example centered separated
<div class="avatar avatar-xl placeholder"></div>
@@ -84,9 +84,7 @@ You can also use the `avatar` component with different sizes. Look at the exampl
## Placeholder image
You can use a placeholder, which will look like a picture. You can use the `ratio` component, and get the image in the right proportions.
You can also use the `ratio` component, and get the image in the right proportions.
You can use a placeholder that will look like a picture. You can use the `ratio` component, and get the image in the right proportions.
```html example columns={1} height={500} scrollable separated vertical
<div class="ratio ratio-1x1 placeholder">
@@ -105,7 +103,7 @@ You can also use the `ratio` component, and get the image in the right proportio
## Placeholder color
By default, the `placeholder` uses `currentColor`. This can be overridden with a custom color or utility class. Full color classes are available for background colors.
By default, the placeholder uses `currentColor`. This can be overridden with a custom color or utility class. Full color classes are available for background colors.
```html
<span class="placeholder col-12 bg-dark"></span>
@@ -127,7 +125,7 @@ Look at the example below to see how the color affects the placeholder.
## Placeholder sizing
The size of `.placeholders` are based on the typographic style of the parent element. Customize them with sizing modifiers: `.placeholder-lg`, `.placeholder-sm`, or `.placeholder-xs`.
The sizes of placeholders are based on the typographic style of the parent element. Customize them with sizing modifiers: `.placeholder-lg`, `.placeholder-sm`, or `.placeholder-xs`.
```html example columns={1}
<span class="placeholder col-12 placeholder-lg"></span>
@@ -161,7 +159,12 @@ See in the following examples how else you can use the placeholder component
<div class="placeholder placeholder-xs col-10"></div>
<div class="placeholder placeholder-xs col-11"></div>
<div class="mt-3">
<a href="#" tabindex="-1" class="btn btn-primary disabled placeholder col-4" aria-hidden="true"></a>
<a
href="#"
tabindex="-1"
class="btn btn-primary disabled placeholder col-4"
aria-hidden="true"
></a>
</div>
</div>
</div>

View File

@@ -10,7 +10,15 @@ description: Provide extra information with popovers.
To create a default popover use:
```html example centered
<button type="button" class="btn" data-bs-toggle="popover" title="Popover title" data-bs-content="And here's some amazing content. It's very engaging. Right?">Click to toggle popover</button>
<button
type="button"
class="btn"
data-bs-toggle="popover"
title="Popover title"
data-bs-content="And here's some amazing content. It's very engaging. Right?"
>
Click to toggle popover
</button>
```
## Four directions
@@ -18,37 +26,117 @@ To create a default popover use:
Four options are available: `top`, `right`, `bottom`, and `left` aligned. Directions are mirrored when using Bootstrap in RTL.
```html example centered separated
<button type="button" class="btn" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="top" data-bs-content="Top popover">Popover on top</button>
<button type="button" class="btn" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="right" data-bs-content="Right popover">Popover on right</button>
<button type="button" class="btn" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="bottom" data-bs-content="Bottom popover">Popover on bottom</button>
<button type="button" class="btn" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="left" data-bs-content="Left popover">Popover on left</button>
<button
type="button"
class="btn"
data-bs-container="body"
data-bs-toggle="popover"
data-bs-placement="top"
data-bs-content="Top popover"
>
Popover on top
</button>
<button
type="button"
class="btn"
data-bs-container="body"
data-bs-toggle="popover"
data-bs-placement="right"
data-bs-content="Right popover"
>
Popover on right
</button>
<button
type="button"
class="btn"
data-bs-container="body"
data-bs-toggle="popover"
data-bs-placement="bottom"
data-bs-content="Bottom popover"
>
Popover on bottom
</button>
<button
type="button"
class="btn"
data-bs-container="body"
data-bs-toggle="popover"
data-bs-placement="left"
data-bs-content="Left popover"
>
Popover on left
</button>
```
```html
<button type="button" class="btn" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="top" data-bs-content="Top popover">
<button
type="button"
class="btn"
data-bs-container="body"
data-bs-toggle="popover"
data-bs-placement="top"
data-bs-content="Top popover"
>
Popover on top
</button>
<button type="button" class="btn" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="right" data-bs-content="Right popover">
<button
type="button"
class="btn"
data-bs-container="body"
data-bs-toggle="popover"
data-bs-placement="right"
data-bs-content="Right popover"
>
Popover on right
</button>
<button type="button" class="btn" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="bottom" data-bs-content="Bottom popover">
<button
type="button"
class="btn"
data-bs-container="body"
data-bs-toggle="popover"
data-bs-placement="bottom"
data-bs-content="Bottom popover"
>
Popover on bottom
</button>
<button type="button" class="btn" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="left" data-bs-content="Left popover">
<button
type="button"
class="btn"
data-bs-container="body"
data-bs-toggle="popover"
data-bs-placement="left"
data-bs-content="Left popover"
>
Popover on left
</button>
```
## Popover on hover
Popover can be triggered `manual`, with a `click` and on `focus` and on `hover`. This one reacts on hover.
Popover can be triggered in one or more of the following styles: `manual`, with a `click`, on `focus`, and on `hover`. This one reacts on hover. See more details on the Popover component page of [Bootstrap's documentation](https://getbootstrap.com/docs)
```html example centered
<button type="button" class="btn btn-primary" data-bs-trigger="hover" data-bs-toggle="popover" title="Popover title" data-bs-content="And here's some amazing content. It's very engaging. Right?">Hover to toggle popover</button>
```
```html
<button type="button" class="btn btn-primary" data-bs-trigger="hover" data-bs-toggle="popover" title="Popover title" data-bs-content="And here's some amazing content. It's very engaging. Right?">
<button
type="button"
class="btn btn-primary"
data-bs-trigger="hover"
data-bs-toggle="popover"
title="Popover title"
data-bs-content="And here's some amazing content. It's very engaging. Right?"
>
Hover to toggle popover
</button>
```
```html
<button
type="button"
class="btn btn-primary"
data-bs-trigger="hover"
data-bs-toggle="popover"
title="Popover title"
data-bs-content="And here's some amazing content. It's very engaging. Right?"
>
Hover to toggle popover
</button>
```

View File

@@ -17,7 +17,15 @@ To create a default progress bar, add a `.progress` class to a `<div>` element.
```html
<div class="progress">
<div class="progress-bar" style="width: 38%" role="progressbar" aria-valuenow="38" aria-valuemin="0" aria-valuemax="100" aria-label="38% Complete">
<div
class="progress-bar"
style="width: 38%"
role="progressbar"
aria-valuenow="38"
aria-valuemin="0"
aria-valuemax="100"
aria-label="38% Complete"
>
<span class="visually-hidden">38% Complete</span>
</div>
</div>
@@ -35,7 +43,15 @@ Look at the example below to see how it works:
```html example columns={1} centered
<div class="progress progress-sm">
<div class="progress-bar" style="width: 57%" role="progressbar" aria-valuenow="57" aria-valuemin="0" aria-valuemax="100" aria-label="57% Complete">
<div
class="progress-bar"
style="width: 57%"
role="progressbar"
aria-valuenow="57"
aria-valuemin="0"
aria-valuemax="100"
aria-label="57% Complete"
>
<span class="visually-hidden">57% Complete</span>
</div>
</div>
@@ -59,7 +75,7 @@ You can also use native HTML5 `<progress>` element. It is a great way to create
<progress class="progress progress-sm" value="15" max="100" />
```
This is how it looks like:
This is how it looks:
```html example columns={1} centered
<progress class="progress progress-sm" value="15" max="100" />
@@ -73,22 +89,54 @@ Full list of available colors can be found [here](/docs/ui/base/colors).
```html example columns={1} centered separated
<div class="progress">
<div class="progress-bar bg-red" style="width: 24%" role="progressbar" aria-valuenow="24" aria-valuemin="0" aria-valuemax="100" aria-label="24% Complete">
<div
class="progress-bar bg-red"
style="width: 24%"
role="progressbar"
aria-valuenow="24"
aria-valuemin="0"
aria-valuemax="100"
aria-label="24% Complete"
>
<span class="visually-hidden">24% Complete</span>
</div>
</div>
<div class="progress">
<div class="progress-bar bg-green" style="width: 45%" role="progressbar" aria-valuenow="45" aria-valuemin="0" aria-valuemax="100" aria-label="45% Complete">
<div
class="progress-bar bg-green"
style="width: 45%"
role="progressbar"
aria-valuenow="45"
aria-valuemin="0"
aria-valuemax="100"
aria-label="45% Complete"
>
<span class="visually-hidden">45% Complete</span>
</div>
</div>
<div class="progress">
<div class="progress-bar bg-purple" style="width: 64%" role="progressbar" aria-valuenow="64" aria-valuemin="0" aria-valuemax="100" aria-label="64% Complete">
<div
class="progress-bar bg-purple"
style="width: 64%"
role="progressbar"
aria-valuenow="64"
aria-valuemin="0"
aria-valuemax="100"
aria-label="64% Complete"
>
<span class="visually-hidden">64% Complete</span>
</div>
</div>
<div class="progress">
<div class="progress-bar bg-blue" style="width: 38%" role="progressbar" aria-valuenow="38" aria-valuemin="0" aria-valuemax="100" aria-label="38% Complete">
<div
class="progress-bar bg-blue"
style="width: 38%"
role="progressbar"
aria-valuenow="38"
aria-valuemin="0"
aria-valuemax="100"
aria-label="38% Complete"
>
<span class="visually-hidden">38% Complete</span>
</div>
</div>
@@ -104,7 +152,7 @@ You can stack multiple progress bars on top of each other to create a visually a
</div>
```
This is how it looks like:
This is how it looks:
```html example columns={2} centered
<div class="progress-stacked">
@@ -130,7 +178,7 @@ You can create a striped progress bar by adding the `.progress-bar-striped` clas
</div>
```
This is how it looks like:
This is how it looks:
```html example columns={1} centered separated
<div class="progress">

View File

@@ -14,16 +14,17 @@ All options and features can be found [**here**](https://refreshless.com/nouisli
```html example centered vendors libs="nouislider" columns={1}
<div id="range-simple"></div>
<script>
document.addEventListener("DOMContentLoaded", function() {
window.noUiSlider && (noUiSlider.create(document.getElementById('range-simple'), {
start: 20,
connect: [true, false],
step: 10,
range: {
min: 0,
max: 100
}
}));
document.addEventListener("DOMContentLoaded", function () {
window.noUiSlider &&
noUiSlider.create(document.getElementById("range-simple"), {
start: 20,
connect: [true, false],
step: 10,
range: {
min: 0,
max: 100,
},
});
});
</script>
```

View File

@@ -10,12 +10,24 @@ Use the `ribbon` class to add the default ribbon to any section of your interfac
```html example columns={1} centered background="base"
<div class="card">
<div class="card-body" style="height: 5rem">
</div>
<div class="card-body" style="height: 5rem"></div>
<div class="ribbon">
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z" />
<path
d="M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z"
/>
</svg>
</div>
</div>
@@ -23,8 +35,7 @@ Use the `ribbon` class to add the default ribbon to any section of your interfac
```html
<div class="card">
<div class="card-body">
</div>
<div class="card-body"></div>
<div class="ribbon">
<!-- SVG icon from http://tabler.io/icons/icon/star -->
<svg>...</svg>
@@ -45,12 +56,24 @@ Using multiple classes at once will give you more position options. For example,
```html example columns={1} centered background="base"
<div class="card">
<div class="card-body" style="height: 5rem">
</div>
<div class="card-body" style="height: 5rem"></div>
<div class="ribbon ribbon-top ribbon-start">
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z" />
<path
d="M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z"
/>
</svg>
</div>
</div>
@@ -58,8 +81,7 @@ Using multiple classes at once will give you more position options. For example,
```html
<div class="card">
<div class="card-body">
</div>
<div class="card-body"></div>
<div class="ribbon ribbon-top ribbon-start">
<!-- SVG icon from http://tabler.io/icons/icon/star -->
<svg>...</svg>
@@ -73,12 +95,24 @@ Customize the ribbon's background color. You can click [here](/docs/ui/base/colo
```html example columns={1} centered background="base"
<div class="card">
<div class="card-body" style="height: 5rem">
</div>
<div class="card-body" style="height: 5rem"></div>
<div class="ribbon bg-red">
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z" />
<path
d="M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z"
/>
</svg>
</div>
</div>
@@ -86,8 +120,7 @@ Customize the ribbon's background color. You can click [here](/docs/ui/base/colo
```html
<div class="card">
<div class="card-body">
</div>
<div class="card-body"></div>
<div class="ribbon bg-red">
<!-- SVG icon from http://tabler.io/icons/icon/star -->
<svg>...</svg>
@@ -101,12 +134,24 @@ Add your own text to a ribbon to display any additional information and make it
```html example columns={1} centered background="base"
<div class="card">
<div class="card-body" style="height: 5rem">
</div>
<div class="card-body" style="height: 5rem"></div>
<div class="ribbon bg-green">
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z" />
<path
d="M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z"
/>
</svg>
</div>
</div>
@@ -114,8 +159,7 @@ Add your own text to a ribbon to display any additional information and make it
```html
<div class="card">
<div class="card-body">
</div>
<div class="card-body"></div>
<div class="ribbon bg-green">
<!-- SVG icon from http://tabler.io/icons/icon/star -->
<svg>...</svg>
@@ -129,12 +173,24 @@ Change the style of a ribbon to make it go well with your interface design.
```html example columns={1} centered background="base"
<div class="card w-100">
<div class="card-body" style="height: 5rem">
</div>
<div class="card-body" style="height: 5rem"></div>
<div class="ribbon ribbon-bookmark bg-orange">
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z" />
<path
d="M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z"
/>
</svg>
</div>
</div>
@@ -142,8 +198,7 @@ Change the style of a ribbon to make it go well with your interface design.
```html
<div class="card">
<div class="card-body">
</div>
<div class="card-body"></div>
<div class="ribbon ribbon-bookmark bg-orange">
<!-- SVG icon from http://tabler.io/icons/icon/star -->
<svg>...</svg>

View File

@@ -0,0 +1,401 @@
---
title: Segmented Control
summary: A segmented control is a set of two or more segments, each of which functions as a mutually exclusive button. A segmented control is used to display a set of mutually exclusive options.
---
To create a segmented control, use the `nav` element with the `nav-segmented` class. Inside the `nav` element, add `button` or `a` elements with the `nav-link` class. The `nav-link` class is used to style the buttons as links.
```html
<nav class="nav nav-segmented" role="tablist">
<button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="true" aria-current="page">
First
</button>
...
</nav>
```
See the example below to see how the segmented control looks.
```html example centered background="white"
<nav class="nav nav-segmented" role="tablist">
<button
class="nav-link active"
role="tab"
data-bs-toggle="tab"
aria-selected="true"
aria-current="page"
>
First
</button>
<button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
Second
</button>
<button
class="nav-link"
disabled
role="tab"
data-bs-toggle="tab"
aria-selected="false"
tabindex="-1"
>
Disabled
</button>
</nav>
```
## Full width
To make the segmented control full width, add the `w-100` class to the `nav` element. It will take up the full width of its parent container.
```html
<nav class="nav nav-segmented w-100" role="tablist">...</nav>
```
The results can be seen in the example below.
```html example vcentered background="white"
<nav class="nav nav-segmented w-100" role="tablist">
<button
class="nav-link active"
role="tab"
data-bs-toggle="tab"
aria-selected="true"
aria-current="page"
>
Daily
</button>
<button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
Weekly
</button>
<button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
Monthly
</button>
<button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
Quarterly
</button>
<button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
Yearly
</button>
</nav>
```
## With emojis
You can also use emojis in the segmented control. To do this, add the emoji inside the `button` element.
```html example centered background="white"
<nav class="nav nav-segmented nav-1" role="tablist">
<button
class="nav-link active"
role="tab"
data-bs-toggle="tab"
aria-selected="true"
aria-current="page"
>
👦
</button>
<button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
👦🏿
</button>
<button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
👦🏾
</button>
<button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
👦🏽
</button>
<button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
👦🏼
</button>
<button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
👦🏻
</button>
</nav>
```
## With icons
You can also use icons in the segmented control. To do this, add the icon inside the `button` element.
```html example centered background="white"
<nav class="nav nav-segmented" role="tablist">
<button
class="nav-link active"
role="tab"
data-bs-toggle="tab"
aria-selected="true"
aria-current="page"
>
<!-- Download SVG icon from http://tabler.io/icons/icon/list -->
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
class="icon nav-link-icon icon-2"
>
<path d="M9 6l11 0"></path>
<path d="M9 12l11 0"></path>
<path d="M9 18l11 0"></path>
<path d="M5 6l0 .01"></path>
<path d="M5 12l0 .01"></path>
<path d="M5 18l0 .01"></path>
</svg>
List
</button>
<button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
<!-- Download SVG icon from http://tabler.io/icons/icon/layout -->
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
class="icon nav-link-icon icon-2"
>
<path d="M4 4m0 2a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v1a2 2 0 0 1 -2 2h-2a2 2 0 0 1 -2 -2z"></path>
<path
d="M4 13m0 2a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v3a2 2 0 0 1 -2 2h-2a2 2 0 0 1 -2 -2z"
></path>
<path
d="M14 4m0 2a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-2a2 2 0 0 1 -2 -2z"
></path>
</svg>
Kanban
</button>
<button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
<!-- Download SVG icon from http://tabler.io/icons/icon/calendar -->
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
class="icon nav-link-icon icon-2"
>
<path
d="M4 7a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2v-12z"
></path>
<path d="M16 3v4"></path>
<path d="M8 3v4"></path>
<path d="M4 11h16"></path>
<path d="M11 15h1"></path>
<path d="M12 15v3"></path>
</svg>
Calendar
</button>
<button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
<!-- Download SVG icon from http://tabler.io/icons/icon/files -->
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
class="icon nav-link-icon icon-2"
>
<path d="M15 3v4a1 1 0 0 0 1 1h4"></path>
<path d="M18 17h-7a2 2 0 0 1 -2 -2v-10a2 2 0 0 1 2 -2h4l5 5v7a2 2 0 0 1 -2 2z"></path>
<path d="M16 17v2a2 2 0 0 1 -2 2h-7a2 2 0 0 1 -2 -2v-10a2 2 0 0 1 2 -2h2"></path>
</svg>
Files
</button>
</nav>
```
## Vertical direction
To create a vertical segmented control, add the `nav-segmented-vertical` class to the `nav` element.
```html
<nav class="nav nav-segmented-vertical" role="tablist">...</nav>
```
The results can be seen in the example below.
```html example centered background="white"
<nav class="nav nav-segmented nav-segmented-vertical" role="tablist">
<button
class="nav-link active"
role="tab"
data-bs-toggle="tab"
aria-selected="true"
aria-current="page"
>
<!-- Download SVG icon from http://tabler.io/icons/icon/list -->
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
class="icon nav-link-icon icon-2"
>
<path d="M9 6l11 0"></path>
<path d="M9 12l11 0"></path>
<path d="M9 18l11 0"></path>
<path d="M5 6l0 .01"></path>
<path d="M5 12l0 .01"></path>
<path d="M5 18l0 .01"></path>
</svg>
List
</button>
<button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
<!-- Download SVG icon from http://tabler.io/icons/icon/layout -->
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
class="icon nav-link-icon icon-2"
>
<path d="M4 4m0 2a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v1a2 2 0 0 1 -2 2h-2a2 2 0 0 1 -2 -2z"></path>
<path
d="M4 13m0 2a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v3a2 2 0 0 1 -2 2h-2a2 2 0 0 1 -2 -2z"
></path>
<path
d="M14 4m0 2a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-2a2 2 0 0 1 -2 -2z"
></path>
</svg>
Kanban
</button>
<button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
<!-- Download SVG icon from http://tabler.io/icons/icon/calendar -->
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
class="icon nav-link-icon icon-2"
>
<path
d="M4 7a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2v-12z"
></path>
<path d="M16 3v4"></path>
<path d="M8 3v4"></path>
<path d="M4 11h16"></path>
<path d="M11 15h1"></path>
<path d="M12 15v3"></path>
</svg>
Calendar
</button>
<button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
<!-- Download SVG icon from http://tabler.io/icons/icon/files -->
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
class="icon nav-link-icon icon-2"
>
<path d="M15 3v4a1 1 0 0 0 1 1h4"></path>
<path d="M18 17h-7a2 2 0 0 1 -2 -2v-10a2 2 0 0 1 2 -2h4l5 5v7a2 2 0 0 1 -2 2z"></path>
<path d="M16 17v2a2 2 0 0 1 -2 2h-7a2 2 0 0 1 -2 -2v-10a2 2 0 0 1 2 -2h2"></path>
</svg>
Files
</button>
</nav>
```
## Sizes
You can also change the size of the segmented control. To do this, add the `nav-sm` or `nv-lg` class to the `nav` element. The `nav-sm` class will make the segmented control smaller, while the `nav-lg` class will make it larger.
```html
<nav class="nav nav-segmented nav-sm" role="tablist">...</nav>
```
The results can be seen in the examples below.
```html example vertical centered background="white" separated
<nav class="nav nav-segmented nav-sm" role="tablist">
<button
class="nav-link active"
role="tab"
data-bs-toggle="tab"
aria-selected="true"
aria-current="page"
>
List
</button>
<button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
Kanban
</button>
<button
class="nav-link disabled"
role="tab"
data-bs-toggle="tab"
aria-selected="false"
aria-disabled="true"
tabindex="-1"
>
Calendar
</button>
<button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
Files
</button>
</nav>
<nav class="nav nav-segmented nav-lg" role="tablist">
<button
class="nav-link active"
role="tab"
data-bs-toggle="tab"
aria-selected="true"
aria-current="page"
>
List
</button>
<button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
Kanban
</button>
<button
class="nav-link disabled"
role="tab"
data-bs-toggle="tab"
aria-selected="false"
aria-disabled="true"
tabindex="-1"
>
Calendar
</button>
<button class="nav-link" role="tab" data-bs-toggle="tab" aria-selected="false" tabindex="-1">
Files
</button>
</nav>
```

View File

@@ -120,21 +120,16 @@ Look at the example below to see how the button with a spinner works:
## Animated dots
Use animated dots to show the loading state of a component. They provide feedback for an action a user has taken, when it takes a bit longer to complete. To do it you need to use the `.animated-dots` class on `span` element.
Use animated dots to show the loading state of a component. They provide feedback for an action a user has taken, when it takes a bit longer to complete. To do it you need to use the `.animated-dots` class on a `span` element.
```html example centered code
<h1>Loading<span class="animated-dots"></span>
</h1>
<h1>Loading<span class="animated-dots"></span></h1>
```
Use buttons with animated dots to notify users that an action they have taken by clicking the button is in progress and prevent them from clicking multiple times or giving up.
```html example centered separated
<a href="#" class="btn btn-primary">
Loading<span class="animated-dots"></span>
</a>
<a href="#" class="btn btn-primary disabled">
Loading<span class="animated-dots"></span>
</a>
<a href="#" class="btn btn-primary"> Loading<span class="animated-dots"></span> </a>
<a href="#" class="btn btn-primary disabled"> Loading<span class="animated-dots"></span> </a>
```

View File

@@ -98,7 +98,7 @@ Look at the example below to see how the status with a dot works:
### Animated dot
You can also animate the dot to make it more noticeable. To do this, use the `.status-dot-animated` class inside the `.status-dot` element.
You can also animate the dot to make it more noticeable. To do this, add a `.status-dot-animated` class to the `.status-dot` element.
```html example centered separated columns={2}
<span class="status status-blue">
@@ -153,7 +153,7 @@ You can also animate the dot to make it more noticeable. To do this, use the `.s
## Lite status
Use the lite status to make the status less noticeable. To do this, use the `.status-lite` class inside the `.status` element.
Use the lite status to make the status less noticeable. To do this, add a `.status-lite` class to the `.status` element.
```html example centered separated columns={2}
<span class="status status-blue status-lite">
@@ -231,7 +231,7 @@ Look at the example below to see how the status dots work:
<span class="status-dot status-cyan"></span>
```
The dots can also be animated. To do this, use the `.status-dot-animated` class.
The dots can also be animated. To do this, add the `.status-dot-animated` class.
```html
<span class="status-dot status-dot-animated status-blue"></span>
@@ -256,7 +256,7 @@ The animated status dots can be used in the same way as the regular status dots.
## Status indicator
Use the status indicator to show the status of a component or page. The status indicator can be animated. To do this, use the `.status-indicator-animated` class.
Use the status indicator to show the status of a component or page. The status indicator can be animated. To do this, also add the `.status-indicator-animated` class.
```html example centered separated columns={1}
<span class="status-indicator status-blue status-indicator-animated">

View File

@@ -13,15 +13,9 @@ To create a default progress tracker, use the `.steps` class and define each ste
```html
<div class="steps">
<a href="#" class="step-item">
Step 1
</a>
<a href="#" class="step-item">
Step 2
</a>
<a href="#" class="step-item active">
Step 3
</a>
<a href="#" class="step-item"> Step 1 </a>
<a href="#" class="step-item"> Step 2 </a>
<a href="#" class="step-item active"> Step 3 </a>
</div>
```
@@ -29,29 +23,27 @@ The example below demonstrates a simple progress tracker with four steps, where
```html example centered
<div class="steps">
<a href="#" class="step-item">
Step 1
</a>
<a href="#" class="step-item">
Step 2
</a>
<a href="#" class="step-item active">
Step 3
</a>
<span href="#" class="step-item">
Step 4
</span>
<a href="#" class="step-item"> Step 1 </a>
<a href="#" class="step-item"> Step 2 </a>
<a href="#" class="step-item active"> Step 3 </a>
<span href="#" class="step-item"> Step 4 </span>
</div>
```
## Tooltips
Add tooltips, if you want to provide users with additional information about the steps they are expected to complete. Tooltips are displayed when a user hovers over a given step and help clarify what might not be clear from the interface.
Add tooltips if you want to provide users with additional information about the steps they are expected to complete. Tooltips are displayed when a user hovers over a given step and help clarify what might not be clear from the interface.
To add a tooltip, use the `data-bs-toggle="tooltip"` attribute and specify the tooltip content with the `title` attribute.
```html
<a href="#" class="step-item" data-bs-toggle="tooltip" data-bs-placement="top" title="Step 1 description">
<a
href="#"
class="step-item"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Step 1 description"
>
Step 1
</a>
```
@@ -60,16 +52,40 @@ The example below demonstrates a progress tracker with tooltips for each step.
```html example centered height="20rem"
<div class="steps">
<a href="#" class="step-item" data-bs-toggle="tooltip" data-bs-placement="top" title="Step 1 description">
<a
href="#"
class="step-item"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Step 1 description"
>
Step 1
</a>
<a href="#" class="step-item" data-bs-toggle="tooltip" data-bs-placement="top" title="Step 2 description">
<a
href="#"
class="step-item"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Step 2 description"
>
Step 2
</a>
<a href="#" class="step-item active" data-bs-toggle="tooltip" data-bs-placement="top" title="Step 3 description">
<a
href="#"
class="step-item active"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Step 3 description"
>
Step 3
</a>
<span href="#" class="step-item" data-bs-toggle="tooltip" data-bs-placement="top" title="Step 4 description">
<span
href="#"
class="step-item"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Step 4 description"
>
Step 4
</span>
</div>
@@ -80,41 +96,23 @@ The example below demonstrates a progress tracker with tooltips for each step.
You can customize the default progress indicator by changing the color to one that better suits your design. Click [here](/docs/ui/base/colors) to see the range of available colors.
```html
<div class="steps steps-green">
...
</div>
<div class="steps steps-green">...</div>
```
The example below demonstrates a progress tracker with two different color schemes.
```html example centered
<div class="steps steps-green">
<a href="#" class="step-item">
Step 1
</a>
<a href="#" class="step-item">
Step 2
</a>
<a href="#" class="step-item active">
Step 3
</a>
<span href="#" class="step-item">
Step 4
</span>
<a href="#" class="step-item"> Step 1 </a>
<a href="#" class="step-item"> Step 2 </a>
<a href="#" class="step-item active"> Step 3 </a>
<span href="#" class="step-item"> Step 4 </span>
</div>
<div class="steps steps-red">
<a href="#" class="step-item">
Step 1
</a>
<a href="#" class="step-item">
Step 2
</a>
<a href="#" class="step-item active">
Step 3
</a>
<span href="#" class="step-item">
Step 4
</span>
<a href="#" class="step-item"> Step 1 </a>
<a href="#" class="step-item"> Step 2 </a>
<a href="#" class="step-item active"> Step 3 </a>
<span href="#" class="step-item"> Step 4 </span>
</div>
```
@@ -124,10 +122,34 @@ For designs with limited space, use progress indicators without titles and add t
```html example centered
<div class="steps">
<a href="#" class="step-item" data-bs-toggle="tooltip" data-bs-placement="top" title="Step 1 description"></a>
<a href="#" class="step-item" data-bs-toggle="tooltip" data-bs-placement="top" title="Step 2 description"></a>
<a href="#" class="step-item active" data-bs-toggle="tooltip" data-bs-placement="top" title="Step 3 description"></a>
<span href="#" class="step-item" data-bs-toggle="tooltip" data-bs-placement="top" title="Step 4 description"></span>
<a
href="#"
class="step-item"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Step 1 description"
></a>
<a
href="#"
class="step-item"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Step 2 description"
></a>
<a
href="#"
class="step-item active"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Step 3 description"
></a>
<span
href="#"
class="step-item"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Step 4 description"
></span>
</div>
```
@@ -136,9 +158,7 @@ For designs with limited space, use progress indicators without titles and add t
Use the `steps-counter` class to create a progress tracker with numbers instead of titles and change the color to customize it.
```html
<div class="steps steps-counter">
...
</div>
<div class="steps steps-counter">...</div>
```
The example below demonstrates a progress tracker with numbers and a different color scheme.

View File

@@ -7,20 +7,46 @@ description: Transition between two icons smoothly.
## Default markup
To replace the icons, all should add `active` class to the `switch-icon` component.
The icon transition is triggered by adding an `.active` class to the `switch-icon` component.
```html example centered
<button class="switch-icon" data-bs-toggle="switch-icon">
<span class="switch-icon-a text-secondary">
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-heart" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-heart"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M19.5 12.572l-7.5 7.428l-7.5 -7.428a5 5 0 1 1 7.5 -6.566a5 5 0 1 1 7.5 6.572"></path>
</svg>
</span>
<span class="switch-icon-b text-red">
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-heart-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-heart-filled"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M6.979 3.074a6 6 0 0 1 4.988 1.425l.037 .033l.034 -.03a6 6 0 0 1 4.733 -1.44l.246 .036a6 6 0 0 1 3.364 10.008l-.18 .185l-.048 .041l-7.45 7.379a1 1 0 0 1 -1.313 .082l-.094 -.082l-7.493 -7.422a6 6 0 0 1 3.176 -10.215z" stroke-width="0" fill="currentColor"></path>
<path
d="M6.979 3.074a6 6 0 0 1 4.988 1.425l.037 .033l.034 -.03a6 6 0 0 1 4.733 -1.44l.246 .036a6 6 0 0 1 3.364 10.008l-.18 .185l-.048 .041l-7.45 7.379a1 1 0 0 1 -1.313 .082l-.094 -.082l-7.493 -7.422a6 6 0 0 1 3.176 -10.215z"
stroke-width="0"
fill="currentColor"
></path>
</svg>
</span>
</button>
@@ -33,84 +59,244 @@ You can also add a fancy animation to add variety to your button. See demo below
```html example centered separated
<button class="switch-icon" data-bs-toggle="switch-icon">
<span class="switch-icon-a text-secondary">
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-circle" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-circle"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path>
</svg>
</span>
<span class="switch-icon-b text-primary">
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-circle-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-circle-filled"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M7 3.34a10 10 0 1 1 -4.995 8.984l-.005 -.324l.005 -.324a10 10 0 0 1 4.995 -8.336z" stroke-width="0" fill="currentColor"></path>
<path
d="M7 3.34a10 10 0 1 1 -4.995 8.984l-.005 -.324l.005 -.324a10 10 0 0 1 4.995 -8.336z"
stroke-width="0"
fill="currentColor"
></path>
</svg>
</span>
</button>
<button class="switch-icon switch-icon-fade" data-bs-toggle="switch-icon">
<span class="switch-icon-a text-secondary">
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-heart" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-heart"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M19.5 12.572l-7.5 7.428l-7.5 -7.428a5 5 0 1 1 7.5 -6.566a5 5 0 1 1 7.5 6.572"></path>
</svg>
</span>
<span class="switch-icon-b text-red">
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-heart-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-heart-filled"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M6.979 3.074a6 6 0 0 1 4.988 1.425l.037 .033l.034 -.03a6 6 0 0 1 4.733 -1.44l.246 .036a6 6 0 0 1 3.364 10.008l-.18 .185l-.048 .041l-7.45 7.379a1 1 0 0 1 -1.313 .082l-.094 -.082l-7.493 -7.422a6 6 0 0 1 3.176 -10.215z" stroke-width="0" fill="currentColor"></path>
<path
d="M6.979 3.074a6 6 0 0 1 4.988 1.425l.037 .033l.034 -.03a6 6 0 0 1 4.733 -1.44l.246 .036a6 6 0 0 1 3.364 10.008l-.18 .185l-.048 .041l-7.45 7.379a1 1 0 0 1 -1.313 .082l-.094 -.082l-7.493 -7.422a6 6 0 0 1 3.176 -10.215z"
stroke-width="0"
fill="currentColor"
></path>
</svg>
</span>
</button>
<button class="switch-icon switch-icon-scale" data-bs-toggle="switch-icon">
<span class="switch-icon-a text-secondary">
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-star" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-star"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z"></path>
<path
d="M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z"
></path>
</svg>
</span>
<span class="switch-icon-b text-yellow">
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-star-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-star-filled"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M8.243 7.34l-6.38 .925l-.113 .023a1 1 0 0 0 -.44 1.684l4.622 4.499l-1.09 6.355l-.013 .11a1 1 0 0 0 1.464 .944l5.706 -3l5.693 3l.1 .046a1 1 0 0 0 1.352 -1.1l-1.091 -6.355l4.624 -4.5l.078 -.085a1 1 0 0 0 -.633 -1.62l-6.38 -.926l-2.852 -5.78a1 1 0 0 0 -1.794 0l-2.853 5.78z" stroke-width="0" fill="currentColor"></path>
<path
d="M8.243 7.34l-6.38 .925l-.113 .023a1 1 0 0 0 -.44 1.684l4.622 4.499l-1.09 6.355l-.013 .11a1 1 0 0 0 1.464 .944l5.706 -3l5.693 3l.1 .046a1 1 0 0 0 1.352 -1.1l-1.091 -6.355l4.624 -4.5l.078 -.085a1 1 0 0 0 -.633 -1.62l-6.38 -.926l-2.852 -5.78a1 1 0 0 0 -1.794 0l-2.853 5.78z"
stroke-width="0"
fill="currentColor"
></path>
</svg>
</span>
</button>
<button class="switch-icon switch-icon-flip" data-bs-toggle="switch-icon">
<span class="switch-icon-a text-secondary">
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-thumb-up" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-thumb-up"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M7 11v8a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1v-7a1 1 0 0 1 1 -1h3a4 4 0 0 0 4 -4v-1a2 2 0 0 1 4 0v5h3a2 2 0 0 1 2 2l-1 5a2 3 0 0 1 -2 2h-7a3 3 0 0 1 -3 -3"></path>
<path
d="M7 11v8a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1v-7a1 1 0 0 1 1 -1h3a4 4 0 0 0 4 -4v-1a2 2 0 0 1 4 0v5h3a2 2 0 0 1 2 2l-1 5a2 3 0 0 1 -2 2h-7a3 3 0 0 1 -3 -3"
></path>
</svg>
</span>
<span class="switch-icon-b text-facebook">
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-thumb-up-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-thumb-up-filled"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M13 3a3 3 0 0 1 2.995 2.824l.005 .176v4h2a3 3 0 0 1 2.98 2.65l.015 .174l.005 .176l-.02 .196l-1.006 5.032c-.381 1.626 -1.502 2.796 -2.81 2.78l-.164 -.008h-8a1 1 0 0 1 -.993 -.883l-.007 -.117l.001 -9.536a1 1 0 0 1 .5 -.865a2.998 2.998 0 0 0 1.492 -2.397l.007 -.202v-1a3 3 0 0 1 3 -3z" stroke-width="0" fill="currentColor"></path>
<path d="M5 10a1 1 0 0 1 .993 .883l.007 .117v9a1 1 0 0 1 -.883 .993l-.117 .007h-1a2 2 0 0 1 -1.995 -1.85l-.005 -.15v-7a2 2 0 0 1 1.85 -1.995l.15 -.005h1z" stroke-width="0" fill="currentColor"></path>
<path
d="M13 3a3 3 0 0 1 2.995 2.824l.005 .176v4h2a3 3 0 0 1 2.98 2.65l.015 .174l.005 .176l-.02 .196l-1.006 5.032c-.381 1.626 -1.502 2.796 -2.81 2.78l-.164 -.008h-8a1 1 0 0 1 -.993 -.883l-.007 -.117l.001 -9.536a1 1 0 0 1 .5 -.865a2.998 2.998 0 0 0 1.492 -2.397l.007 -.202v-1a3 3 0 0 1 3 -3z"
stroke-width="0"
fill="currentColor"
></path>
<path
d="M5 10a1 1 0 0 1 .993 .883l.007 .117v9a1 1 0 0 1 -.883 .993l-.117 .007h-1a2 2 0 0 1 -1.995 -1.85l-.005 -.15v-7a2 2 0 0 1 1.85 -1.995l.15 -.005h1z"
stroke-width="0"
fill="currentColor"
></path>
</svg>
</span>
</button>
<button class="switch-icon switch-icon-slide-up" data-bs-toggle="switch-icon">
<span class="switch-icon-a text-secondary">
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M22 4.01c-1 .49 -1.98 .689 -3 .99c-1.121 -1.265 -2.783 -1.335 -4.38 -.737s-2.643 2.06 -2.62 3.737v1c-3.245 .083 -6.135 -1.395 -8 -4c0 0 -4.182 7.433 4 11c-1.872 1.247 -3.739 2.088 -6 2c3.308 1.803 6.913 2.423 10.034 1.517c3.58 -1.04 6.522 -3.723 7.651 -7.742a13.84 13.84 0 0 0 .497 -3.753c-.002 -.249 1.51 -2.772 1.818 -4.013z" />
<path
d="M22 4.01c-1 .49 -1.98 .689 -3 .99c-1.121 -1.265 -2.783 -1.335 -4.38 -.737s-2.643 2.06 -2.62 3.737v1c-3.245 .083 -6.135 -1.395 -8 -4c0 0 -4.182 7.433 4 11c-1.872 1.247 -3.739 2.088 -6 2c3.308 1.803 6.913 2.423 10.034 1.517c3.58 -1.04 6.522 -3.723 7.651 -7.742a13.84 13.84 0 0 0 .497 -3.753c-.002 -.249 1.51 -2.772 1.818 -4.013z"
/>
</svg>
</span>
<span class="switch-icon-b text-twitter">
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M22 4.01c-1 .49 -1.98 .689 -3 .99c-1.121 -1.265 -2.783 -1.335 -4.38 -.737s-2.643 2.06 -2.62 3.737v1c-3.245 .083 -6.135 -1.395 -8 -4c0 0 -4.182 7.433 4 11c-1.872 1.247 -3.739 2.088 -6 2c3.308 1.803 6.913 2.423 10.034 1.517c3.58 -1.04 6.522 -3.723 7.651 -7.742a13.84 13.84 0 0 0 .497 -3.753c-.002 -.249 1.51 -2.772 1.818 -4.013z" />
<path
d="M22 4.01c-1 .49 -1.98 .689 -3 .99c-1.121 -1.265 -2.783 -1.335 -4.38 -.737s-2.643 2.06 -2.62 3.737v1c-3.245 .083 -6.135 -1.395 -8 -4c0 0 -4.182 7.433 4 11c-1.872 1.247 -3.739 2.088 -6 2c3.308 1.803 6.913 2.423 10.034 1.517c3.58 -1.04 6.522 -3.723 7.651 -7.742a13.84 13.84 0 0 0 .497 -3.753c-.002 -.249 1.51 -2.772 1.818 -4.013z"
/>
</svg>
</span>
</button>
<button class="switch-icon switch-icon-slide-left" data-bs-toggle="switch-icon">
<span class="switch-icon-a text-secondary">
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M5 12l5 5l10 -10" />
</svg>
</span>
<span class="switch-icon-b text-red">
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<line x1="18" y1="6" x2="6" y2="18" />
<line x1="6" y1="6" x2="18" y2="18" />
@@ -119,7 +305,18 @@ You can also add a fancy animation to add variety to your button. See demo below
</button>
<button class="switch-icon switch-icon-slide-down" data-bs-toggle="switch-icon">
<span class="switch-icon-a text-secondary">
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<line x1="12" y1="5" x2="12" y2="19" />
<line x1="18" y1="13" x2="12" y2="19" />
@@ -127,7 +324,18 @@ You can also add a fancy animation to add variety to your button. See demo below
</svg>
</span>
<span class="switch-icon-b text-secondary">
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<line x1="12" y1="5" x2="12" y2="19" />
<line x1="18" y1="11" x2="12" y2="5" />
@@ -137,7 +345,18 @@ You can also add a fancy animation to add variety to your button. See demo below
</button>
<button class="switch-icon switch-icon-slide-right" data-bs-toggle="switch-icon">
<span class="switch-icon-a text-secondary">
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<circle cx="7" cy="17" r="2" />
<circle cx="17" cy="17" r="2" />
@@ -145,7 +364,18 @@ You can also add a fancy animation to add variety to your button. See demo below
</svg>
</span>
<span class="switch-icon-b text-secondary">
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<circle cx="18" cy="17" r="2" />
<circle cx="6" cy="17" r="2" />

View File

@@ -1,6 +1,6 @@
---
title: Tables
summary: Tables are a useful interface element that allows to visualise data and arrange it in a clear way. Thanks to that, users can browse a lot of information at once and a good table design will help you take care of its clarity.
summary: Tables are useful interface elements that allow you to visualize data and arrange it in a clear way. Thanks to that, users can browse a lot of information at once and a good table design will help you take care of its clarity.
bootstrapLink: content/tables/
description: Visualize data clearly with tables.
---
@@ -26,75 +26,55 @@ The `.table` class adds basic styling to a table:
<tbody>
<tr>
<td>Paweł Kuna</td>
<td class="text-secondary">
UI Designer, Training
</td>
<td class="text-secondary">UI Designer, Training</td>
<td class="text-secondary">
<a href="#" class="text-reset">paweluna@howstuffworks.com</a>
</td>
<td class="text-secondary">
User
</td>
<td class="text-secondary">User</td>
<td>
<a href="#">Edit</a>
</td>
</tr>
<tr>
<td>Jeffie Lewzey</td>
<td class="text-secondary">
Chemical Engineer, Support
</td>
<td class="text-secondary">Chemical Engineer, Support</td>
<td class="text-secondary">
<a href="#" class="text-reset">jlewzey1@seesaa.net</a>
</td>
<td class="text-secondary">
Admin
</td>
<td class="text-secondary">Admin</td>
<td>
<a href="#">Edit</a>
</td>
</tr>
<tr>
<td>Mallory Hulme</td>
<td class="text-secondary">
Geologist IV, Support
</td>
<td class="text-secondary">Geologist IV, Support</td>
<td class="text-secondary">
<a href="#" class="text-reset">mhulme2@domainmarket.com</a>
</td>
<td class="text-secondary">
User
</td>
<td class="text-secondary">User</td>
<td>
<a href="#">Edit</a>
</td>
</tr>
<tr>
<td>Dunn Slane</td>
<td class="text-secondary">
Research Nurse, Sales
</td>
<td class="text-secondary">Research Nurse, Sales</td>
<td class="text-secondary">
<a href="#" class="text-reset">dslane3@epa.gov</a>
</td>
<td class="text-secondary">
Owner
</td>
<td class="text-secondary">Owner</td>
<td>
<a href="#">Edit</a>
</td>
</tr>
<tr>
<td>Emmy Levet</td>
<td class="text-secondary">
VP Product Management, Accounting
</td>
<td class="text-secondary">VP Product Management, Accounting</td>
<td class="text-secondary">
<a href="#" class="text-reset">elevet4@senate.gov</a>
</td>
<td class="text-secondary">
Admin
</td>
<td class="text-secondary">Admin</td>
<td>
<a href="#">Edit</a>
</td>
@@ -181,9 +161,11 @@ If you don't want the table cell content to wrap to another line, use the `table
<a href="#" class="text-reset">paweluna@howstuffworks.com</a>
</td>
<td class="text-secondary">User</td>
<td>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Animi, commodi cupiditate debitis deserunt
expedita hic incidunt iste modi molestiae nesciunt non nostrum perferendis perspiciatis placeat praesentium
quaerat quo repellendus, voluptates.</td>
<td>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Animi, commodi cupiditate
debitis deserunt expedita hic incidunt iste modi molestiae nesciunt non nostrum
perferendis perspiciatis placeat praesentium quaerat quo repellendus, voluptates.
</td>
<td>
<a href="#">Edit</a>
</td>
@@ -209,18 +191,15 @@ If you don't want the table cell content to wrap to another line, use the `table
<tbody>
<tr>
<td>Paweł Kuna</td>
<td class="text-secondary">
UI Designer, Training
</td>
<td class="text-secondary">UI Designer, Training</td>
<td class="text-secondary">
<a href="#" class="text-reset">paweluna@howstuffworks.com</a>
</td>
<td class="text-secondary">
User
</td>
<td>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Animi, commodi cupiditate debitis deserunt
expedita hic incidunt iste modi molestiae nesciunt non nostrum perferendis perspiciatis placeat praesentium
quaerat quo repellendus, voluptates.
<td class="text-secondary">User</td>
<td>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Animi, commodi cupiditate
debitis deserunt expedita hic incidunt iste modi molestiae nesciunt non nostrum
perferendis perspiciatis placeat praesentium quaerat quo repellendus, voluptates.
</td>
<td>
<a href="#">Edit</a>
@@ -228,18 +207,15 @@ If you don't want the table cell content to wrap to another line, use the `table
</tr>
<tr>
<td>Jeffie Lewzey</td>
<td class="text-secondary">
Chemical Engineer, Support
</td>
<td class="text-secondary">Chemical Engineer, Support</td>
<td class="text-secondary">
<a href="#" class="text-reset">jlewzey1@seesaa.net</a>
</td>
<td class="text-secondary">
Admin
</td>
<td>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Animi, commodi cupiditate debitis deserunt
expedita hic incidunt iste modi molestiae nesciunt non nostrum perferendis perspiciatis placeat praesentium
quaerat quo repellendus, voluptates.
<td class="text-secondary">Admin</td>
<td>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Animi, commodi cupiditate
debitis deserunt expedita hic incidunt iste modi molestiae nesciunt non nostrum
perferendis perspiciatis placeat praesentium quaerat quo repellendus, voluptates.
</td>
<td>
<a href="#">Edit</a>
@@ -247,18 +223,15 @@ If you don't want the table cell content to wrap to another line, use the `table
</tr>
<tr>
<td>Mallory Hulme</td>
<td class="text-secondary">
Geologist IV, Support
</td>
<td class="text-secondary">Geologist IV, Support</td>
<td class="text-secondary">
<a href="#" class="text-reset">mhulme2@domainmarket.com</a>
</td>
<td class="text-secondary">
User
</td>
<td>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Animi, commodi cupiditate debitis deserunt
expedita hic incidunt iste modi molestiae nesciunt non nostrum perferendis perspiciatis placeat praesentium
quaerat quo repellendus, voluptates.
<td class="text-secondary">User</td>
<td>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Animi, commodi cupiditate
debitis deserunt expedita hic incidunt iste modi molestiae nesciunt non nostrum
perferendis perspiciatis placeat praesentium quaerat quo repellendus, voluptates.
</td>
<td>
<a href="#">Edit</a>
@@ -266,18 +239,15 @@ If you don't want the table cell content to wrap to another line, use the `table
</tr>
<tr>
<td>Dunn Slane</td>
<td class="text-secondary">
Research Nurse, Sales
</td>
<td class="text-secondary">Research Nurse, Sales</td>
<td class="text-secondary">
<a href="#" class="text-reset">dslane3@epa.gov</a>
</td>
<td class="text-secondary">
Owner
</td>
<td>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Animi, commodi cupiditate debitis deserunt
expedita hic incidunt iste modi molestiae nesciunt non nostrum perferendis perspiciatis placeat praesentium
quaerat quo repellendus, voluptates.
<td class="text-secondary">Owner</td>
<td>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Animi, commodi cupiditate
debitis deserunt expedita hic incidunt iste modi molestiae nesciunt non nostrum
perferendis perspiciatis placeat praesentium quaerat quo repellendus, voluptates.
</td>
<td>
<a href="#">Edit</a>
@@ -285,18 +255,15 @@ If you don't want the table cell content to wrap to another line, use the `table
</tr>
<tr>
<td>Emmy Levet</td>
<td class="text-secondary">
VP Product Management, Accounting
</td>
<td class="text-secondary">VP Product Management, Accounting</td>
<td class="text-secondary">
<a href="#" class="text-reset">elevet4@senate.gov</a>
</td>
<td class="text-secondary">
Admin
</td>
<td>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Animi, commodi cupiditate debitis deserunt
expedita hic incidunt iste modi molestiae nesciunt non nostrum perferendis perspiciatis placeat praesentium
quaerat quo repellendus, voluptates.
<td class="text-secondary">Admin</td>
<td>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Animi, commodi cupiditate
debitis deserunt expedita hic incidunt iste modi molestiae nesciunt non nostrum
perferendis perspiciatis placeat praesentium quaerat quo repellendus, voluptates.
</td>
<td>
<a href="#">Edit</a>

View File

@@ -25,11 +25,17 @@ Use tabs to let users access different sections within one context quickly and w
<div class="tab-content">
<div class="tab-pane active show" id="tabs-home-ex1">
<h4>Home tab</h4>
<div>Cursus turpis vestibulum, dui in pharetra vulputate id sed non turpis ultricies fringilla at sed facilisis lacus pellentesque purus nibh</div>
<div>
Cursus turpis vestibulum, dui in pharetra vulputate id sed non turpis ultricies fringilla
at sed facilisis lacus pellentesque purus nibh
</div>
</div>
<div class="tab-pane" id="tabs-profile-ex1">
<h4>Profile tab</h4>
<div>Fringilla egestas nunc quis tellus diam rhoncus ultricies tristique enim at diam, sem nunc amet, pellentesque id egestas velit sed</div>
<div>
Fringilla egestas nunc quis tellus diam rhoncus ultricies tristique enim at diam, sem nunc
amet, pellentesque id egestas velit sed
</div>
</div>
</div>
</div>
@@ -46,28 +52,65 @@ Add icons to your tab labels, if you want to use a visual element and make the t
<ul class="nav nav-tabs card-header-tabs" data-bs-toggle="tabs">
<li class="nav-item">
<a href="#tabs-home-ex2" class="nav-link active" data-bs-toggle="tab">
<svg xmlns="http://www.w3.org/2000/svg" class="icon me-2" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon me-2"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<polyline points="5 12 3 12 12 3 21 12 19 12" />
<path d="M5 12v7a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-7" />
<path d="M9 21v-6a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v6" />
</svg> Home
</svg>
Home
</a>
</li>
<li class="nav-item">
<a href="#tabs-profile-ex2" class="nav-link" data-bs-toggle="tab">
<svg xmlns="http://www.w3.org/2000/svg" class="icon me-2" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon me-2"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<circle cx="12" cy="7" r="4" />
<path d="M6 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2" />
</svg> Profile
</svg>
Profile
</a>
</li>
<li class="nav-item ms-auto">
<a href="#tabs-settings-ex2" class="nav-link" title="Settings" data-bs-toggle="tab">
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M10.325 4.317c.426 -1.756 2.924 -1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543 -.94 3.31 .826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.756 .426 1.756 2.924 0 3.35a1.724 1.724 0 0 0 -1.066 2.573c.94 1.543 -.826 3.31 -2.37 2.37a1.724 1.724 0 0 0 -2.572 1.065c-.426 1.756 -2.924 1.756 -3.35 0a1.724 1.724 0 0 0 -2.573 -1.066c-1.543 .94 -3.31 -.826 -2.37 -2.37a1.724 1.724 0 0 0 -1.065 -2.572c-1.756 -.426 -1.756 -2.924 0 -3.35a1.724 1.724 0 0 0 1.066 -2.573c-.94 -1.543 .826 -3.31 2.37 -2.37c1 .608 2.296 .07 2.572 -1.065z" />
<path
d="M10.325 4.317c.426 -1.756 2.924 -1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543 -.94 3.31 .826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.756 .426 1.756 2.924 0 3.35a1.724 1.724 0 0 0 -1.066 2.573c.94 1.543 -.826 3.31 -2.37 2.37a1.724 1.724 0 0 0 -2.572 1.065c-.426 1.756 -2.924 1.756 -3.35 0a1.724 1.724 0 0 0 -2.573 -1.066c-1.543 .94 -3.31 -.826 -2.37 -2.37a1.724 1.724 0 0 0 -1.065 -2.572c-1.756 -.426 -1.756 -2.924 0 -3.35a1.724 1.724 0 0 0 1.066 -2.573c-.94 -1.543 .826 -3.31 2.37 -2.37c1 .608 2.296 .07 2.572 -1.065z"
/>
<circle cx="12" cy="12" r="3" />
</svg>
</a>
@@ -78,15 +121,24 @@ Add icons to your tab labels, if you want to use a visual element and make the t
<div class="tab-content">
<div class="tab-pane active show" id="tabs-home-ex2">
<h4>Home tab</h4>
<div>Cursus turpis vestibulum, dui in pharetra vulputate id sed non turpis ultricies fringilla at sed facilisis lacus pellentesque purus nibh</div>
<div>
Cursus turpis vestibulum, dui in pharetra vulputate id sed non turpis ultricies fringilla
at sed facilisis lacus pellentesque purus nibh
</div>
</div>
<div class="tab-pane" id="tabs-profile-ex2">
<h4>Profile tab</h4>
<div>Fringilla egestas nunc quis tellus diam rhoncus ultricies tristique enim at diam, sem nunc amet, pellentesque id egestas velit sed</div>
<div>
Fringilla egestas nunc quis tellus diam rhoncus ultricies tristique enim at diam, sem nunc
amet, pellentesque id egestas velit sed
</div>
</div>
<div class="tab-pane" id="tabs-settings-ex2">
<h4>Settings tab</h4>
<div>Donec ac vitae diam amet vel leo egestas consequat rhoncus in luctus amet, facilisi sit mauris accumsan nibh habitant senectus</div>
<div>
Donec ac vitae diam amet vel leo egestas consequat rhoncus in luctus amet, facilisi sit
mauris accumsan nibh habitant senectus
</div>
</div>
</div>
</div>
@@ -103,7 +155,18 @@ Use tabs without label names to save space and make the tab content easy to reco
<ul class="nav nav-tabs card-header-tabs" data-bs-toggle="tabs">
<li class="nav-item">
<a href="#tabs-home-ex3" class="nav-link active" data-bs-toggle="tab">
<svg xmlns="http://www.w3.org/2000/svg" class="icon " width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<polyline points="5 12 3 12 12 3 21 12 19 12" />
<path d="M5 12v7a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-7" />
@@ -113,7 +176,18 @@ Use tabs without label names to save space and make the tab content easy to reco
</li>
<li class="nav-item">
<a href="#tabs-profile-ex3" class="nav-link" data-bs-toggle="tab">
<svg xmlns="http://www.w3.org/2000/svg" class="icon " width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<circle cx="12" cy="7" r="4" />
<path d="M6 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2" />
@@ -122,9 +196,22 @@ Use tabs without label names to save space and make the tab content easy to reco
</li>
<li class="nav-item ms-auto">
<a href="#tabs-settings-ex3" class="nav-link" title="Settings" data-bs-toggle="tab">
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M10.325 4.317c.426 -1.756 2.924 -1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543 -.94 3.31 .826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.756 .426 1.756 2.924 0 3.35a1.724 1.724 0 0 0 -1.066 2.573c.94 1.543 -.826 3.31 -2.37 2.37a1.724 1.724 0 0 0 -2.572 1.065c-.426 1.756 -2.924 1.756 -3.35 0a1.724 1.724 0 0 0 -2.573 -1.066c-1.543 .94 -3.31 -.826 -2.37 -2.37a1.724 1.724 0 0 0 -1.065 -2.572c-1.756 -.426 -1.756 -2.924 0 -3.35a1.724 1.724 0 0 0 1.066 -2.573c-.94 -1.543 .826 -3.31 2.37 -2.37c1 .608 2.296 .07 2.572 -1.065z" />
<path
d="M10.325 4.317c.426 -1.756 2.924 -1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543 -.94 3.31 .826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.756 .426 1.756 2.924 0 3.35a1.724 1.724 0 0 0 -1.066 2.573c.94 1.543 -.826 3.31 -2.37 2.37a1.724 1.724 0 0 0 -2.572 1.065c-.426 1.756 -2.924 1.756 -3.35 0a1.724 1.724 0 0 0 -2.573 -1.066c-1.543 .94 -3.31 -.826 -2.37 -2.37a1.724 1.724 0 0 0 -1.065 -2.572c-1.756 -.426 -1.756 -2.924 0 -3.35a1.724 1.724 0 0 0 1.066 -2.573c-.94 -1.543 .826 -3.31 2.37 -2.37c1 .608 2.296 .07 2.572 -1.065z"
/>
<circle cx="12" cy="12" r="3" />
</svg>
</a>
@@ -135,15 +222,24 @@ Use tabs without label names to save space and make the tab content easy to reco
<div class="tab-content">
<div class="tab-pane active show" id="tabs-home-ex3">
<h4>Home tab</h4>
<div>Cursus turpis vestibulum, dui in pharetra vulputate id sed non turpis ultricies fringilla at sed facilisis lacus pellentesque purus nibh</div>
<div>
Cursus turpis vestibulum, dui in pharetra vulputate id sed non turpis ultricies fringilla
at sed facilisis lacus pellentesque purus nibh
</div>
</div>
<div class="tab-pane" id="tabs-profile-ex3">
<h4>Profile tab</h4>
<div>Fringilla egestas nunc quis tellus diam rhoncus ultricies tristique enim at diam, sem nunc amet, pellentesque id egestas velit sed</div>
<div>
Fringilla egestas nunc quis tellus diam rhoncus ultricies tristique enim at diam, sem nunc
amet, pellentesque id egestas velit sed
</div>
</div>
<div class="tab-pane" id="tabs-settings-ex3">
<h4>Settings tab</h4>
<div>Donec ac vitae diam amet vel leo egestas consequat rhoncus in luctus amet, facilisi sit mauris accumsan nibh habitant senectus</div>
<div>
Donec ac vitae diam amet vel leo egestas consequat rhoncus in luctus amet, facilisi sit
mauris accumsan nibh habitant senectus
</div>
</div>
</div>
</div>
@@ -165,14 +261,17 @@ Make one or more of your tabs into a dropdown to add more options within one ele
<a href="#tabs-profile-ex4" class="nav-link" data-bs-toggle="tab">Profile</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown</a>
<a
class="nav-link dropdown-toggle"
data-bs-toggle="dropdown"
role="button"
aria-haspopup="true"
aria-expanded="false"
>Dropdown</a
>
<div class="dropdown-menu">
<a class="dropdown-item" href="#">
Action
</a>
<a class="dropdown-item" href="#">
Another action
</a>
<a class="dropdown-item" href="#"> Action </a>
<a class="dropdown-item" href="#"> Another action </a>
</div>
</li>
</ul>
@@ -181,11 +280,17 @@ Make one or more of your tabs into a dropdown to add more options within one ele
<div class="tab-content">
<div class="tab-pane active show" id="tabs-home-ex4">
<h4>Home tab</h4>
<div>Cursus turpis vestibulum, dui in pharetra vulputate id sed non turpis ultricies fringilla at sed facilisis lacus pellentesque purus nibh</div>
<div>
Cursus turpis vestibulum, dui in pharetra vulputate id sed non turpis ultricies fringilla
at sed facilisis lacus pellentesque purus nibh
</div>
</div>
<div class="tab-pane" id="tabs-profile-ex4">
<h4>Profile tab</h4>
<div>Fringilla egestas nunc quis tellus diam rhoncus ultricies tristique enim at diam, sem nunc amet, pellentesque id egestas velit sed</div>
<div>
Fringilla egestas nunc quis tellus diam rhoncus ultricies tristique enim at diam, sem nunc
amet, pellentesque id egestas velit sed
</div>
</div>
</div>
</div>
@@ -194,7 +299,7 @@ Make one or more of your tabs into a dropdown to add more options within one ele
## Full-width tabs
Add the `nav-fill` class to make the tabs take up the full space of the parent element.
Add the `.nav-fill` class to make the tabs take up the full space of the parent element.
```html example centered columns={1} height="20rem"
<div class="card">
@@ -202,7 +307,18 @@ Add the `nav-fill` class to make the tabs take up the full space of the parent e
<ul class="nav nav-tabs card-header-tabs nav-fill" data-bs-toggle="tabs">
<li class="nav-item">
<a href="#tabs-home-ex5" class="nav-link active" data-bs-toggle="tab">
<svg xmlns="http://www.w3.org/2000/svg" class="icon " width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<polyline points="5 12 3 12 12 3 21 12 19 12" />
<path d="M5 12v7a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-7" />
@@ -212,7 +328,18 @@ Add the `nav-fill` class to make the tabs take up the full space of the parent e
</li>
<li class="nav-item">
<a href="#tabs-profile-ex5" class="nav-link" data-bs-toggle="tab">
<svg xmlns="http://www.w3.org/2000/svg" class="icon " width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<circle cx="12" cy="7" r="4" />
<path d="M6 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2" />
@@ -221,7 +348,18 @@ Add the `nav-fill` class to make the tabs take up the full space of the parent e
</li>
<li class="nav-item">
<a href="#tabs-activity-ex5" class="nav-link" data-bs-toggle="tab">
<svg xmlns="http://www.w3.org/2000/svg" class="icon " width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M3 12h4l3 8l4 -16l3 8h4" />
</svg>
@@ -233,15 +371,24 @@ Add the `nav-fill` class to make the tabs take up the full space of the parent e
<div class="tab-content">
<div class="tab-pane active show" id="tabs-home-ex5">
<h4>Home tab</h4>
<div>Cursus turpis vestibulum, dui in pharetra vulputate id sed non turpis ultricies fringilla at sed facilisis lacus pellentesque purus nibh</div>
<div>
Cursus turpis vestibulum, dui in pharetra vulputate id sed non turpis ultricies fringilla
at sed facilisis lacus pellentesque purus nibh
</div>
</div>
<div class="tab-pane" id="tabs-profile-ex5">
<h4>Profile tab</h4>
<div>Fringilla egestas nunc quis tellus diam rhoncus ultricies tristique enim at diam, sem nunc amet, pellentesque id egestas velit sed</div>
<div>
Fringilla egestas nunc quis tellus diam rhoncus ultricies tristique enim at diam, sem nunc
amet, pellentesque id egestas velit sed
</div>
</div>
<div class="tab-pane" id="tabs-activity-ex5">
<h4>Activity tab</h4>
<div>Donec ac vitae diam amet vel leo egestas consequat rhoncus in luctus amet, facilisi sit mauris accumsan nibh habitant senectus</div>
<div>
Donec ac vitae diam amet vel leo egestas consequat rhoncus in luctus amet, facilisi sit
mauris accumsan nibh habitant senectus
</div>
</div>
</div>
</div>

View File

@@ -6,15 +6,28 @@ description: Visualize events and processes clearly.
## Timeline
The available timeline design is comprised of many components that will help you visualize a process or show an outline of events. Thanks to the possibility of adding icons, avatars and links and the way of presenting the elements of content, your timeline will be clear for users and will make yor website or app more attractive.
The available timeline design is composed of many components that will help you visualize a process or show an outline of events. Thanks to the possibility of adding icons, avatars and links and the way of presenting the elements of content, your timeline will be clear for users and will make your website or app more attractive.
```html example height="400px" scrollable background="base"
<ul class="timeline">
<li class="timeline-event">
<div class="timeline-event-icon bg-twitter-lt">
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M22 4.01c-1 .49 -1.98 .689 -3 .99c-1.121 -1.265 -2.783 -1.335 -4.38 -.737s-2.643 2.06 -2.62 3.737v1c-3.245 .083 -6.135 -1.395 -8 -4c0 0 -4.182 7.433 4 11c-1.872 1.247 -3.739 2.088 -6 2c3.308 1.803 6.913 2.423 10.034 1.517c3.58 -1.04 6.522 -3.723 7.651 -7.742a13.84 13.84 0 0 0 .497 -3.753c-.002 -.249 1.51 -2.772 1.818 -4.013z" />
<path
d="M22 4.01c-1 .49 -1.98 .689 -3 .99c-1.121 -1.265 -2.783 -1.335 -4.38 -.737s-2.643 2.06 -2.62 3.737v1c-3.245 .083 -6.135 -1.395 -8 -4c0 0 -4.182 7.433 4 11c-1.872 1.247 -3.739 2.088 -6 2c3.308 1.803 6.913 2.423 10.034 1.517c3.58 -1.04 6.522 -3.723 7.651 -7.742a13.84 13.84 0 0 0 .497 -3.753c-.002 -.249 1.51 -2.772 1.818 -4.013z"
/>
</svg>
</div>
<div class="card timeline-event-card">
@@ -27,7 +40,18 @@ The available timeline design is comprised of many components that will help you
</li>
<li class="timeline-event">
<div class="timeline-event-icon">
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<rect x="3" y="7" width="18" height="13" rx="2" />
<path d="M8 7v-2a2 2 0 0 1 2 -2h4a2 2 0 0 1 2 2v2" />
@@ -45,7 +69,18 @@ The available timeline design is comprised of many components that will help you
</li>
<li class="timeline-event">
<div class="timeline-event-icon">
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M5 12l5 5l10 -10" />
</svg>
@@ -60,7 +95,18 @@ The available timeline design is comprised of many components that will help you
</li>
<li class="timeline-event">
<div class="timeline-event-icon bg-facebook-lt">
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M7 10v4h3v7h4v-7h3l1 -4h-4v-2a1 1 0 0 1 1 -1h3v-4h-3a5 5 0 0 0 -5 5v2h-3" />
</svg>
@@ -75,7 +121,18 @@ The available timeline design is comprised of many components that will help you
</li>
<li class="timeline-event">
<div class="timeline-event-icon">
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<circle cx="9" cy="7" r="4" />
<path d="M3 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2" />
@@ -90,9 +147,7 @@ The available timeline design is comprised of many components that will help you
<span class="avatar" style="background-image: url(...)">
<span class="badge bg-success"></span>
</span>
<span class="avatar">
<span class="badge bg-success"></span>JL
</span>
<span class="avatar"> <span class="badge bg-success"></span>JL </span>
<span class="avatar" style="background-image: url(...)">
<span class="badge bg-success"></span>
</span>
@@ -102,7 +157,18 @@ The available timeline design is comprised of many components that will help you
</li>
<li class="timeline-event">
<div class="timeline-event-icon">
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<line x1="15" y1="8" x2="15.01" y2="8" />
<rect x="4" y="4" width="16" height="16" rx="3" />
@@ -133,9 +199,22 @@ The available timeline design is comprised of many components that will help you
</li>
<li class="timeline-event">
<div class="timeline-event-icon">
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M10.325 4.317c.426 -1.756 2.924 -1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543 -.94 3.31 .826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.756 .426 1.756 2.924 0 3.35a1.724 1.724 0 0 0 -1.066 2.573c.94 1.543 -.826 3.31 -2.37 2.37a1.724 1.724 0 0 0 -2.572 1.065c-.426 1.756 -2.924 1.756 -3.35 0a1.724 1.724 0 0 0 -2.573 -1.066c-1.543 .94 -3.31 -.826 -2.37 -2.37a1.724 1.724 0 0 0 -1.065 -2.572c-1.756 -.426 -1.756 -2.924 0 -3.35a1.724 1.724 0 0 0 1.066 -2.573c-.94 -1.543 .826 -3.31 2.37 -2.37c1 .608 2.296 .07 2.572 -1.065z" />
<path
d="M10.325 4.317c.426 -1.756 2.924 -1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543 -.94 3.31 .826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.756 .426 1.756 2.924 0 3.35a1.724 1.724 0 0 0 -1.066 2.573c.94 1.543 -.826 3.31 -2.37 2.37a1.724 1.724 0 0 0 -2.572 1.065c-.426 1.756 -2.924 1.756 -3.35 0a1.724 1.724 0 0 0 -2.573 -1.066c-1.543 .94 -3.31 -.826 -2.37 -2.37a1.724 1.724 0 0 0 -1.065 -2.572c-1.756 -.426 -1.756 -2.924 0 -3.35a1.724 1.724 0 0 0 1.066 -2.573c-.94 -1.543 .826 -3.31 2.37 -2.37c1 .608 2.296 .07 2.572 -1.065z"
/>
<circle cx="12" cy="12" r="3" />
</svg>
</div>
@@ -143,8 +222,9 @@ The available timeline design is comprised of many components that will help you
<div class="card-body">
<div class="text-secondary float-end">2 weeks ago</div>
<h4>System updated to v2.02</h4>
<p class="text-secondary">Check the complete changelog at the <a href="#">activity
page</a>.</p>
<p class="text-secondary">
Check the complete changelog at the <a href="#">activity page</a>.
</p>
</div>
</div>
</li>
@@ -154,7 +234,8 @@ The available timeline design is comprised of many components that will help you
```html
<ul class="timeline">
<li class="timeline-event">
<div class="timeline-event-icon bg-twitter-lt"><!-- SVG icon from http://tabler.io/icons/icon/brand-twitter -->
<div class="timeline-event-icon bg-twitter-lt">
<!-- SVG icon from http://tabler.io/icons/icon/brand-twitter -->
<svg>...</svg>
</div>
<div class="card timeline-event-card">
@@ -166,7 +247,8 @@ The available timeline design is comprised of many components that will help you
</div>
</li>
<li class="timeline-event">
<div class="timeline-event-icon"><!-- SVG icon from http://tabler.io/icons/icon/briefcase -->
<div class="timeline-event-icon">
<!-- SVG icon from http://tabler.io/icons/icon/briefcase -->
<svg>...</svg>
</div>
<div class="card timeline-event-card">
@@ -178,7 +260,8 @@ The available timeline design is comprised of many components that will help you
</div>
</li>
<li class="timeline-event">
<div class="timeline-event-icon"><!-- SVG icon from http://tabler.io/icons/icon/check -->
<div class="timeline-event-icon">
<!-- SVG icon from http://tabler.io/icons/icon/check -->
<svg>...</svg>
</div>
<div class="card timeline-event-card">
@@ -190,7 +273,8 @@ The available timeline design is comprised of many components that will help you
</div>
</li>
<li class="timeline-event">
<div class="timeline-event-icon bg-facebook-lt"><!-- SVG icon from http://tabler.io/icons/icon/brand-facebook -->
<div class="timeline-event-icon bg-facebook-lt">
<!-- SVG icon from http://tabler.io/icons/icon/brand-facebook -->
<svg>...</svg>
</div>
<div class="card timeline-event-card">
@@ -202,7 +286,8 @@ The available timeline design is comprised of many components that will help you
</div>
</li>
<li class="timeline-event">
<div class="timeline-event-icon"><!-- SVG icon from http://tabler.io/icons/icon/user-plus -->
<div class="timeline-event-icon">
<!-- SVG icon from http://tabler.io/icons/icon/user-plus -->
<svg>...</svg>
</div>
<div class="card timeline-event-card">
@@ -213,9 +298,7 @@ The available timeline design is comprised of many components that will help you
<span class="avatar" style="background-image: url(...)">
<span class="badge bg-success"></span>
</span>
<span class="avatar">
<span class="badge bg-success"></span>JL
</span>
<span class="avatar"> <span class="badge bg-success"></span>JL </span>
<span class="avatar" style="background-image: url(...)">
<span class="badge bg-success"></span>
</span>
@@ -224,7 +307,8 @@ The available timeline design is comprised of many components that will help you
</div>
</li>
<li class="timeline-event">
<div class="timeline-event-icon"><!-- SVG icon from http://tabler.io/icons/icon/photo -->
<div class="timeline-event-icon">
<!-- SVG icon from http://tabler.io/icons/icon/photo -->
<svg>...</svg>
</div>
<div class="card timeline-event-card">
@@ -249,15 +333,17 @@ The available timeline design is comprised of many components that will help you
</div>
</li>
<li class="timeline-event">
<div class="timeline-event-icon"><!-- SVG icon from http://tabler.io/icons/icon/settings -->
<div class="timeline-event-icon">
<!-- SVG icon from http://tabler.io/icons/icon/settings -->
<svg>...</svg>
</div>
<div class="card timeline-event-card">
<div class="card-body">
<div class="text-secondary float-end">2 weeks ago</div>
<h4>System updated to v2.02</h4>
<p class="text-secondary">Check the complete changelog at the <a href="#">activity
page</a>.</p>
<p class="text-secondary">
Check the complete changelog at the <a href="#">activity page</a>.
</p>
</div>
</div>
</li>
@@ -272,9 +358,22 @@ Use a simplified version of the timeline, if it suits your design better. You ca
<ul class="timeline timeline-simple">
<li class="timeline-event">
<div class="timeline-event-icon bg-twitter-lt">
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M22 4.01c-1 .49 -1.98 .689 -3 .99c-1.121 -1.265 -2.783 -1.335 -4.38 -.737s-2.643 2.06 -2.62 3.737v1c-3.245 .083 -6.135 -1.395 -8 -4c0 0 -4.182 7.433 4 11c-1.872 1.247 -3.739 2.088 -6 2c3.308 1.803 6.913 2.423 10.034 1.517c3.58 -1.04 6.522 -3.723 7.651 -7.742a13.84 13.84 0 0 0 .497 -3.753c-.002 -.249 1.51 -2.772 1.818 -4.013z" />
<path
d="M22 4.01c-1 .49 -1.98 .689 -3 .99c-1.121 -1.265 -2.783 -1.335 -4.38 -.737s-2.643 2.06 -2.62 3.737v1c-3.245 .083 -6.135 -1.395 -8 -4c0 0 -4.182 7.433 4 11c-1.872 1.247 -3.739 2.088 -6 2c3.308 1.803 6.913 2.423 10.034 1.517c3.58 -1.04 6.522 -3.723 7.651 -7.742a13.84 13.84 0 0 0 .497 -3.753c-.002 -.249 1.51 -2.772 1.818 -4.013z"
/>
</svg>
</div>
<div class="card timeline-event-card">
@@ -287,7 +386,18 @@ Use a simplified version of the timeline, if it suits your design better. You ca
</li>
<li class="timeline-event">
<div class="timeline-event-icon">
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<rect x="3" y="7" width="18" height="13" rx="2" />
<path d="M8 7v-2a2 2 0 0 1 2 -2h4a2 2 0 0 1 2 2v2" />
@@ -305,7 +415,18 @@ Use a simplified version of the timeline, if it suits your design better. You ca
</li>
<li class="timeline-event">
<div class="timeline-event-icon">
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M5 12l5 5l10 -10" />
</svg>
@@ -320,7 +441,18 @@ Use a simplified version of the timeline, if it suits your design better. You ca
</li>
<li class="timeline-event">
<div class="timeline-event-icon bg-facebook-lt">
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M7 10v4h3v7h4v-7h3l1 -4h-4v-2a1 1 0 0 1 1 -1h3v-4h-3a5 5 0 0 0 -5 5v2h-3" />
</svg>
@@ -335,7 +467,18 @@ Use a simplified version of the timeline, if it suits your design better. You ca
</li>
<li class="timeline-event">
<div class="timeline-event-icon">
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<circle cx="9" cy="7" r="4" />
<path d="M3 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2" />
@@ -350,9 +493,7 @@ Use a simplified version of the timeline, if it suits your design better. You ca
<span class="avatar" style="background-image: url(...)">
<span class="badge bg-success"></span>
</span>
<span class="avatar">
<span class="badge bg-success"></span>JL
</span>
<span class="avatar"> <span class="badge bg-success"></span>JL </span>
<span class="avatar" style="background-image: url(...)">
<span class="badge bg-success"></span>
</span>
@@ -362,7 +503,18 @@ Use a simplified version of the timeline, if it suits your design better. You ca
</li>
<li class="timeline-event">
<div class="timeline-event-icon">
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<line x1="15" y1="8" x2="15.01" y2="8" />
<rect x="4" y="4" width="16" height="16" rx="3" />
@@ -393,9 +545,22 @@ Use a simplified version of the timeline, if it suits your design better. You ca
</li>
<li class="timeline-event">
<div class="timeline-event-icon">
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M10.325 4.317c.426 -1.756 2.924 -1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543 -.94 3.31 .826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.756 .426 1.756 2.924 0 3.35a1.724 1.724 0 0 0 -1.066 2.573c.94 1.543 -.826 3.31 -2.37 2.37a1.724 1.724 0 0 0 -2.572 1.065c-.426 1.756 -2.924 1.756 -3.35 0a1.724 1.724 0 0 0 -2.573 -1.066c-1.543 .94 -3.31 -.826 -2.37 -2.37a1.724 1.724 0 0 0 -1.065 -2.572c-1.756 -.426 -1.756 -2.924 0 -3.35a1.724 1.724 0 0 0 1.066 -2.573c-.94 -1.543 .826 -3.31 2.37 -2.37c1 .608 2.296 .07 2.572 -1.065z" />
<path
d="M10.325 4.317c.426 -1.756 2.924 -1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543 -.94 3.31 .826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.756 .426 1.756 2.924 0 3.35a1.724 1.724 0 0 0 -1.066 2.573c.94 1.543 -.826 3.31 -2.37 2.37a1.724 1.724 0 0 0 -2.572 1.065c-.426 1.756 -2.924 1.756 -3.35 0a1.724 1.724 0 0 0 -2.573 -1.066c-1.543 .94 -3.31 -.826 -2.37 -2.37a1.724 1.724 0 0 0 -1.065 -2.572c-1.756 -.426 -1.756 -2.924 0 -3.35a1.724 1.724 0 0 0 1.066 -2.573c-.94 -1.543 .826 -3.31 2.37 -2.37c1 .608 2.296 .07 2.572 -1.065z"
/>
<circle cx="12" cy="12" r="3" />
</svg>
</div>
@@ -403,8 +568,9 @@ Use a simplified version of the timeline, if it suits your design better. You ca
<div class="card-body">
<div class="text-secondary float-end">2 weeks ago</div>
<h4>System updated to v2.02</h4>
<p class="text-secondary">Check the complete changelog at the <a href="#">activity
page</a>.</p>
<p class="text-secondary">
Check the complete changelog at the <a href="#">activity page</a>.
</p>
</div>
</div>
</li>
@@ -414,7 +580,8 @@ Use a simplified version of the timeline, if it suits your design better. You ca
```html
<ul class="timeline timeline-simple">
<li class="timeline-event">
<div class="timeline-event-icon bg-twitter-lt"><!-- SVG icon from http://tabler.io/icons/icon/brand-twitter -->
<div class="timeline-event-icon bg-twitter-lt">
<!-- SVG icon from http://tabler.io/icons/icon/brand-twitter -->
<svg>...</svg>
</div>
<div class="card timeline-event-card">
@@ -426,7 +593,8 @@ Use a simplified version of the timeline, if it suits your design better. You ca
</div>
</li>
<li class="timeline-event">
<div class="timeline-event-icon"><!-- SVG icon from http://tabler.io/icons/icon/briefcase -->
<div class="timeline-event-icon">
<!-- SVG icon from http://tabler.io/icons/icon/briefcase -->
<svg>...</svg>
</div>
<div class="card timeline-event-card">
@@ -438,7 +606,8 @@ Use a simplified version of the timeline, if it suits your design better. You ca
</div>
</li>
<li class="timeline-event">
<div class="timeline-event-icon"><!-- SVG icon from http://tabler.io/icons/icon/check -->
<div class="timeline-event-icon">
<!-- SVG icon from http://tabler.io/icons/icon/check -->
<svg>...</svg>
</div>
<div class="card timeline-event-card">
@@ -450,7 +619,8 @@ Use a simplified version of the timeline, if it suits your design better. You ca
</div>
</li>
<li class="timeline-event">
<div class="timeline-event-icon bg-facebook-lt"><!-- SVG icon from http://tabler.io/icons/icon/brand-facebook -->
<div class="timeline-event-icon bg-facebook-lt">
<!-- SVG icon from http://tabler.io/icons/icon/brand-facebook -->
<svg>...</svg>
</div>
<div class="card timeline-event-card">
@@ -462,7 +632,8 @@ Use a simplified version of the timeline, if it suits your design better. You ca
</div>
</li>
<li class="timeline-event">
<div class="timeline-event-icon"><!-- SVG icon from http://tabler.io/icons/icon/user-plus -->
<div class="timeline-event-icon">
<!-- SVG icon from http://tabler.io/icons/icon/user-plus -->
<svg>...</svg>
</div>
<div class="card timeline-event-card">
@@ -473,9 +644,7 @@ Use a simplified version of the timeline, if it suits your design better. You ca
<span class="avatar" style="background-image: url(...)">
<span class="badge bg-success"></span>
</span>
<span class="avatar">
<span class="badge bg-success"></span>JL
</span>
<span class="avatar"> <span class="badge bg-success"></span>JL </span>
<span class="avatar" style="background-image: url(...)">
<span class="badge bg-success"></span>
</span>
@@ -484,7 +653,8 @@ Use a simplified version of the timeline, if it suits your design better. You ca
</div>
</li>
<li class="timeline-event">
<div class="timeline-event-icon"><!-- SVG icon from http://tabler.io/icons/icon/photo -->
<div class="timeline-event-icon">
<!-- SVG icon from http://tabler.io/icons/icon/photo -->
<svg>...</svg>
</div>
<div class="card timeline-event-card">
@@ -509,15 +679,17 @@ Use a simplified version of the timeline, if it suits your design better. You ca
</div>
</li>
<li class="timeline-event">
<div class="timeline-event-icon"><!-- SVG icon from http://tabler.io/icons/icon/settings -->
<div class="timeline-event-icon">
<!-- SVG icon from http://tabler.io/icons/icon/settings -->
<svg>...</svg>
</div>
<div class="card timeline-event-card">
<div class="card-body">
<div class="text-secondary float-end">2 weeks ago</div>
<h4>System updated to v2.02</h4>
<p class="text-secondary">Check the complete changelog at the <a href="#">activity
page</a>.</p>
<p class="text-secondary">
Check the complete changelog at the <a href="#">activity page</a>.
</p>
</div>
</div>
</li>

View File

@@ -17,28 +17,30 @@ Initialize TinyMCE 6 on any element (or elements) on the web page by passing an
</form>
<script src="$TABLER_CDN/dist/libs/tinymce/tinymce.min.js" defer></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
document.addEventListener("DOMContentLoaded", function () {
let options = {
selector: '#tinymce-default',
selector: "#tinymce-default",
height: 300,
menubar: false,
statusbar: false,
plugins: [
'advlist autolink lists link image charmap print preview anchor',
'searchreplace visualblocks code fullscreen',
'insertdatetime media table paste code help wordcount'
"advlist autolink lists link image charmap print preview anchor",
"searchreplace visualblocks code fullscreen",
"insertdatetime media table paste code help wordcount",
],
toolbar: 'undo redo | formatselect | ' +
'bold italic backcolor | alignleft aligncenter ' +
'alignright alignjustify | bullist numlist outdent indent | ' +
'removeformat',
content_style: 'body { font-family: -apple-system, BlinkMacSystemFont, San Francisco, Segoe UI, Roboto, Helvetica Neue, sans-serif; font-size: 14px; -webkit-font-smoothing: antialiased; }'
}
if (localStorage.getItem("tablerTheme") === 'dark') {
options.skin = 'oxide-dark';
options.content_css = 'dark';
toolbar:
"undo redo | formatselect | " +
"bold italic backcolor | alignleft aligncenter " +
"alignright alignjustify | bullist numlist outdent indent | " +
"removeformat",
content_style:
"body { font-family: -apple-system, BlinkMacSystemFont, San Francisco, Segoe UI, Roboto, Helvetica Neue, sans-serif; font-size: 14px; -webkit-font-smoothing: antialiased; }",
};
if (localStorage.getItem("tablerTheme") === "dark") {
options.skin = "oxide-dark";
options.content_css = "dark";
}
tinyMCE.init(options);
})
});
</script>
```

View File

@@ -10,16 +10,29 @@ description: Display lightweight alert notifications.
Use the default toast message to inform users of the outcome of their action and provide additional information. It contains an `x` close button to make it possible for users to close the toast if they wish.
```html example code
<div class="toast show" role="alert" aria-live="assertive" aria-atomic="true" data-bs-autohide="false" data-bs-toggle="toast">
<div
class="toast show"
role="alert"
aria-live="assertive"
aria-atomic="true"
data-bs-autohide="false"
data-bs-toggle="toast"
>
<div class="toast-header">
<span class="avatar avatar-xs me-2" style="background-image: url(/samples/avatars/018f.jpg)"></span>
<span
class="avatar avatar-xs me-2"
style="background-image: url(/samples/avatars/018f.jpg)"
></span>
<strong class="me-auto">Mallory Hulme</strong>
<small>11 mins ago</small>
<button type="button" class="ms-2 btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
</div>
<div class="toast-body">
Hello, world! This is a toast message.
<button
type="button"
class="ms-2 btn-close"
data-bs-dismiss="toast"
aria-label="Close"
></button>
</div>
<div class="toast-body">Hello, world! This is a toast message.</div>
</div>
```
@@ -28,16 +41,29 @@ Use the default toast message to inform users of the outcome of their action and
Toasts blend over the elements they appear over. If a browser supports the `backdrop-filter` CSS property, the elements under a toast will be blurred.
```html example code
<div class="toast show" role="alert" aria-live="assertive" aria-atomic="true" data-bs-autohide="false" data-bs-toggle="toast">
<div
class="toast show"
role="alert"
aria-live="assertive"
aria-atomic="true"
data-bs-autohide="false"
data-bs-toggle="toast"
>
<div class="toast-header">
<span class="avatar avatar-xs me-2" style="background-image: url(/samples/avatars/029m.jpg)"></span>
<span
class="avatar avatar-xs me-2"
style="background-image: url(/samples/avatars/029m.jpg)"
></span>
<strong class="me-auto">Mallory Hulme</strong>
<small>11 mins ago</small>
<button type="button" class="ms-2 btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
</div>
<div class="toast-body">
Hello, world! This is a toast message.
<button
type="button"
class="ms-2 btn-close"
data-bs-dismiss="toast"
aria-label="Close"
></button>
</div>
<div class="toast-body">Hello, world! This is a toast message.</div>
</div>
```
@@ -47,27 +73,53 @@ Stack multiple toasts together by putting them within one `.toast-container`.
```html example height="260px"
<div class="toast-container">
<div class="toast show" role="alert" aria-live="assertive" aria-atomic="true" data-bs-autohide="false" data-bs-toggle="toast">
<div
class="toast show"
role="alert"
aria-live="assertive"
aria-atomic="true"
data-bs-autohide="false"
data-bs-toggle="toast"
>
<div class="toast-header">
<span class="avatar avatar-xs me-2" style="background-image: url(/samples/avatars/008m.jpg)"></span>
<span
class="avatar avatar-xs me-2"
style="background-image: url(/samples/avatars/008m.jpg)"
></span>
<strong class="me-auto">Dunn Slane</strong>
<small>11 mins ago</small>
<button type="button" class="ms-2 btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
</div>
<div class="toast-body">
Hello, world! This is a toast message.
<button
type="button"
class="ms-2 btn-close"
data-bs-dismiss="toast"
aria-label="Close"
></button>
</div>
<div class="toast-body">Hello, world! This is a toast message.</div>
</div>
<div class="toast show" role="alert" aria-live="assertive" aria-atomic="true" data-bs-autohide="false" data-bs-toggle="toast">
<div
class="toast show"
role="alert"
aria-live="assertive"
aria-atomic="true"
data-bs-autohide="false"
data-bs-toggle="toast"
>
<div class="toast-header">
<span class="avatar avatar-xs me-2" style="background-image: url(/samples/avatars/020m.jpg)"></span>
<span
class="avatar avatar-xs me-2"
style="background-image: url(/samples/avatars/020m.jpg)"
></span>
<strong class="me-auto">Mallory Hulme</strong>
<small>7 mins ago</small>
<button type="button" class="ms-2 btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
</div>
<div class="toast-body">
This is another toast message.
<button
type="button"
class="ms-2 btn-close"
data-bs-dismiss="toast"
aria-label="Close"
></button>
</div>
<div class="toast-body">This is another toast message.</div>
</div>
</div>
```

View File

@@ -10,16 +10,40 @@ description: Guide users with informative tooltips.
Use the default markup to create tooltips that will help users understand particular elements of your interface. You can decide where the text label is to be displayed - at the top, bottom or on either side of the element.
```html example centered separated
<button type="button" class="btn" data-bs-toggle="tooltip" data-bs-placement="top" title="Tooltip on top">
<button
type="button"
class="btn"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Tooltip on top"
>
Tooltip on top
</button>
<button type="button" class="btn" data-bs-toggle="tooltip" data-bs-placement="right" title="Tooltip on right">
<button
type="button"
class="btn"
data-bs-toggle="tooltip"
data-bs-placement="right"
title="Tooltip on right"
>
Tooltip on right
</button>
<button type="button" class="btn" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Tooltip on bottom">
<button
type="button"
class="btn"
data-bs-toggle="tooltip"
data-bs-placement="bottom"
title="Tooltip on bottom"
>
Tooltip on bottom
</button>
<button type="button" class="btn" data-bs-toggle="tooltip" data-bs-placement="left" title="Tooltip on left">
<button
type="button"
class="btn"
data-bs-toggle="tooltip"
data-bs-placement="left"
title="Tooltip on left"
>
Tooltip on left
</button>
```
@@ -29,7 +53,13 @@ Use the default markup to create tooltips that will help users understand partic
If the default tooltip is not enough, you can add the option to use HTML code in the text to highlight particular bits of information and make the content more attractive.
```html example height="7rem"
<button type="button" class="btn" data-bs-toggle="tooltip" data-bs-html="true" title="<em>Tooltip</em> <u>with</u> <b>HTML</b>">
<button
type="button"
class="btn"
data-bs-toggle="tooltip"
data-bs-html="true"
title="<em>Tooltip</em> <u>with</u> <b>HTML</b>"
>
Tooltip with HTML
</button>
```

View File

@@ -1,6 +1,6 @@
---
title: Tracking
summary: Component for visualising activity logs or other monitoring-related data. With its ability to show data in a visually appealing and easily understandable way, the tracking component is an essential tool for any organization that relies on data monitoring and analysis to optimize performance and user experience.
summary: Component for visualizing activity logs or other monitoring-related data. With its ability to show data in a visually appealing and easily understandable way, the tracking component is an essential tool for any organization that relies on data monitoring and analysis to optimize performance and user experience.
description: Monitor data activity visually.
---
@@ -8,52 +8,217 @@ description: Monitor data activity visually.
```html example centered columns={1}
<div class="tracking">
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-danger" data-bs-toggle="tooltip" data-bs-placement="top" title="Downtime"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-warning" data-bs-toggle="tooltip" data-bs-placement="top" title="Big load"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-danger" data-bs-toggle="tooltip" data-bs-placement="top" title="Downtime"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block" data-bs-toggle="tooltip" data-bs-placement="top" title="No data"></div>
<div class="tracking-block" data-bs-toggle="tooltip" data-bs-placement="top" title="No data"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-danger"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Downtime"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-warning"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Big load"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-danger"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Downtime"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="No data"
></div>
<div
class="tracking-block"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="No data"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
</div>
```
```html
<div class="tracking">
...
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block" data-bs-toggle="tooltip" data-bs-placement="top" title="No data"></div>
<div class="tracking-block bg-failed" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="No data"
></div>
<div
class="tracking-block bg-failed"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
...
</div>
```
## Tracking inside a card
You can add a tracking component inside the cards to give your reports a fresh look and visualise the status of your system in an attractive way. If you want to read how to add other elements to card it is worth reading [documentation of card](/docs/components/cards).
You can add a tracking component inside the cards to give your reports a fresh look and visualize the status of your system in an attractive way. If you want to read how to add other elements to a card it is worth reading [documentation of card](/docs/components/cards).
```html example centered columns={1}
<div class="card">
@@ -62,7 +227,14 @@ You can add a tracking component inside the cards to give your reports a fresh l
<div class="subheader">Status monitoring</div>
<div class="ms-auto lh-1">
<div class="dropdown">
<a class="dropdown-toggle text-secondary" href="#" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Current month</a>
<a
class="dropdown-toggle text-secondary"
href="#"
data-bs-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false"
>Current month</a
>
<div class="dropdown-menu dropdown-menu-end">
<a class="dropdown-item active" href="#">Current month</a>
<a class="dropdown-item" href="#">Last month</a>
@@ -76,7 +248,18 @@ You can add a tracking component inside the cards to give your reports a fresh l
<div class="me-auto">
<span class="text-green d-inline-flex align-items-center lh-1">
2%
<svg xmlns="http://www.w3.org/2000/svg" class="icon ms-1" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon ms-1"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<polyline points="3 17 9 11 13 15 21 7" />
<polyline points="14 7 21 7 21 14" />
@@ -86,36 +269,186 @@ You can add a tracking component inside the cards to give your reports a fresh l
</div>
<div class="mt-2">
<div class="tracking">
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-danger" data-bs-toggle="tooltip" data-bs-placement="top" title="Downtime"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-warning" data-bs-toggle="tooltip" data-bs-placement="top" title="Big load"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-danger" data-bs-toggle="tooltip" data-bs-placement="top" title="Downtime"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block" data-bs-toggle="tooltip" data-bs-placement="top" title="No data"></div>
<div class="tracking-block" data-bs-toggle="tooltip" data-bs-placement="top" title="No data"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-danger"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Downtime"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-warning"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Big load"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-danger"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Downtime"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="No data"
></div>
<div
class="tracking-block"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="No data"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
</div>
</div>
</div>
@@ -129,7 +462,14 @@ You can add a tracking component inside the cards to give your reports a fresh l
<div class="subheader">Status monitoring</div>
<div class="ms-auto lh-1">
<div class="dropdown">
<a class="dropdown-toggle text-secondary" href="#" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Current month</a>
<a
class="dropdown-toggle text-secondary"
href="#"
data-bs-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false"
>Current month</a
>
<div class="dropdown-menu dropdown-menu-end">
<a class="dropdown-item active" href="#">Current month</a>
<a class="dropdown-item" href="#">Last month</a>
@@ -143,7 +483,18 @@ You can add a tracking component inside the cards to give your reports a fresh l
<div class="me-auto">
<span class="text-green d-inline-flex align-items-center lh-1">
2%
<svg xmlns="http://www.w3.org/2000/svg" class="icon ms-1" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon ms-1"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<polyline points="3 17 9 11 13 15 21 7" />
<polyline points="14 7 21 7 21 14" />
@@ -153,12 +504,42 @@ You can add a tracking component inside the cards to give your reports a fresh l
</div>
<div class="mt-2">
<div class="tracking">
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-danger" data-bs-toggle="tooltip" data-bs-placement="top" title="Downtime"></div>
<div class="tracking-block bg-success" data-bs-toggle="tooltip" data-bs-placement="top" title="Operational"></div>
<div class="tracking-block bg-warning" data-bs-toggle="tooltip" data-bs-placement="top" title="Big load"></div>
<div class="tracking-block" data-bs-toggle="tooltip" data-bs-placement="top" title="No data"></div>
<div class="tracking-block" data-bs-toggle="tooltip" data-bs-placement="top" title="No data"></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-danger"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Downtime"
></div>
<div
class="tracking-block bg-success"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Operational"
></div>
<div
class="tracking-block bg-warning"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Big load"
></div>
<div
class="tracking-block"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="No data"
></div>
<div
class="tracking-block"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="No data"
></div>
...
</div>
</div>

View File

@@ -20,12 +20,12 @@ Integrating the vector map into your website is straightforward. Below is a samp
```html
<div id="map-world" class="w-100 h-100"></div>
<script>
document.addEventListener("DOMContentLoaded", function() {
const map = new jsVectorMap({
selector: '#map-world',
map: 'world',
});
});
document.addEventListener("DOMContentLoaded", function () {
const map = new jsVectorMap({
selector: "#map-world",
map: "world",
});
});
</script>
```
@@ -41,27 +41,26 @@ Look at the example below to see how the vector map works with a world map.
</div>
</div>
</div>
<script>
document.addEventListener("DOMContentLoaded", function() {
const map = new jsVectorMap({
selector: '#map-world',
map: 'world',
backgroundColor: 'transparent',
regionStyle: {
initial: {
fill: tabler.getColor('body-bg'),
stroke: tabler.getColor('border-color'),
strokeWidth: 2,
}
},
zoomOnScroll: false,
zoomButtons: false,
});
window.addEventListener("resize", () => {
map.updateSize();
});
});
document.addEventListener("DOMContentLoaded", function () {
const map = new jsVectorMap({
selector: "#map-world",
map: "world",
backgroundColor: "transparent",
regionStyle: {
initial: {
fill: tabler.getColor("body-bg"),
stroke: tabler.getColor("border-color"),
strokeWidth: 2,
},
},
zoomOnScroll: false,
zoomButtons: false,
});
window.addEventListener("resize", () => {
map.updateSize();
});
});
</script>
```
@@ -79,90 +78,89 @@ You can add markers to the map to highlight specific locations. Below is a sampl
</div>
</div>
</div>
<script>
document.addEventListener("DOMContentLoaded", function() {
const map = new jsVectorMap({
selector: '#map-world-markers',
map: 'world_merc',
backgroundColor: 'transparent',
regionStyle: {
initial: {
fill: tabler.getColor('body-bg'),
stroke: tabler.getColor('border-color'),
strokeWidth: 2,
}
},
zoomOnScroll: false,
zoomButtons: false,
markers: [
{
coords: [61.524, 105.3188],
name: "Russia",
},
{
coords: [56.1304, -106.3468],
name: "Canada",
},
{
coords: [71.7069, -42.6043],
name: "Greenland",
},
{
coords: [26.8206, 30.8025],
name: "Egypt",
},
{
coords: [-14.235, -51.9253],
name: "Brazil",
},
{
coords: [35.8617, 104.1954],
name: "China",
},
{
coords: [37.0902, -95.7129],
name: "United States",
},
{
coords: [60.472024, 8.468946],
name: "Norway",
},
{
coords: [48.379433, 31.16558],
name: "Ukraine",
},
],
markerStyle: {
initial: {
r: 4,
stroke: '#fff',
opacity: 1,
strokeWidth: 3,
stokeOpacity: .5,
fill: tabler.getColor('blue')
},
hover: {
fill: tabler.getColor('blue'),
stroke: tabler.getColor('blue')
}
},
markerLabelStyle: {
initial: {
fontSize: 10
},
},
labels: {
markers: {
render: function(marker) {
return marker.name
},
},
},
});
window.addEventListener("resize", () => {
map.updateSize();
});
});
document.addEventListener("DOMContentLoaded", function () {
const map = new jsVectorMap({
selector: "#map-world-markers",
map: "world_merc",
backgroundColor: "transparent",
regionStyle: {
initial: {
fill: tabler.getColor("body-bg"),
stroke: tabler.getColor("border-color"),
strokeWidth: 2,
},
},
zoomOnScroll: false,
zoomButtons: false,
markers: [
{
coords: [61.524, 105.3188],
name: "Russia",
},
{
coords: [56.1304, -106.3468],
name: "Canada",
},
{
coords: [71.7069, -42.6043],
name: "Greenland",
},
{
coords: [26.8206, 30.8025],
name: "Egypt",
},
{
coords: [-14.235, -51.9253],
name: "Brazil",
},
{
coords: [35.8617, 104.1954],
name: "China",
},
{
coords: [37.0902, -95.7129],
name: "United States",
},
{
coords: [60.472024, 8.468946],
name: "Norway",
},
{
coords: [48.379433, 31.16558],
name: "Ukraine",
},
],
markerStyle: {
initial: {
r: 4,
stroke: "#fff",
opacity: 1,
strokeWidth: 3,
stokeOpacity: 0.5,
fill: tabler.getColor("blue"),
},
hover: {
fill: tabler.getColor("blue"),
stroke: tabler.getColor("blue"),
},
},
markerLabelStyle: {
initial: {
fontSize: 10,
},
},
labels: {
markers: {
render: function (marker) {
return marker.name;
},
},
},
});
window.addEventListener("resize", () => {
map.updateSize();
});
});
</script>
```

View File

@@ -110,7 +110,13 @@ If you need to select only one color, you can use the radio input type:
</div>
<div class="col-auto">
<label class="form-colorinput form-colorinput-light">
<input name="color-rounded" type="radio" value="white" class="form-colorinput-input" checked />
<input
name="color-rounded"
type="radio"
value="white"
class="form-colorinput-input"
checked
/>
<span class="form-colorinput-color bg-white rounded-circle"></span>
</label>
</div>
@@ -187,10 +193,15 @@ If you need to select only one color, you can use the radio input type:
## Input color picker
Add an color picker to your form to let users customise it according to their preferences.
Add an color picker to your form to let users customize it according to their preferences.
```html
<input type="color" class="form-control form-control-color" value="#066fd1" title="Choose your color">
<input
type="color"
class="form-control form-control-color"
value="#066fd1"
title="Choose your color"
/>
```
There is also an example of a color picker input:
@@ -198,7 +209,12 @@ There is also an example of a color picker input:
```html example centered
<div class="mb-3">
<label class="form-label">Color picker</label>
<input type="color" class="form-control form-control-color" value="#066fd1" title="Choose your color">
<input
type="color"
class="form-control form-control-color"
value="#066fd1"
title="Choose your color"
/>
</div>
```

View File

@@ -20,19 +20,41 @@ All variants of the input control are available in the examples below:
```html example columns={1} height="25rem"
<div class="mb-3">
<label class="form-label">Text</label>
<input type="text" class="form-control" name="example-text-input" placeholder="Input placeholder" />
<input
type="text"
class="form-control"
name="example-text-input"
placeholder="Input placeholder"
/>
</div>
<div class="mb-3">
<label class="form-label">Password</label>
<input type="password" class="form-control" name="example-password-input" placeholder="Input placeholder" />
<input
type="password"
class="form-control"
name="example-password-input"
placeholder="Input placeholder"
/>
</div>
<div class="mb-3">
<label class="form-label">Disabled</label>
<input type="text" class="form-control" name="example-password-input" placeholder="Input placeholder" disabled />
<input
type="text"
class="form-control"
name="example-password-input"
placeholder="Input placeholder"
disabled
/>
</div>
<div class="mb-3">
<label class="form-label">Readonly</label>
<input type="text" class="form-control" name="example-password-input" value="Readolny value" readonly />
<input
type="text"
class="form-control"
name="example-password-input"
value="Readolny value"
readonly
/>
</div>
```
@@ -43,11 +65,27 @@ Use the `form-control-rounded` class if you prefer form controls with rounded co
```html example centered columns={1} height="20rem"
<div class="mb-3">
<label class="form-label">Form control rounded</label>
<input type="text" class="form-control form-control-rounded mb-2" name="Form control rounded" placeholder="Text.." />
<input
type="text"
class="form-control form-control-rounded mb-2"
name="Form control rounded"
placeholder="Text.."
/>
<div class="input-icon">
<input type="text" value="" class="form-control form-control-rounded" placeholder="Search…" />
<span class="input-icon-addon">
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<circle cx="10" cy="10" r="7" />
<line x1="21" y1="21" x2="15" y2="15" />
@@ -60,7 +98,12 @@ Use the `form-control-rounded` class if you prefer form controls with rounded co
```html
<div class="mb-3">
<label class="form-label">Form control rounded</label>
<input type="text" class="form-control form-control-rounded mb-2" name="Form control rounded" placeholder="Text.." />
<input
type="text"
class="form-control form-control-rounded mb-2"
name="Form control rounded"
placeholder="Text.."
/>
<div class="input-icon">
<input type="text" value="" class="form-control form-control-rounded" placeholder="Search…" />
<span class="input-icon-addon">
@@ -78,7 +121,12 @@ You can remove borders from your form control by adding the `form-control-flush`
```html example centered columns={1} height="20rem"
<div class="mb-3">
<label class="form-label">Form control flush</label>
<input type="text" class="form-control form-control-flush" name="Form control flush" placeholder="Text.." />
<input
type="text"
class="form-control form-control-flush"
name="Form control flush"
placeholder="Text.."
/>
</div>
```
@@ -92,7 +140,18 @@ Add icons to your input controls to suggest users what they should enter or info
<div class="input-icon mb-3">
<input type="text" value="" class="form-control" placeholder="Search…" />
<span class="input-icon-addon">
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<circle cx="10" cy="10" r="7" />
<line x1="21" y1="21" x2="15" y2="15" />
@@ -101,7 +160,18 @@ Add icons to your input controls to suggest users what they should enter or info
</div>
<div class="input-icon mb-3">
<span class="input-icon-addon">
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<circle cx="12" cy="7" r="4" />
<path d="M6 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2" />
@@ -129,7 +199,7 @@ Add icons to your input controls to suggest users what they should enter or info
## Separated inputs
Include an additional element in your input section, such as a button which can be used to submit the information enetered in the input control.
Include an additional element in your input section, such as a button which can be used to submit the information entered in the input control.
```html example centered columns={1} height="20rem"
<div class="mb-3">
@@ -140,7 +210,18 @@ Include an additional element in your input section, such as a button which can
</div>
<div class="col-auto">
<a href="#" class="btn btn-icon" aria-label="Button">
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<circle cx="10" cy="10" r="7" />
<line x1="21" y1="21" x2="15" y2="15" />
@@ -160,7 +241,11 @@ Add one of the available selects - either a dropdown or a multiple choice select
```html example centered columns={1} height="30rem"
<div class="mb-3">
<label class="form-label">Textarea</label>
<textarea class="form-control" name="example-textarea" placeholder="Textarea placeholder"></textarea>
<textarea
class="form-control"
name="example-textarea"
placeholder="Textarea placeholder"
></textarea>
</div>
<div class="mb-3">
<div class="form-label">Select</div>
@@ -182,7 +267,7 @@ Add one of the available selects - either a dropdown or a multiple choice select
## Input size
Choose the size of an input control that will go well with your form design. Apart from the default size, you can also use small and large input controls.
Choose the size of an input control that will go well with your form design. Besides the default size, you can also use small and large input controls.
```html example centered columns={1} height="20rem"
<div class="mb-3">
@@ -295,7 +380,7 @@ Use radio buttons for the parts of your form which require users to choose one o
## Checkboxes
Use checkoxes if you want to allow users to select more than one option from a set of predefined options or to turn an option on or off.
Use checkboxes if you want to allow users to select more than one option from a set of predefined options or to turn an option on or off.
```html example centered columns={1} height="20rem"
<div class="mb-3">
@@ -347,16 +432,17 @@ Add a range slider to make it possible for users to set a value or range, such a
<div class="form-range mb-2 text-green" id="range-color"></div>
</div>
<script>
document.addEventListener("DOMContentLoaded", function() {
window.noUiSlider && (noUiSlider.create(document.getElementById('range-color'), {
start: 40,
connect: [true, false],
step: 10,
range: {
min: 0,
max: 100
}
}));
document.addEventListener("DOMContentLoaded", function () {
window.noUiSlider &&
noUiSlider.create(document.getElementById("range-color"), {
start: 40,
connect: [true, false],
step: 10,
range: {
min: 0,
max: 100,
},
});
});
</script>
```
@@ -369,25 +455,17 @@ Create a group of input controls and place add-ons on either side of an input.
<div class="mb-3">
<label class="form-label">Input group</label>
<div class="input-group mb-2">
<span class="input-group-text">
@
</span>
<span class="input-group-text"> @ </span>
<input type="text" class="form-control" placeholder="username" autocomplete="off" />
</div>
<div class="input-group mb-2">
<input type="text" class="form-control" placeholder="subdomain" autocomplete="off" />
<span class="input-group-text">
.tabler.io
</span>
<span class="input-group-text"> .tabler.io </span>
</div>
<div class="input-group">
<span class="input-group-text">
https://
</span>
<span class="input-group-text"> https:// </span>
<input type="text" class="form-control" placeholder="subdomain" autocomplete="off" />
<span class="input-group-text">
.tabler.io
</span>
<span class="input-group-text"> .tabler.io </span>
</div>
</div>
```
@@ -422,16 +500,17 @@ Add text to your input control, either before or after the text which is to be e
<div class="mb-3">
<label class="form-label">Input with prepended text</label>
<div class="input-group input-group-flat mb-2">
<span class="input-group-text">
https://tabler.io/users/
</span>
<span class="input-group-text"> https://tabler.io/users/ </span>
<input type="text" class="form-control ps-0" value="yourfancyusername" autocomplete="off" />
</div>
<div class="input-group input-group-flat">
<input type="text" class="form-control text-end pe-0" value="yourfancydomain" autocomplete="off" />
<span class="input-group-text">
.tabler.io
</span>
<input
type="text"
class="form-control text-end pe-0"
value="yourfancydomain"
autocomplete="off"
/>
<span class="input-group-text"> .tabler.io </span>
</div>
</div>
```
@@ -454,7 +533,7 @@ Include a link in your input control to add a clickable element within the contr
## Input with appended `<kbd>`
Include a `<kbd>` in your input control to add shortcut to the control.
Include a `<kbd>` in your input control to add a shortcut hint to the control.
```html example centered columns={1}
<div class="mb-3">
@@ -479,14 +558,36 @@ Add an icon link which you want to display at the end of your input control to v
<input type="text" class="form-control" autocomplete="off" />
<span class="input-group-text">
<a href="#" class="link-secondary" title="Clear search" data-bs-toggle="tooltip">
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<line x1="18" y1="6" x2="6" y2="18" />
<line x1="6" y1="6" x2="18" y2="18" />
</svg>
</a>
<a href="#" class="link-secondary ms-2" title="Search settings" data-bs-toggle="tooltip">
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<circle cx="6" cy="10" r="2" />
<line x1="6" y1="4" x2="6" y2="8" />
@@ -499,10 +600,28 @@ Add an icon link which you want to display at the end of your input control to v
<line x1="18" y1="9" x2="18" y2="20" />
</svg>
</a>
<a href="#" class="link-secondary ms-2 disabled" title="Add notification" data-bs-toggle="tooltip">
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<a
href="#"
class="link-secondary ms-2 disabled"
title="Add notification"
data-bs-toggle="tooltip"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon"
width="24"
height="24"
viewBox="0 0 24 24"
stroke-width="2"
stroke="currentColor"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"
>
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M10 5a2 2 0 0 1 4 0a7 7 0 0 1 4 6v3a4 4 0 0 0 2 3h-16a4 4 0 0 0 2 -3v-3a7 7 0 0 1 4 -6" />
<path
d="M10 5a2 2 0 0 1 4 0a7 7 0 0 1 4 6v3a4 4 0 0 0 2 3h-16a4 4 0 0 0 2 -3v-3a7 7 0 0 1 4 -6"
/>
<path d="M9 17v1a3 3 0 0 0 6 0v-1" />
</svg>
</a>

View File

@@ -9,7 +9,14 @@ description: Provide additional guidance in forms.
Use an input helper to display additional information about a form element. The text label will appear once a user hovers over the helper. To add an input helper, use the `.form-help` class.
```html
<span class="form-help" data-bs-toggle="popover" data-bs-placement="top" data-bs-html="true" data-bs-content="<p>...</p>">?</span>
<span
class="form-help"
data-bs-toggle="popover"
data-bs-placement="top"
data-bs-html="true"
data-bs-content="<p>...</p>"
>?</span
>
```
Look at the example below to see how the input help works:
@@ -18,9 +25,16 @@ Look at the example below to see how the input help works:
<div>
<label class="form-label">
ZIP Code
<span class="form-help" data-bs-toggle="popover" data-bs-placement="top" data-bs-html="true" data-bs-content="<p>ZIP Code must be US or CDN format. You can use an extended ZIP+4 code to determine address more accurately.</p><p class='mb-0'><a href=''>USP ZIP codes lookup tools</a></p>">?</span>
<span
class="form-help"
data-bs-toggle="popover"
data-bs-placement="top"
data-bs-html="true"
data-bs-content="<p>ZIP Code must be US or CDN format. You can use an extended ZIP+4 code to determine address more accurately.</p><p class='mb-0'><a href=''>USP ZIP codes lookup tools</a></p>"
>?</span
>
</label>
<input type="text" class="form-control" placeholder="Your ZIP Code">
<input type="text" class="form-control" placeholder="Your ZIP Code" />
</div>
```
@@ -37,7 +51,7 @@ Look at the example below to see how the required field works:
```html example centered columns={1}
<div>
<label class="form-label required">Required</label>
<input type="text" class="form-control" name="..." placeholder="Required...">
<input type="text" class="form-control" name="..." placeholder="Required..." />
</div>
```
@@ -54,7 +68,7 @@ Look at the example below to see how the form hint works:
```html example centered columns={1}
<div>
<label class="form-label">Email address</label>
<input type="email" class="form-control" placeholder="Enter your email address">
<input type="email" class="form-control" placeholder="Enter your email address" />
<div class="form-hint">We'll never share your email with anyone else.</div>
</div>
```
@@ -64,16 +78,14 @@ Look at the example below to see how the form hint works:
Use the `.form-label-description` class to add additional information to the label. The text will appear next to the label. You can use it to add for example a character counter.
```html
<label class="form-label">Textarea <span class="form-label-description">56/100</span>
</label>
<label class="form-label">Textarea <span class="form-label-description">56/100</span> </label>
```
This example shows how to use the additional info inside the label:
```html example centered columns={1} height="15rem"
<div>
<label class="form-label">Textarea <span class="form-label-description">56/100</span>
</label>
<label class="form-label">Textarea <span class="form-label-description">56/100</span> </label>
<textarea class="form-control" name="" rows="3" placeholder="Content.."></textarea>
</div>
```

View File

@@ -6,7 +6,7 @@ description: Add visual appeal to forms with images.
## Default markup
To build an image check, you need to use the `.form-imagecheck` class and the `.form-imagecheck-input` class for the input element. You can also use the `.form-imagecheck-figure` class to style the image and the `.form-imagecheck-image` class to style the image itself.
To build an image check, you need to use the `.form-imagecheck` class and the `.form-imagecheck-input` class for the input element. You can also use the `.form-imagecheck-figure` class to display the custom checkbox and the `.form-imagecheck-image` class to style the image itself.
```html
<label class="form-imagecheck">
@@ -27,7 +27,11 @@ Look at the examples below to see how the image check works:
<label class="form-imagecheck">
<input name="image" type="checkbox" value="1" class="form-imagecheck-input" />
<span class="form-imagecheck-figure">
<img src="/samples/photos/everything-you-need-to-work-from-your-bed-2.jpg" alt="" class="form-imagecheck-image" />
<img
src="/samples/photos/everything-you-need-to-work-from-your-bed-2.jpg"
alt=""
class="form-imagecheck-image"
/>
</span>
</label>
</div>
@@ -35,7 +39,11 @@ Look at the examples below to see how the image check works:
<label class="form-imagecheck">
<input name="image" type="checkbox" value="2" class="form-imagecheck-input" checked />
<span class="form-imagecheck-figure">
<img src="/samples/photos/color-palette-guide-sample-colors-catalog-.jpg" alt="" class="form-imagecheck-image" />
<img
src="/samples/photos/color-palette-guide-sample-colors-catalog-.jpg"
alt=""
class="form-imagecheck-image"
/>
</span>
</label>
</div>
@@ -43,7 +51,11 @@ Look at the examples below to see how the image check works:
<label class="form-imagecheck">
<input name="image" type="checkbox" value="3" class="form-imagecheck-input" />
<span class="form-imagecheck-figure">
<img src="/samples/photos/woman-read-book-and-drink-coffee-2.jpg" alt="" class="form-imagecheck-image" />
<img
src="/samples/photos/woman-read-book-and-drink-coffee-2.jpg"
alt=""
class="form-imagecheck-image"
/>
</span>
</label>
</div>
@@ -51,7 +63,11 @@ Look at the examples below to see how the image check works:
<label class="form-imagecheck">
<input name="image" type="checkbox" value="4" class="form-imagecheck-input" checked />
<span class="form-imagecheck-figure">
<img src="/samples/photos/stylish-workspace-with-macbook-pro-2.jpg" alt="" class="form-imagecheck-image" />
<img
src="/samples/photos/stylish-workspace-with-macbook-pro-2.jpg"
alt=""
class="form-imagecheck-image"
/>
</span>
</label>
</div>
@@ -71,7 +87,11 @@ If you want to use the image check as a radio button, you can change the input t
<label class="form-imagecheck mb-2">
<input name="image" type="radio" value="1" class="form-imagecheck-input" />
<span class="form-imagecheck-figure">
<img src="/samples/photos/woman-drinking-hot-tea-in-her-home-office.jpg" alt="" class="form-imagecheck-image" />
<img
src="/samples/photos/woman-drinking-hot-tea-in-her-home-office.jpg"
alt=""
class="form-imagecheck-image"
/>
</span>
</label>
</div>
@@ -79,7 +99,11 @@ If you want to use the image check as a radio button, you can change the input t
<label class="form-imagecheck mb-2">
<input name="image" type="radio" value="2" class="form-imagecheck-input" checked />
<span class="form-imagecheck-figure">
<img src="/samples/photos/young-woman-sitting-on-the-sofa-and-working-on-her-laptop-3.jpg" alt="" class="form-imagecheck-image" />
<img
src="/samples/photos/young-woman-sitting-on-the-sofa-and-working-on-her-laptop-3.jpg"
alt=""
class="form-imagecheck-image"
/>
</span>
</label>
</div>
@@ -87,7 +111,11 @@ If you want to use the image check as a radio button, you can change the input t
<label class="form-imagecheck mb-2">
<input name="image" type="radio" value="3" class="form-imagecheck-input" />
<span class="form-imagecheck-figure">
<img src="/samples/photos/beautiful-blonde-woman-relaxing-with-a-can-of-coke-on-a-tree-stump-by-the-beach.jpg" alt="" class="form-imagecheck-image" />
<img
src="/samples/photos/beautiful-blonde-woman-relaxing-with-a-can-of-coke-on-a-tree-stump-by-the-beach.jpg"
alt=""
class="form-imagecheck-image"
/>
</span>
</label>
</div>
@@ -114,7 +142,7 @@ If you want to use the image check as a radio button, you can change the input t
## Avatars
If you want to use the image check with avatars, you can use the `.avatar` instead of the image.
If you want to use the image check with avatars, you can use an [avatar component](/docs/ui/components/avatars) instead of an image.
```html example centered columns={2} height="15rem"
<div class="mb-3">
@@ -125,7 +153,10 @@ If you want to use the image check with avatars, you can use the `.avatar` inste
<input name="image" type="checkbox" value="1" class="form-imagecheck-input" />
<span class="form-imagecheck-figure">
<span class="form-imagecheck-image">
<span class="avatar avatar-xl" style="background-image: url(/samples/avatars/057f.jpg)"></span>
<span
class="avatar avatar-xl"
style="background-image: url(/samples/avatars/057f.jpg)"
></span>
</span>
</span>
</label>
@@ -145,7 +176,10 @@ If you want to use the image check with avatars, you can use the `.avatar` inste
<input name="image" type="checkbox" value="3" class="form-imagecheck-input" />
<span class="form-imagecheck-figure">
<span class="form-imagecheck-image">
<span class="avatar avatar-xl" style="background-image: url(/samples/avatars/062m.jpg)"></span>
<span
class="avatar avatar-xl"
style="background-image: url(/samples/avatars/062m.jpg)"
></span>
</span>
</span>
</label>
@@ -155,7 +189,10 @@ If you want to use the image check with avatars, you can use the `.avatar` inste
<input name="image" type="checkbox" value="4" class="form-imagecheck-input" checked />
<span class="form-imagecheck-figure">
<span class="form-imagecheck-image">
<span class="avatar avatar-xl" style="background-image: url(/samples/avatars/070m.jpg)"></span>
<span
class="avatar avatar-xl"
style="background-image: url(/samples/avatars/070m.jpg)"
></span>
</span>
</span>
</label>

View File

@@ -1,6 +1,6 @@
---
title: Input mask
summary: An input mask is a used to clarify the input format required in a given field and is helpful for users, removing confusion and reducing the number of validation errors.
summary: An input mask is used to clarify the input format required in a given field and is helpful for users, removing confusion and reducing the number of validation errors.
description: Clarify input formats for users.
---
@@ -31,16 +31,31 @@ Use an input mask in the fields where users have to enter their phone number, to
To create an input mask, add the `data-mask` attribute to the input element:
```html
<input type="text" name="input-mask" class="form-control" data-mask="(00) 0000-0000" placeholder="(00) 0000-0000" autocomplete="off" />
<input
type="text"
name="input-mask"
class="form-control"
data-mask="(00) 0000-0000"
placeholder="(00) 0000-0000"
autocomplete="off"
/>
```
Look at the example below to see how the input mask works:
```html example centered columns={1}
<label class="form-label">Telephone mask</label>
<input type="text" name="input-mask" class="form-control" data-mask="(00) 0000-0000" data-mask-visible="true" placeholder="(00) 0000-0000" autocomplete="off" />
<input
type="text"
name="input-mask"
class="form-control"
data-mask="(00) 0000-0000"
data-mask-visible="true"
placeholder="(00) 0000-0000"
autocomplete="off"
/>
```
## More examples
If you need more examples of input masks, you can find them in the [IMask documentation](https://imask.js.org/guide.html#masked-input).
If you need more examples of input masks, you can find them in the [IMask documentation](https://imask.js.org/guide.html#masked-input).

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